Repository: incubator-juneau Updated Branches: refs/heads/master 58a40e676 -> 300240033
Add form post example to SystemPropertiesResource Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/30024003 Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/30024003 Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/30024003 Branch: refs/heads/master Commit: 300240033f7860ab488317a62bf1dc6cf9f72b1b Parents: 58a40e6 Author: JamesBognar <[email protected]> Authored: Sat Feb 25 12:03:04 2017 -0500 Committer: JamesBognar <[email protected]> Committed: Sat Feb 25 12:03:04 2017 -0500 ---------------------------------------------------------------------- .../examples/rest/SystemPropertiesResource.java | 33 ++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30024003/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java ---------------------------------------------------------------------- diff --git a/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java b/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java index 93748c9..2703f92 100644 --- a/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java +++ b/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java @@ -13,14 +13,18 @@ package org.apache.juneau.examples.rest; import static org.apache.juneau.html.HtmlDocSerializerContext.*; +import static org.apache.juneau.dto.html5.HtmlBuilder.*; import java.util.*; +import java.util.Map; +import org.apache.juneau.dto.html5.*; import org.apache.juneau.dto.swagger.*; import org.apache.juneau.encoders.*; import org.apache.juneau.microservice.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; +import org.apache.juneau.rest.annotation.Body; @RestResource( path="/systemProperties", @@ -28,7 +32,7 @@ import org.apache.juneau.rest.annotation.*; description="REST interface for performing CRUD operations on system properties.", properties={ @Property(name=SERIALIZER_quoteChar, value="'"), - @Property(name=HTMLDOC_links, value="{up:'$R{requestParentURI}',options:'$R{servletURI}?method=OPTIONS',source:'$C{Source/gitHub}/org/apache/juneau/examples/rest/SystemPropertiesResource.java'}"), + @Property(name=HTMLDOC_links, value="{up:'$R{requestParentURI}',options:'$R{servletURI}?method=OPTIONS',form:'formPage',source:'$C{Source/gitHub}/org/apache/juneau/examples/rest/SystemPropertiesResource.java'}"), }, stylesheet="styles/devops.css", encoders=GzipEncoder.class, @@ -74,7 +78,7 @@ public class SystemPropertiesResource extends Resource { public String getSystemProperty(@Path String propertyName) throws Throwable { return System.getProperty(propertyName); } - + @RestMethod( name="PUT", path="/{propertyName}", summary="Replace system property", @@ -151,4 +155,29 @@ public class SystemPropertiesResource extends Resource { public Swagger getOptions(RestRequest req) { return req.getSwagger(); } + + @RestMethod( + name="GET", path="/formPage", + summary="Form entry page", + description="A form post page for setting a single system property value", + guards=AdminGuard.class + ) + public Form getFormPage() { + return form().method("POST").action("formPagePost").children( + h4("Set system property"), + "Name: ", input("text").name("name"), br(), + "Value: ", input("text").name("value"), br(), br(), + button("submit","Click me!").style("float:right") + ); + } + + @RestMethod( + name="POST", path="/formPagePost", + description="Accepts a simple form post of a system property name/value pair.", + guards=AdminGuard.class + ) + public Redirect formPagePost(@FormData("name") String name, @FormData("value") String value) { + System.setProperty(name, value); + return new Redirect(); + } } \ No newline at end of file
