This is an automated email from the ASF dual-hosted git repository. jamesbognar pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push: new 98e1a9f Create org.apache.juneau.rest.helper package. 98e1a9f is described below commit 98e1a9f007e687c3f1efb0eb317d2b11845c477c Author: JamesBognar <jamesbog...@apache.org> AuthorDate: Sun Apr 8 20:01:52 2018 -0400 Create org.apache.juneau.rest.helper package. --- .../apache/juneau/dto/swagger/OperationMap.java | 2 +- juneau-doc/src/main/javadoc/overview.html | 91 +++++++++++++--------- .../juneau/examples/rest/DirectoryResource.java | 1 + .../examples/rest/DockerRegistryResource.java | 2 +- .../examples/rest/MethodExampleResource.java | 2 +- .../juneau/examples/rest/PetStoreResource.java | 1 + .../examples/rest/PredefinedLabelsResource.java | 2 +- .../examples/rest/SystemPropertiesResource.java | 32 ++++---- .../juneau/examples/rest/TempDirResource.java | 1 + .../rest/addressbook/AddressBookResource.java | 1 + .../examples/rest/petstore/PetStoreResource.java | 22 +----- .../juneau/examples/rest/RootResourcesTest.java | 2 +- .../microservice/resources/DebugResource.java | 2 +- .../microservice/resources/DirectoryResource.java | 1 + .../microservice/resources/LogsResource.java | 1 + .../java/org/apache/juneau/rest/test/Root.java | 2 +- .../apache/juneau/rest/BasicRestCallHandler.java | 1 + .../apache/juneau/rest/BasicRestServletGroup.java | 2 +- .../org/apache/juneau/rest/ResponseHandler.java | 1 + .../java/org/apache/juneau/rest/RestContext.java | 1 + .../java/org/apache/juneau/rest/RestRequest.java | 1 + .../rest/{labels => helper}/BeanDescription.java | 2 +- .../ChildResourceDescriptions.java | 2 +- .../RedirectHandler.java => helper/Ok.java} | 87 +++++++++++---------- .../juneau/rest/{ => helper}/ReaderResource.java | 2 +- .../rest/{ => helper}/ReaderResourceBuilder.java | 2 +- .../apache/juneau/rest/{ => helper}/Redirect.java | 5 +- .../RedirectServletRoot.java} | 76 ++++++++---------- .../{labels => helper}/ResourceDescription.java | 4 +- .../juneau/rest/{ => helper}/StreamResource.java | 2 +- .../rest/{ => helper}/StreamResourceBuilder.java | 2 +- .../rest/{labels => helper}/package-info.java | 4 +- .../juneau/rest/response/RedirectHandler.java | 1 + .../juneau/rest/response/StreamableHandler.java | 1 + .../juneau/rest/response/WritableHandler.java | 1 + .../java/org/apache/juneau/rest/vars/FileVar.java | 1 + 36 files changed, 187 insertions(+), 176 deletions(-) diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/OperationMap.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/OperationMap.java index f7cae77..8221758 100644 --- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/OperationMap.java +++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/OperationMap.java @@ -67,7 +67,7 @@ public class OperationMap extends TreeMap<String,Operation> { } /** - * Fluent-style {@link #put(String, Operation)} method. + * Fluent-style put method. * * @param httpMethodName The HTTP method name. * @param operation The operation. diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html index 1efcf80..21fb2a4 100644 --- a/juneau-doc/src/main/javadoc/overview.html +++ b/juneau-doc/src/main/javadoc/overview.html @@ -329,7 +329,7 @@ </ol> <li><p><a class='doclink' href='#juneau-rest-server.Injection'>Using with Spring and Injection frameworks</a></p> <li><p><a class='doclink' href='#juneau-rest-server.HTTP2'>Using HTTP/2 features</a></p> - <li><p><a class='doclink' href='#juneau-rest-server.PredefinedLabelBeans'>Predefined Label Beans</a></p> + <li><p><a class='doclink' href='#juneau-rest-server.PredefinedHelperBeans'>Predefined Helper Beans</a></p> <li><p><a class='doclink' href='#juneau-rest-server.OtherNotes'>Other Notes</a></p> </ol> <li><p class='toc2'><a class='doclink' href='#juneau-rest-server-jaxrs'><i>juneau-rest-server-jaxrs</i></a></p> @@ -12003,7 +12003,7 @@ {@link org.apache.juneau.rest.RestResponse#getNegotiatedWriter()}. <br>Note that you should call {@link org.apache.juneau.rest.RestResponse#setContentType(String)} to set the <l>Content-Type</l> header if you use this object type. - <li class='jc'>{@link org.apache.juneau.rest.Redirect} + <li class='jc'>{@link org.apache.juneau.rest.helper.Redirect} <br>Represents an HTTP redirect response. <li class='jc'>{@link org.apache.juneau.Streamable} <br>Interface that identifies that an object can be serialized directly to an output stream. @@ -12079,13 +12079,13 @@ <h4 class='topic' onclick='toggle(this)'>7.6.11 - ReaderResource</h4> <div class='topic'> <p> - The {@link org.apache.juneau.rest.ReaderResource} class is a convenience object for defining thread-safe + The {@link org.apache.juneau.rest.helper.ReaderResource} class is a convenience object for defining thread-safe reusable character-based responses. <br>In essence, it's a container for character data with optional response headers and support for resolving SVL variables. </p> <p> - The {@link org.apache.juneau.rest.ReaderResource} class implements the {@link org.apache.juneau.Writable} + The {@link org.apache.juneau.rest.helper.ReaderResource} class implements the {@link org.apache.juneau.Writable} interface which is handled by the {@link org.apache.juneau.rest.response.WritableHandler} class. <br>This allows these objects to be returned as responses by REST methods. </p> @@ -12107,12 +12107,12 @@ The important methods on this class are: </p> <ul class='doctree'> - <li class='jc'>{@link org.apache.juneau.rest.ReaderResourceBuilder} + <li class='jc'>{@link org.apache.juneau.rest.helper.ReaderResourceBuilder} <ul> - <li class='jm'>{@link org.apache.juneau.rest.ReaderResourceBuilder#contents(Object...) contents(Object...)} - <li class='jm'>{@link org.apache.juneau.rest.ReaderResourceBuilder#header(String,Object) header(String,Object)} - <li class='jm'>{@link org.apache.juneau.rest.ReaderResourceBuilder#mediaType(MediaType) mediaType(MediaType)} - <li class='jm'>{@link org.apache.juneau.rest.ReaderResourceBuilder#varResolver(VarResolverSession) varResolver(VarResolverSession)} + <li class='jm'>{@link org.apache.juneau.rest.helper.ReaderResourceBuilder#contents(Object...) contents(Object...)} + <li class='jm'>{@link org.apache.juneau.rest.helper.ReaderResourceBuilder#header(String,Object) header(String,Object)} + <li class='jm'>{@link org.apache.juneau.rest.helper.ReaderResourceBuilder#mediaType(MediaType) mediaType(MediaType)} + <li class='jm'>{@link org.apache.juneau.rest.helper.ReaderResourceBuilder#varResolver(VarResolverSession) varResolver(VarResolverSession)} </ul> </ul> </div> @@ -12122,11 +12122,11 @@ <h4 class='topic' onclick='toggle(this)'>7.6.12 - StreamResource</h4> <div class='topic'> <p> - The {@link org.apache.juneau.rest.StreamResource} class is the binary equivalent to the {@link org.apache.juneau.rest.ReaderResource} object. + The {@link org.apache.juneau.rest.helper.StreamResource} class is the binary equivalent to the {@link org.apache.juneau.rest.helper.ReaderResource} object. <br>In essence, it's a container for binary data with optional response headers. </p> <p> - The {@link org.apache.juneau.rest.StreamResource} class implements the {@link org.apache.juneau.Streamable} + The {@link org.apache.juneau.rest.helper.StreamResource} class implements the {@link org.apache.juneau.Streamable} interface which is handled by the {@link org.apache.juneau.rest.response.StreamableHandler} class. <br>This allows these objects to be returned as responses by REST methods. </p> @@ -12147,11 +12147,11 @@ The important methods on this class are: </p> <ul class='doctree'> - <li class='jc'>{@link org.apache.juneau.rest.StreamResourceBuilder} + <li class='jc'>{@link org.apache.juneau.rest.helper.StreamResourceBuilder} <ul> - <li class='jm'>{@link org.apache.juneau.rest.StreamResourceBuilder#contents(Object...) contents(Object...)} - <li class='jm'>{@link org.apache.juneau.rest.StreamResourceBuilder#header(String,Object) header(String,Object)} - <li class='jm'>{@link org.apache.juneau.rest.StreamResourceBuilder#mediaType(MediaType) mediaType(MediaType)} + <li class='jm'>{@link org.apache.juneau.rest.helper.StreamResourceBuilder#contents(Object...) contents(Object...)} + <li class='jm'>{@link org.apache.juneau.rest.helper.StreamResourceBuilder#header(String,Object) header(String,Object)} + <li class='jm'>{@link org.apache.juneau.rest.helper.StreamResourceBuilder#mediaType(MediaType) mediaType(MediaType)} </ul> </ul> </div> @@ -12161,7 +12161,7 @@ <h4 class='topic' onclick='toggle(this)'>7.6.13 - Redirect</h4> <div class='topic'> <p> - The {@link org.apache.juneau.rest.Redirect} object is a convenience shortcut for performing <code>HTTP 302</code> redirects. + The {@link org.apache.juneau.rest.helper.Redirect} object is a convenience shortcut for performing <code>HTTP 302</code> redirects. </p> <p> <l>Redirect</l> objects are handled by the {@link org.apache.juneau.rest.response.RedirectHandler} class. @@ -15365,15 +15365,15 @@ </div> <!-- ======================================================================================================= --> - <a id='juneau-rest-server.PredefinedLabelBeans'></a> - <h3 class='topic' onclick='toggle(this)'>7.35 - Predefined Label Beans</h3> + <a id='juneau-rest-server.PredefinedHelperBeans'></a> + <h3 class='topic' onclick='toggle(this)'>7.35 - Predefined Helper Beans</h3> <div class='topic'> <p> - The {@link org.apache.juneau.rest.labels} package contains some reusable beans that are useful for + The {@link org.apache.juneau.rest.helper} package contains some reusable beans that are useful for creating linked items in HTML views. </p> <p> - The {@link org.apache.juneau.rest.labels.ResourceDescription} class is a bean with name/description + The {@link org.apache.juneau.rest.helper.ResourceDescription} class is a bean with name/description properties for labeling and linking to child resources. <br>The following examples is pulled from the REST examples: </p> @@ -15407,7 +15407,7 @@ } </p> <p> - The {@link org.apache.juneau.rest.labels.BeanDescription} class provides a simple view + The {@link org.apache.juneau.rest.helper.BeanDescription} class provides a simple view of a bean and it's properties. </p> <p class='bcode w800'> @@ -17838,7 +17838,7 @@ </p> <ul class='spaced-list'> <li> - Using the {@link org.apache.juneau.rest.Redirect} object to perform redirections. + Using the {@link org.apache.juneau.rest.helper.Redirect} object to perform redirections. <li> Using the various Java method parameter annotations to retrieve request attributes, parameters, etc. <li> @@ -18036,7 +18036,7 @@ <l>doExample()</l> <br>The root page. <br>Performs a simple redirection to the <l>doGetExample1()</l> method using a - {@link org.apache.juneau.rest.Redirect} object. + {@link org.apache.juneau.rest.helper.Redirect} object. <li class='jm'> <l>example1()</l> <br>Shows how to use the following annotations: @@ -19894,7 +19894,7 @@ <li> Accessing a docker registry REST API as POJOs using {@link org.apache.juneau.rest.client.RestClient}. <li> - Using the {@link org.apache.juneau.rest.labels.ResourceDescription} class to implement a top-level + Using the {@link org.apache.juneau.rest.helper.ResourceDescription} class to implement a top-level 'router' page. <li> Using the {@link org.apache.juneau.rest.RestContext#getConfig()} method to access external @@ -21381,6 +21381,23 @@ <li class='ja'>{@link org.apache.juneau.rest.annotation.Path} <li class='ja'>{@link org.apache.juneau.rest.annotation.Query} </ul> + <li> + "Helper" classes (i.e. reusable beans that can be returned by REST methods) have been moved to the following package with some new additions: + <ul class='doctree'> + <li class='jp'>{@link org.apache.juneau.rest.helper} + <ul> + <li class='jc'>{@link org.apache.juneau.rest.helper.BeanDescription} + <li class='jc'>{@link org.apache.juneau.rest.helper.ChildResourceDescriptions} + <li class='jc'>{@link org.apache.juneau.rest.helper.Ok} + <li class='jc'>{@link org.apache.juneau.rest.helper.ReaderResource} + <li class='jc'>{@link org.apache.juneau.rest.helper.ReaderResourceBuilder} + <li class='jc'>{@link org.apache.juneau.rest.helper.Redirect} + <li class='jc'>{@link org.apache.juneau.rest.helper.RedirectServletRoot} + <li class='jc'>{@link org.apache.juneau.rest.helper.ResourceDescription} + <li class='jc'>{@link org.apache.juneau.rest.helper.StreamResource} + <li class='jc'>{@link org.apache.juneau.rest.helper.StreamResourceBuilder} + </ul> + </ul> </ul> <h5 class='topic w800'>juneau-rest-client</h5> @@ -21789,8 +21806,8 @@ <li> New builder classes: <ul> - <li>{@link org.apache.juneau.rest.ReaderResourceBuilder} - <li>{@link org.apache.juneau.rest.StreamResourceBuilder} + <li><code><del>ReaderResourceBuilder</del></code> + <li><code><del>StreamResourceBuilder</del></code> </ul> <li> {@link org.apache.juneau.rest.RestResponse#getNegotiatedOutputStream()} now returns a @@ -22714,7 +22731,7 @@ ) </p> <li> - New {@link org.apache.juneau.rest.ReaderResource#toCommentStrippedString()} method. + New <code><del>ReaderResource.toCommentStrippedString()</del></code> method. <li> The <code>bpIncludes()</code> and <code>bpExcludes()</code> annotations on <ja>@RestMethod</ja> has been replaced with the following: @@ -23328,8 +23345,8 @@ ) </p> <li><code><del>RestResource.stylesheet()</del></code> can now take in a comma-delimited list of stylesheet paths. - <li>{@link org.apache.juneau.rest.StreamResource} can now contain multiple sources from a variety of source types (e.g. <code><jk>byte</jk>[]</code> arrays, <code>InputStreams</code>, <code>Files</code>, etc...) - and is now immutable. It also includes a new {@link org.apache.juneau.rest.StreamResourceBuilder} class. + <li><code><del>StreamResource</del></code> can now contain multiple sources from a variety of source types (e.g. <code><jk>byte</jk>[]</code> arrays, <code>InputStreams</code>, <code>Files</code>, etc...) + and is now immutable. It also includes a new <code><del>StreamResourceBuilder</del></code> class. <li>Simplified remoteable proxies using the <code><ja>@RestMethod</ja>(name=<js>"PROXY"</js>)</code> annotation on REST methods. Used to expose interface proxies without the need for {@link org.apache.juneau.rest.remoteable.RemoteableServlet}. <p class='bcode w800'> @@ -24239,12 +24256,12 @@ <h5 class='topic w800'>Server</h5> <ul class='spaced-list'> - <li>New {@link org.apache.juneau.rest.ReaderResource} class. + <li>New <code><del>ReaderResource</del></code> class. Represents the contents of a text file with convenience methods for resolving <del><code>StringVar</code></del> variables and adding HTTP response headers. REST Java methods can return instances of these to serialize <code>Readers</code> containing text with <del><code>StringVarResolver</code></del> variables in them. - <li>New {@link org.apache.juneau.rest.StreamResource} class. + <li>New <code><del>StreamResource</del></code> class. REST Java methods can return instances of these to serialize <code>OutputStreams</code>. <li>Fixed a bug in the stack trace hash algorithm in {@link org.apache.juneau.rest.RestException}. <li>New methods in {@link org.apache.juneau.rest.RestRequest}: @@ -24624,7 +24641,7 @@ <li><del><code>Param.description()</code></del> <li><del><code>QParam.description()</code></del> </ul> - <li>Support for sorting resources by name in {@link org.apache.juneau.rest.labels.ChildResourceDescriptions}. + <li>Support for sorting resources by name in <code><del>ChildResourceDescriptions</del></code>. </ul> <h5 class='topic w800'>Samples</h5> @@ -24673,7 +24690,7 @@ <ul class='spaced-list'> <li>New <code><del>RestRequest.getServletParentURI()</del></code> method. <li>New <code>$R{servletParentURI}</code> variable. - <li>Removed final modifier from {@link org.apache.juneau.rest.labels.ChildResourceDescriptions}. + <li>Removed final modifier from <code><del>ChildResourceDescriptions</del></code>. </ul> <h5 class='topic w800'>Samples</h5> @@ -25119,7 +25136,7 @@ Juno 5.1.0.5 is a moderate update. </p> <ul class='spaced-list'> - <li>New {@link org.apache.juneau.rest.Redirect} class that simplifies performing redirections in REST methods. + <li>New <code><del>Redirect</del></code> class that simplifies performing redirections in REST methods. <li>New pluggable {@link org.apache.juneau.rest.ResponseHandler} class and {@link org.apache.juneau.rest.annotation.RestResource#responseHandlers() @RestResource.responseHandlers()} annotation for defining customer response handlers for special kinds of POJOs. <li>New method <del><code>UrlEncodingSerializer.serializeUrlPart(Object)</code></del> method. @@ -25132,7 +25149,7 @@ <li>Fixed bug in {@link org.apache.juneau.json.JsonSerializer} where <js>"_class"</js> and <js>"items"</js> attributes were not quoted in strict mode when using SERIALIZER_addClassAttrs feature. <li>Fixed bug where <code>Content-Encoding</code> and<code>Character-Encoding</code> headers were being set when calling {@link org.apache.juneau.rest.RestResponse#getOutputStream()}. These should not be set if interacting with the output streams at a low level. - <li>Eliminated various convenience <code>RestResponse.sendRedirect(...)</code> methods due to the introduction of the {@link org.apache.juneau.rest.Redirect} class. + <li>Eliminated various convenience <code>RestResponse.sendRedirect(...)</code> methods due to the introduction of the <code><del>Redirect</del></code> class. </ul> </div> @@ -25284,7 +25301,7 @@ <li>Various new methods added to {@link org.apache.juneau.internal.StringUtils} and {@link org.apache.juneau.internal.ClassUtils}. <li>Improved support on <code><del>BeanContext.getClassMetaFromString(String)</del></code>.<br> Now supports resolving <code>"long[]"</code>, and so forth. - <li>{@link org.apache.juneau.rest.labels.ResourceDescription} name parameter is now automatically URL-encoded in links. + <li><code><del>ResourceDescription</del></code> name parameter is now automatically URL-encoded in links. <li>{@link org.apache.juneau.rest.RestRequest} now correctly handles cases involving URL-encoded characters in the path info portion of URLs (e.g. <code>http://host/contextRoot/foo%2Fbar</code>). <li>Removed lazy-initialization that required locking in {@link org.apache.juneau.ClassMeta}. @@ -25682,7 +25699,7 @@ Child resource paths are specified through {@link org.apache.juneau.rest.annotation.RestResource#path() @RestResource.path()}. </li> <li> - New {@link org.apache.juneau.rest.labels.ChildResourceDescriptions} bean for automatically generating the contents of router resource pages. + New <code><del>ChildResourceDescriptions</del></code> bean for automatically generating the contents of router resource pages. </li> <li> Changed <code><ja>@RestMethod</ja>.pattern()</code> to {@link org.apache.juneau.rest.annotation.RestMethod#path() @RestMethod.path()} for naming consistency. diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/DirectoryResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/DirectoryResource.java index 6bfd28c..ca7a2e2 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/DirectoryResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/DirectoryResource.java @@ -26,6 +26,7 @@ import java.util.logging.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; import org.apache.juneau.rest.converters.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.widget.*; import org.apache.juneau.utils.*; diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/DockerRegistryResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/DockerRegistryResource.java index a02f634..b167a76 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/DockerRegistryResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/DockerRegistryResource.java @@ -21,7 +21,7 @@ import org.apache.juneau.config.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; import org.apache.juneau.rest.client.*; -import org.apache.juneau.rest.labels.*; +import org.apache.juneau.rest.helper.*; /** * Sample resource that shows how to mirror query results from a Docker registry. diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java index fe3ae03..bcfa53b 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java @@ -19,7 +19,7 @@ import java.util.*; import org.apache.juneau.http.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; -import org.apache.juneau.rest.labels.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.utils.*; /** diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PetStoreResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PetStoreResource.java index 5ca3a92..5a1f779 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PetStoreResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PetStoreResource.java @@ -29,6 +29,7 @@ import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; import org.apache.juneau.rest.annotation.Body; import org.apache.juneau.rest.converters.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.widget.*; import org.apache.juneau.serializer.*; import org.apache.juneau.transforms.*; diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PredefinedLabelsResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PredefinedLabelsResource.java index e04ae04..73fdd69 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PredefinedLabelsResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PredefinedLabelsResource.java @@ -18,7 +18,7 @@ import org.apache.juneau.examples.addressbook.*; import org.apache.juneau.html.annotation.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; -import org.apache.juneau.rest.labels.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.widget.*; /** diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java index ca27d3f..0b5b07d 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/SystemPropertiesResource.java @@ -23,6 +23,7 @@ import org.apache.juneau.encoders.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; import org.apache.juneau.rest.annotation.Body; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.widget.*; @RestResource( @@ -115,13 +116,13 @@ public class SystemPropertiesResource extends BasicRestServlet { description="Returns the value of the specified system property.", swagger={ "responses:{", - "200: {description:'The system property value, or null if not found.'}", + "200: {description:'The system property value, or null if not found'}", "}" } ) public String getSystemProperty( @Path(description="The system property name.", example="PATH") String propertyName - ) throws Throwable { + ) { return System.getProperty(propertyName); } @@ -132,13 +133,13 @@ public class SystemPropertiesResource extends BasicRestServlet { description="Sets a new value for the specified system property.", guards=AdminGuard.class ) - public RedirectToRoot setSystemProperty( + public RedirectServletRoot setSystemProperty( @Path(description="The system property name") String propertyName, @Body(description="The new system property value") String value ) throws UserNotAdminException { System.setProperty(propertyName, value); - return new RedirectToRoot(); + return RedirectServletRoot.INSTANCE; } @RestMethod( @@ -147,12 +148,12 @@ public class SystemPropertiesResource extends BasicRestServlet { description="Takes in a map of key/value pairs and creates a set of new system properties.", guards=AdminGuard.class ) - public RedirectToRoot setSystemProperties( + public RedirectServletRoot setSystemProperties( @Body(description="The new system property values", example="{key1:'val1',key2:123}") java.util.Properties newProperties ) throws UserNotAdminException { System.setProperties(newProperties); - return new RedirectToRoot(); + return RedirectServletRoot.INSTANCE; } @RestMethod( @@ -161,12 +162,12 @@ public class SystemPropertiesResource extends BasicRestServlet { description="Deletes the specified system property.", guards=AdminGuard.class ) - public RedirectToRoot deleteSystemProperty( + public RedirectServletRoot deleteSystemProperty( @Path(description="The system property name") String propertyName ) throws UserNotAdminException { System.clearProperty(propertyName); - return new RedirectToRoot(); + return RedirectServletRoot.INSTANCE; } @RestMethod( @@ -205,9 +206,13 @@ public class SystemPropertiesResource extends BasicRestServlet { description="Accepts a simple form post of a system property name/value pair.", guards=AdminGuard.class ) - public RedirectToRoot formPagePost(@FormData("name") String name, @FormData("value") String value) throws UserNotAdminException { + public RedirectServletRoot formPagePost( + @FormData("name") String name, + @FormData("value") String value + ) throws UserNotAdminException { + System.setProperty(name, value); - return new RedirectToRoot(); + return RedirectServletRoot.INSTANCE; } @@ -223,12 +228,5 @@ public class SystemPropertiesResource extends BasicRestServlet { super("User is not an administrator"); } } - - @ResponseInfo(code=302, description="Redirect to root.", headers={"Location:{description:'Redirect URI', type:'string'}"}, schema="IGNORE") - public static class RedirectToRoot extends Redirect { - public RedirectToRoot() { - super("servlet:/"); - } - } } \ No newline at end of file diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/TempDirResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/TempDirResource.java index 280884f..03cc272 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/TempDirResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/TempDirResource.java @@ -24,6 +24,7 @@ import org.apache.commons.io.*; import org.apache.juneau.dto.html5.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.widget.*; import org.apache.juneau.utils.*; diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java index a356770..87da92b 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java @@ -30,6 +30,7 @@ import org.apache.juneau.microservice.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; import org.apache.juneau.rest.converters.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.widget.*; import org.apache.juneau.transform.*; import org.apache.juneau.utils.*; diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/petstore/PetStoreResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/petstore/PetStoreResource.java index f81a0ff..18f927d 100644 --- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/petstore/PetStoreResource.java +++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/petstore/PetStoreResource.java @@ -13,6 +13,7 @@ package org.apache.juneau.examples.rest.petstore; import static org.apache.juneau.dto.swagger.ui.SwaggerUI.*; +import static org.apache.juneau.rest.helper.Ok.*; import java.util.*; @@ -20,7 +21,7 @@ import org.apache.juneau.internal.*; import org.apache.juneau.microservice.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; -import org.apache.juneau.rest.labels.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.widget.*; /** @@ -474,23 +475,4 @@ public class PetStoreResource extends BasicRestServletJena { req.getSession().removeAttribute("login-expires"); return OK; } - - //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - // Helper beans - //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - - static final Ok OK = new Ok(); - - @ResponseInfo(code=200, example="'OK'") - public static class Ok { - - @Override - public String toString() { - return "OK"; - } - - public static Ok fromString(String s) { - return OK; - } - } } \ No newline at end of file diff --git a/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/RootResourcesTest.java b/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/RootResourcesTest.java index c135a52..32cfa70 100644 --- a/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/RootResourcesTest.java +++ b/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/RootResourcesTest.java @@ -19,7 +19,7 @@ import org.apache.juneau.dto.swagger.*; import org.apache.juneau.html.*; import org.apache.juneau.json.*; import org.apache.juneau.rest.client.*; -import org.apache.juneau.rest.labels.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.xml.*; import org.junit.*; diff --git a/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/DebugResource.java b/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/DebugResource.java index 957ba0d..c41ba77 100644 --- a/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/DebugResource.java +++ b/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/DebugResource.java @@ -20,7 +20,7 @@ import org.apache.juneau.internal.*; import org.apache.juneau.microservice.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; -import org.apache.juneau.rest.labels.*; +import org.apache.juneau.rest.helper.*; /** * Microservice debug utilities. diff --git a/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java b/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java index 7f1b24f..44e2b7f 100755 --- a/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java +++ b/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java @@ -28,6 +28,7 @@ import org.apache.juneau.annotation.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; import org.apache.juneau.rest.converters.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.transforms.*; import org.apache.juneau.utils.*; diff --git a/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java b/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java index 6ba43d1..aff8328 100755 --- a/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java +++ b/juneau-microservice/juneau-microservice-server/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java @@ -29,6 +29,7 @@ import org.apache.juneau.dto.LinkString; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; import org.apache.juneau.rest.converters.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.transforms.*; /** diff --git a/juneau-microservice/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/Root.java b/juneau-microservice/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/Root.java index f52f038..b5fc1f4 100644 --- a/juneau-microservice/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/Root.java +++ b/juneau-microservice/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/Root.java @@ -17,7 +17,7 @@ import static org.apache.juneau.http.HttpMethodName.*; import org.apache.juneau.microservice.resources.*; import org.apache.juneau.rest.*; import org.apache.juneau.rest.annotation.*; -import org.apache.juneau.rest.labels.*; +import org.apache.juneau.rest.helper.*; @RestResource( path="/", diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestCallHandler.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestCallHandler.java index 1b8a3a5..ed09093 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestCallHandler.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestCallHandler.java @@ -24,6 +24,7 @@ import javax.servlet.*; import javax.servlet.http.*; import org.apache.juneau.rest.annotation.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.vars.*; /** diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServletGroup.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServletGroup.java index 5c437ff..7e30ff7 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServletGroup.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServletGroup.java @@ -15,7 +15,7 @@ package org.apache.juneau.rest; import static org.apache.juneau.http.HttpMethodName.*; import org.apache.juneau.rest.annotation.*; -import org.apache.juneau.rest.labels.*; +import org.apache.juneau.rest.helper.*; /** * Specialized subclass of {@link BasicRestServlet} for showing "group" pages. diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java index 802d847..4432a08 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java @@ -18,6 +18,7 @@ import javax.servlet.http.*; import org.apache.juneau.*; import org.apache.juneau.rest.annotation.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.response.*; /** diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java index 2777171..3d212b1 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java @@ -46,6 +46,7 @@ import org.apache.juneau.parser.*; import org.apache.juneau.plaintext.*; import org.apache.juneau.rest.annotation.*; import org.apache.juneau.rest.converters.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.response.*; import org.apache.juneau.rest.vars.*; import org.apache.juneau.rest.widget.*; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java index f134546..c4c9928 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java @@ -38,6 +38,7 @@ import org.apache.juneau.httppart.*; import org.apache.juneau.internal.*; import org.apache.juneau.parser.*; import org.apache.juneau.rest.annotation.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.rest.widget.*; import org.apache.juneau.serializer.*; import org.apache.juneau.svl.*; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/BeanDescription.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/BeanDescription.java similarity index 96% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/BeanDescription.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/BeanDescription.java index 080594d..0d419a6 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/BeanDescription.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/BeanDescription.java @@ -10,7 +10,7 @@ // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * // * specific language governing permissions and limitations under the License. * // *************************************************************************************************************************** -package org.apache.juneau.rest.labels; +package org.apache.juneau.rest.helper; import org.apache.juneau.*; import org.apache.juneau.annotation.*; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ChildResourceDescriptions.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ChildResourceDescriptions.java similarity index 96% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ChildResourceDescriptions.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ChildResourceDescriptions.java index 547acd2..d20e3ae 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ChildResourceDescriptions.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ChildResourceDescriptions.java @@ -10,7 +10,7 @@ // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * // * specific language governing permissions and limitations under the License. * // *************************************************************************************************************************** -package org.apache.juneau.rest.labels; +package org.apache.juneau.rest.helper; import java.util.*; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/Ok.java similarity index 59% copy from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java copy to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/Ok.java index 798378c..99c7d85 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/Ok.java @@ -1,42 +1,45 @@ -// *************************************************************************************************************************** -// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file * -// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file * -// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance * -// * with the License. You may obtain a copy of the License at * -// * * -// * http://www.apache.org/licenses/LICENSE-2.0 * -// * * -// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an * -// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * -// * specific language governing permissions and limitations under the License. * -// *************************************************************************************************************************** -package org.apache.juneau.rest.response; - -import java.io.*; - -import org.apache.juneau.rest.*; - -/** - * Response handler for {@link Redirect} objects. - * - * <h5 class='section'>See Also:</h5> - * <ul> - * <li class='link'><a class="juneau-rest-server > " href="../../../../../overview-summary.html#juneau-rest-server.MethodReturnTypes">Overview > Method Return Types</a> - * </ul> - */ -public final class RedirectHandler implements ResponseHandler { - - @Override /* ResponseHandler */ - public boolean handle(RestRequest req, RestResponse res, Object output) throws IOException, RestException { - if (output instanceof Redirect) { - Redirect r = (Redirect)output; - String uri = req.getUriResolver().resolve(r.getURI()); - int rc = r.getHttpResponseCode(); - if (rc != 0) - res.setStatus(rc); // TODO - This may get ignored by the call below. - res.sendRedirect(uri); - return true; - } - return false; - } -} +// *************************************************************************************************************************** +// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file * +// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file * +// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance * +// * with the License. You may obtain a copy of the License at * +// * * +// * http://www.apache.org/licenses/LICENSE-2.0 * +// * * +// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an * +// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * +// * specific language governing permissions and limitations under the License. * +// *************************************************************************************************************************** +package org.apache.juneau.rest.helper; + +import org.apache.juneau.rest.annotation.*; + +/** + * Represents a simple OK REST response. + * + * <p> + * The response consist of the serialized string <js>"OK"</js>. + */ +@ResponseInfo(code=200, example="'OK'") +public class Ok { + + /** + * Reusable instance. + */ + public static final Ok OK = new Ok(); + + @Override /* Object */ + public String toString() { + return "OK"; + } + + /** + * Used to convert example into an OK object. + * + * @param s Ignored. + * @return The static {@link #OK} object. + */ + public static Ok fromString(String s) { + return OK; + } +} \ No newline at end of file diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ReaderResource.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ReaderResource.java similarity index 96% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ReaderResource.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ReaderResource.java index c235cbd..d3d2360 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ReaderResource.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ReaderResource.java @@ -10,7 +10,7 @@ // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * // * specific language governing permissions and limitations under the License. * // *************************************************************************************************************************** -package org.apache.juneau.rest; +package org.apache.juneau.rest.helper; import static org.apache.juneau.internal.CollectionUtils.*; import static org.apache.juneau.internal.IOUtils.*; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ReaderResourceBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ReaderResourceBuilder.java similarity index 99% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ReaderResourceBuilder.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ReaderResourceBuilder.java index 6cc44c7..6386433 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ReaderResourceBuilder.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ReaderResourceBuilder.java @@ -10,7 +10,7 @@ // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * // * specific language governing permissions and limitations under the License. * // *************************************************************************************************************************** -package org.apache.juneau.rest; +package org.apache.juneau.rest.helper; import java.io.*; import java.util.*; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/Redirect.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/Redirect.java similarity index 92% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/Redirect.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/Redirect.java index ce222f6..3dcd402 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/Redirect.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/Redirect.java @@ -10,13 +10,15 @@ // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * // * specific language governing permissions and limitations under the License. * // *************************************************************************************************************************** -package org.apache.juneau.rest; +package org.apache.juneau.rest.helper; import static org.apache.juneau.internal.StringUtils.*; import java.net.*; import java.text.*; +import org.apache.juneau.rest.annotation.*; + /** * REST methods can return this object as a shortcut for performing <code>HTTP 302</code> redirects. * @@ -25,6 +27,7 @@ import java.text.*; * <li class='link'><a class="doclink" href="../../../../overview-summary.html#juneau-rest-server.Redirect">Overview > juneau-rest-server > Redirect</a> * </ul> */ +@ResponseInfo(code=302, description="Redirect", headers={"Location:{description:'Redirect URI', type:'string', format:'uri'}"}, schema="IGNORE") public class Redirect { private final int httpResponseCode; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/RedirectServletRoot.java similarity index 59% copy from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java copy to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/RedirectServletRoot.java index 798378c..71f6f2a 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/RedirectServletRoot.java @@ -1,42 +1,34 @@ -// *************************************************************************************************************************** -// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file * -// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file * -// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance * -// * with the License. You may obtain a copy of the License at * -// * * -// * http://www.apache.org/licenses/LICENSE-2.0 * -// * * -// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an * -// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * -// * specific language governing permissions and limitations under the License. * -// *************************************************************************************************************************** -package org.apache.juneau.rest.response; - -import java.io.*; - -import org.apache.juneau.rest.*; - -/** - * Response handler for {@link Redirect} objects. - * - * <h5 class='section'>See Also:</h5> - * <ul> - * <li class='link'><a class="juneau-rest-server > " href="../../../../../overview-summary.html#juneau-rest-server.MethodReturnTypes">Overview > Method Return Types</a> - * </ul> - */ -public final class RedirectHandler implements ResponseHandler { - - @Override /* ResponseHandler */ - public boolean handle(RestRequest req, RestResponse res, Object output) throws IOException, RestException { - if (output instanceof Redirect) { - Redirect r = (Redirect)output; - String uri = req.getUriResolver().resolve(r.getURI()); - int rc = r.getHttpResponseCode(); - if (rc != 0) - res.setStatus(rc); // TODO - This may get ignored by the call below. - res.sendRedirect(uri); - return true; - } - return false; - } -} +// *************************************************************************************************************************** +// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file * +// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file * +// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance * +// * with the License. You may obtain a copy of the License at * +// * * +// * http://www.apache.org/licenses/LICENSE-2.0 * +// * * +// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an * +// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * +// * specific language governing permissions and limitations under the License. * +// *************************************************************************************************************************** +package org.apache.juneau.rest.helper; + +import org.apache.juneau.rest.annotation.*; + +/** + * Convenience subclass of {@link Redirect} for redirecting a response to the servlet root. + */ +@ResponseInfo(description="Redirect to servlet root") +public class RedirectServletRoot extends Redirect { + + /** + * Reusable instance. + */ + public static final RedirectServletRoot INSTANCE = new RedirectServletRoot(); + + /** + * Constructor. + */ + public RedirectServletRoot() { + super("servlet:/"); + } +} \ No newline at end of file diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ResourceDescription.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ResourceDescription.java similarity index 94% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ResourceDescription.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ResourceDescription.java index 68376b0..d419358 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ResourceDescription.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/ResourceDescription.java @@ -10,10 +10,11 @@ // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * // * specific language governing permissions and limitations under the License. * // *************************************************************************************************************************** -package org.apache.juneau.rest.labels; +package org.apache.juneau.rest.helper; import org.apache.juneau.annotation.*; import org.apache.juneau.html.annotation.*; +import org.apache.juneau.rest.annotation.*; /** * Shortcut label for child resources. Typically used in router resources. @@ -29,6 +30,7 @@ import org.apache.juneau.html.annotation.*; * </ul> */ @Bean(properties="name,description", fluentSetters=true) +@ResponseInfo(schema="IGNORE") public final class ResourceDescription implements Comparable<ResourceDescription> { private String name, description; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StreamResource.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/StreamResource.java similarity index 96% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StreamResource.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/StreamResource.java index 999c80e..0a68c36 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StreamResource.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/StreamResource.java @@ -10,7 +10,7 @@ // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * // * specific language governing permissions and limitations under the License. * // *************************************************************************************************************************** -package org.apache.juneau.rest; +package org.apache.juneau.rest.helper; import static org.apache.juneau.internal.CollectionUtils.*; import static org.apache.juneau.internal.IOUtils.*; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StreamResourceBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/StreamResourceBuilder.java similarity index 99% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StreamResourceBuilder.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/StreamResourceBuilder.java index df55172..226de63 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StreamResourceBuilder.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/StreamResourceBuilder.java @@ -10,7 +10,7 @@ // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * // * specific language governing permissions and limitations under the License. * // *************************************************************************************************************************** -package org.apache.juneau.rest; +package org.apache.juneau.rest.helper; import java.io.*; import java.util.*; diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/package-info.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/package-info.java similarity index 93% rename from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/package-info.java rename to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/package-info.java index 3ea441b..fa950f7 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/package-info.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/helper/package-info.java @@ -13,6 +13,6 @@ ***************************************************************************************************************************/ /** - * REST Interface Label Classes + * REST Interface Helper Classes */ -package org.apache.juneau.rest.labels; \ No newline at end of file +package org.apache.juneau.rest.helper; \ No newline at end of file diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java index 798378c..9964c42 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/RedirectHandler.java @@ -15,6 +15,7 @@ package org.apache.juneau.rest.response; import java.io.*; import org.apache.juneau.rest.*; +import org.apache.juneau.rest.helper.*; /** * Response handler for {@link Redirect} objects. diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/StreamableHandler.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/StreamableHandler.java index 766016b..6a92040 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/StreamableHandler.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/StreamableHandler.java @@ -20,6 +20,7 @@ import java.util.*; import org.apache.juneau.*; import org.apache.juneau.http.*; import org.apache.juneau.rest.*; +import org.apache.juneau.rest.helper.*; /** * Response handler for {@link Writable} and {@link ReaderResource} objects. diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/WritableHandler.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/WritableHandler.java index dad3bec..b5f37b8 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/WritableHandler.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/response/WritableHandler.java @@ -20,6 +20,7 @@ import java.util.*; import org.apache.juneau.*; import org.apache.juneau.http.*; import org.apache.juneau.rest.*; +import org.apache.juneau.rest.helper.*; /** * Response handler for {@link Writable} and {@link ReaderResource} objects. diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java index 1f3e3e8..384c81b 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java @@ -13,6 +13,7 @@ package org.apache.juneau.rest.vars; import org.apache.juneau.rest.*; +import org.apache.juneau.rest.helper.*; import org.apache.juneau.svl.*; import org.apache.juneau.utils.*; -- To stop receiving notification emails like this one, please contact jamesbog...@apache.org.