You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/02/25 17:03:07 UTC

incubator-juneau git commit: Add form post example to SystemPropertiesResource

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 <ja...@apache.org>
Authored: Sat Feb 25 12:03:04 2017 -0500
Committer: JamesBognar <ja...@apache.org>
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