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

Reply via email to