diff options
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; + } }; } |