summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas <>2025-01-27 15:53:24 +0100
committerThomas <>2025-01-27 15:53:24 +0100
commitd779aeaf9ab0f00329f1fcd500a4c0181da4cbdf (patch)
tree8c479084bd3fb660f9efa6471c38b6cc94bac639
parent1b8c8110906e24ec01f4d0b56e6dc2e5b871c851 (diff)
downloadEAAF-Components-d779aeaf9ab0f00329f1fcd500a4c0181da4cbdf.tar.gz
EAAF-Components-d779aeaf9ab0f00329f1fcd500a4c0181da4cbdf.tar.bz2
EAAF-Components-d779aeaf9ab0f00329f1fcd500a4c0181da4cbdf.zip
feat(gui): add HTTP status-code parameter to GUI configuration model
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java8
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/utils/MvcGuiRenderUtils.java1
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java11
-rw-r--r--eaaf_modules/eaaf_module_pvp2_core/src/test/java/at/gv/egiz/eaaf/modules/pvp2/test/binding/PostBindingTest.java5
4 files changed, 24 insertions, 1 deletions
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java
index f8e64c1a..2ad3f55c 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java
@@ -27,10 +27,12 @@ import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
import at.gv.egiz.eaaf.core.api.gui.GroupDefinition;
import at.gv.egiz.eaaf.core.api.gui.GroupDefinition.Type;
import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfiguration;
+import lombok.Getter;
import lombok.Setter;
/**
@@ -66,7 +68,11 @@ public abstract class AbstractGuiFormBuilderConfiguration implements IGuiBuilder
private String formSubmitEndpoint = null;
@Setter
- private boolean writeAsynch = true;
+ private boolean writeAsynch = true;
+
+ @Getter
+ @Setter
+ private int httpStatusCode = HttpStatus.OK.value();
private final Map<String, Object> params = new HashMap<>();
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/utils/MvcGuiRenderUtils.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/utils/MvcGuiRenderUtils.java
index 75c7a42b..9f1fc169 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/utils/MvcGuiRenderUtils.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/utils/MvcGuiRenderUtils.java
@@ -37,6 +37,7 @@ public class MvcGuiRenderUtils {
@NonNull
public static ModelAndView prepareSpringGuiModel(@NonNull final IGuiBuilderConfiguration config) {
final ModelAndView mav = new ModelAndView(config.getViewName());
+ mav.setStatus(HttpStatusCode.valueOf(config.getHttpStatusCode()));
if (config.getViewParameters() != null) {
mav.addAllObjects(config.getViewParameters());
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java
index 28e0278c..dd977fe7 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java
@@ -63,4 +63,15 @@ public interface IGuiBuilderConfiguration {
boolean isWriteAsynch();
+ /**
+ * HTTP status-code that should be used for this response.
+ *
+ * <p>
+ * <b>Default:</b> <code>200</code>
+ * </p>
+ *
+ * @return HTTP StatusCode
+ */
+ int getHttpStatusCode();
+
}
diff --git a/eaaf_modules/eaaf_module_pvp2_core/src/test/java/at/gv/egiz/eaaf/modules/pvp2/test/binding/PostBindingTest.java b/eaaf_modules/eaaf_module_pvp2_core/src/test/java/at/gv/egiz/eaaf/modules/pvp2/test/binding/PostBindingTest.java
index f568df20..d7404bde 100644
--- a/eaaf_modules/eaaf_module_pvp2_core/src/test/java/at/gv/egiz/eaaf/modules/pvp2/test/binding/PostBindingTest.java
+++ b/eaaf_modules/eaaf_module_pvp2_core/src/test/java/at/gv/egiz/eaaf/modules/pvp2/test/binding/PostBindingTest.java
@@ -705,6 +705,11 @@ public class PostBindingTest {
public boolean isWriteAsynch() {
return false;
}
+
+ @Override
+ public int getHttpStatusCode() {
+ return 200;
+ }
};
}