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/09/08 23:25:37 UTC
svn commit: r21540 [19/27] - in /release/incubator/juneau:
juneau-rest-client/ juneau-rest-client/.settings/ juneau-rest-client/bin/
juneau-rest-client/src/ juneau-rest-client/src/main/
juneau-rest-client/src/main/java/ juneau-rest-client/src/main/java...
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java Fri Sep 8 23:25:34 2017
@@ -0,0 +1,72 @@
+// ***************************************************************************************************************************
+// * 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.converters;
+
+import javax.servlet.http.*;
+
+import org.apache.juneau.*;
+import org.apache.juneau.rest.*;
+import org.apache.juneau.transform.*;
+import org.apache.juneau.utils.*;
+
+/**
+ * Converter for enabling of {@link PojoRest} support on response objects returned by a <code>@RestMethod</code> method.
+ *
+ * <p>
+ * When enabled, objects in a POJO tree returned by the REST method can be addressed through additional URL path
+ * information.
+ *
+ * <p class='bcode'>
+ * <jc>// Resource method on resource "http://localhost:8080/sample/addressBook"</jc>
+ * <ja>@RestMethod</ja>(name=<js>"GET"</js>, converters=Traversable.<jk>class</jk>)
+ * <jk>public void</jk> doGet(RestRequest req, RestResponse res) {
+ * <jk>return new</jk> AddressBook();
+ * }
+ *
+ * <jc>// Sample usage</jc>
+ * <jk>public static void</jk> main(String[] args) {
+ * <jc>// Get the zip code of the 2nd address of the first person in the address book.</jc>
+ * RestCall r = <jk>new</jk> RestClient().doGet(<js>"http://localhost:8080/sample/addressBook/0/addresses/1/zip"</js>);
+ * <jk>int</jk> zip = r.getResponse(Integer.<jk>class</jk>);
+ * }
+ * </p>
+ *
+ * <p>
+ * See {@link PojoRest} for additional information on addressing elements in a POJO tree using URL notation.
+ */
+public final class Traversable implements RestConverter {
+
+ @Override /* RestConverter */
+ @SuppressWarnings({"rawtypes", "unchecked"})
+ public Object convert(RestRequest req, Object o, ClassMeta cm) throws RestException {
+ if (o == null)
+ return null;
+
+ if (req.getPathMatch().getRemainder() != null) {
+ try {
+ BeanSession bs = req.getBeanSession();
+ PojoSwap swap = cm.getPojoSwap(bs);
+ if (swap != null)
+ o = swap.swap(bs, o);
+ PojoRest p = new PojoRest(o, req.getBody().getReaderParser());
+ o = p.get(req.getPathMatch().getRemainder());
+ } catch (PojoRestException e) {
+ throw new RestException(e.getStatus(), e);
+ } catch (Exception e) {
+ throw new RestException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e);
+ }
+ }
+
+ return o;
+ }
+}
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/package.html
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/package.html (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/package.html Fri Sep 8 23:25:34 2017
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML>
+<!--
+/***************************************************************************************************************************
+ * 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.
+ *
+ ***************************************************************************************************************************/
+ -->
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <style type="text/css">
+ /* For viewing in Page Designer */
+ @IMPORT url("../../../../javadoc.css");
+
+ /* For viewing in REST interface */
+ @IMPORT url("../htdocs/javadoc.css");
+ body {
+ margin: 20px;
+ }
+ </style>
+ <script>
+ /* Replace all @code and @link tags. */
+ window.onload = function() {
+ document.body.innerHTML = document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
+ document.body.innerHTML = document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, '<code>$3</code>');
+ }
+ </script>
+</head>
+<body>
+<p>Predefined REST response converters</p>
+</body>
+</html>
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/package.html
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/AddressBook.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/AddressBook.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/AddressBookJson.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/AddressBookJson.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/AddressBookOptions.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/AddressBookOptions.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/AddressBook_juneaustyle.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/AddressBook_juneaustyle.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResource1.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResource1.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResource2.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResource2.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResource3.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResource3.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResource4.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResource4.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResourceOptions.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResourceOptions.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResourceOptionsJson.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/HelloWorldResourceOptionsJson.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/Options2.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/Options2.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/OptionsPage.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/OptionsPage.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/Samples_RootResources.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/Samples_RootResources.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/UrlEncodedForm.png
==============================================================================
Binary file - no diff available.
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/doc-files/UrlEncodedForm.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/BeanDescription.java
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/BeanDescription.java (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/BeanDescription.java Fri Sep 8 23:25:34 2017
@@ -0,0 +1,73 @@
+// ***************************************************************************************************************************
+// * 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.labels;
+
+import org.apache.juneau.*;
+import org.apache.juneau.annotation.*;
+
+/**
+ * Simple serializable bean description.
+ *
+ * <p>
+ * Given a particular class type, this serializes the class into the fully-qualified class name and the properties
+ * associated with the class.
+ *
+ * <p>
+ * Useful for rendering simple information about a bean during REST OPTIONS requests.
+ */
+@Bean(properties="type,properties")
+public final class BeanDescription {
+
+ /** The bean class type. */
+ public String type;
+
+ /** The bean properties. */
+ public BeanPropertyDescription[] properties;
+
+ /**
+ * Constructor
+ *
+ * @param c The bean class type.
+ */
+ public BeanDescription(Class<?> c) {
+ type = c.getName();
+ BeanMeta<?> bm = BeanContext.DEFAULT.getBeanMeta(c);
+ properties = new BeanPropertyDescription[bm.getPropertyMetas().size()];
+ int i = 0;
+ for (BeanPropertyMeta pm : bm.getPropertyMetas())
+ properties[i++] = new BeanPropertyDescription(pm.getName(), pm.getClassMeta());
+ }
+
+ /**
+ * Information about a bean property.
+ */
+ public static class BeanPropertyDescription {
+
+ /** The bean property name. */
+ public String name;
+
+ /** The bean property filtered class type. */
+ public String type;
+
+ /**
+ * Constructor.
+ *
+ * @param name The bean property name.
+ * @param type The bean property class type.
+ */
+ public BeanPropertyDescription(String name, ClassMeta<?> type) {
+ this.name = name;
+ this.type = type.getSerializedClassMeta(null).toString();
+ }
+ }
+}
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/BeanDescription.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ChildResourceDescriptions.java
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ChildResourceDescriptions.java (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ChildResourceDescriptions.java Fri Sep 8 23:25:34 2017
@@ -0,0 +1,61 @@
+// ***************************************************************************************************************************
+// * 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.labels;
+
+import java.util.*;
+
+import org.apache.juneau.rest.*;
+
+/**
+ * A POJO structure that describes the list of child resources associated with a resource.
+ *
+ * <p>
+ * Typically used in top-level GET methods of router resources to render a list of available child resources.
+ */
+public class ChildResourceDescriptions extends LinkedList<ResourceDescription> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Constructor.
+ *
+ * @param context The servlet context that this bean describes.
+ * @param req The HTTP servlet request.
+ */
+ public ChildResourceDescriptions(RestContext context, RestRequest req) {
+ this(context, req, false);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param context The servlet context that this bean describes.
+ * @param req The HTTP servlet request.
+ * @param sort
+ * If <jk>true</jk>, list will be ordered by name alphabetically.
+ * Default is to maintain the order as specified in the annotation.
+ */
+ public ChildResourceDescriptions(RestContext context, RestRequest req, boolean sort) {
+ for (Map.Entry<String,RestContext> e : context.getChildResources().entrySet())
+ add(new ResourceDescription(e.getKey(), e.getValue().getInfoProvider().getTitle(req)));
+ if (sort)
+ Collections.sort(this);
+ }
+
+ /**
+ * Bean constructor.
+ */
+ public ChildResourceDescriptions() {
+ super();
+ }
+}
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ChildResourceDescriptions.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/NameDescription.java
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/NameDescription.java (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/NameDescription.java Fri Sep 8 23:25:34 2017
@@ -0,0 +1,78 @@
+// ***************************************************************************************************************************
+// * 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.labels;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * Simple bean with {@code name} and {@code description} properties.
+ *
+ * <p>
+ * Primarily used for constructing tables with name/description columns on REST OPTIONS requests.
+ */
+@Bean(properties="name,description")
+public class NameDescription {
+
+ private Object name;
+ private Object description;
+
+ /** No-arg constructor. Used for JUnit testing of OPTIONS pages. */
+ public NameDescription() {}
+
+ /**
+ * Constructor.
+ *
+ * @param name A name.
+ * @param description A description.
+ */
+ public NameDescription(Object name, Object description) {
+ this.name = name;
+ this.description = description;
+ }
+
+ /**
+ * Returns the name field on this label.
+ *
+ * @return The name.
+ */
+ public Object getName() {
+ return name;
+ }
+
+ /**
+ * Sets the name field on this label to a new value.
+ *
+ * @param name The new name.
+ */
+ public void setName(Object name) {
+ this.name = name;
+ }
+
+ /**
+ * Returns the description field on this label.
+ *
+ * @return The description.
+ */
+ public Object getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets the description field on this label to a new value.
+ *
+ * @param description The new description.
+ */
+ public void setDescription(Object description) {
+ this.description = description;
+ }
+}
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/NameDescription.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ResourceDescription.java
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ResourceDescription.java (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ResourceDescription.java Fri Sep 8 23:25:34 2017
@@ -0,0 +1,60 @@
+// ***************************************************************************************************************************
+// * 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.labels;
+
+import org.apache.juneau.html.annotation.*;
+
+/**
+ * Shortcut label for child resources. Typically used in router resources.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode'>
+ * <jk>new</jk> ResourceLink(<js>"httpTool"</js>, <js>"HTTP request test client"</js>);
+ * </p>
+ */
+public final class ResourceDescription extends NameDescription implements Comparable<ResourceDescription> {
+
+ /**
+ * Constructor.
+ *
+ * @param name The name of the child resource.
+ * @param description The description of the child resource.
+ */
+ public ResourceDescription(String name, String description) {
+ super(name, description);
+ }
+
+ /** No-arg constructor. Used for JUnit testing of OPTIONS pages. */
+ public ResourceDescription() {}
+
+ @Override /* NameDescription */
+ @Html(link="servlet:/{name}")
+ public Object getName() {
+ return super.getName();
+ }
+
+ @Override /* Comparable */
+ public int compareTo(ResourceDescription o) {
+ return getName().toString().compareTo(o.getName().toString());
+ }
+
+ @Override /* Object */
+ public boolean equals(Object o) {
+ return (o instanceof ResourceDescription) && ((ResourceDescription)o).getName().equals(getName());
+ }
+
+ @Override /* Object */
+ public int hashCode() {
+ return getName().hashCode();
+ }
+}
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/ResourceDescription.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/package.html
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/package.html (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/package.html Fri Sep 8 23:25:34 2017
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML>
+<!--
+/***************************************************************************************************************************
+ * 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.
+ *
+ ***************************************************************************************************************************/
+ -->
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <style type="text/css">
+ /* For viewing in Page Designer */
+ @IMPORT url("../../../../javadoc.css");
+
+ /* For viewing in REST interface */
+ @IMPORT url("../htdocs/javadoc.css");
+ body {
+ margin: 20px;
+ }
+ </style>
+ <script>
+ /* Replace all @code and @link tags. */
+ window.onload = function() {
+ document.body.innerHTML = document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
+ document.body.innerHTML = document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, '<code>$3</code>');
+ }
+ </script>
+</head>
+<body>
+<p>Various REST interface label classes</p>
+</body>
+</html>
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/labels/package.html
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/MultipartFormDataMatcher.java
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/MultipartFormDataMatcher.java (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/MultipartFormDataMatcher.java Fri Sep 8 23:25:34 2017
@@ -0,0 +1,27 @@
+// ***************************************************************************************************************************
+// * 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.matchers;
+
+import org.apache.juneau.rest.*;
+
+/**
+ * Predefined matcher for matching requests with content type <js>"multipart/form-data"</js>.
+ */
+public class MultipartFormDataMatcher extends RestMatcher {
+
+ @Override /* RestMatcher */
+ public boolean matches(RestRequest req) {
+ String contentType = req.getContentType();
+ return contentType != null && contentType.startsWith("multipart/form-data");
+ }
+}
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/MultipartFormDataMatcher.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/UrlEncodedFormMatcher.java
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/UrlEncodedFormMatcher.java (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/UrlEncodedFormMatcher.java Fri Sep 8 23:25:34 2017
@@ -0,0 +1,27 @@
+// ***************************************************************************************************************************
+// * 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.matchers;
+
+import org.apache.juneau.rest.*;
+
+/**
+ * Predefined matcher for matching requests with content type <js>"application/x-www-form-urlencoded"</js>.
+ */
+public class UrlEncodedFormMatcher extends RestMatcher {
+
+ @Override /* RestMatcher */
+ public boolean matches(RestRequest req) {
+ String contentType = req.getContentType();
+ return contentType != null && contentType.equals("application/x-www-form-urlencoded");
+ }
+}
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/UrlEncodedFormMatcher.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/package.html
==============================================================================
--- release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/package.html (added)
+++ release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/package.html Fri Sep 8 23:25:34 2017
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML>
+<!--
+/***************************************************************************************************************************
+ * 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.
+ *
+ ***************************************************************************************************************************/
+ -->
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <style type="text/css">
+ /* For viewing in Page Designer */
+ @IMPORT url("../../../../../javadoc.css");
+
+ /* For viewing in REST interface */
+ @IMPORT url("../htdocs/javadoc.css");
+ body {
+ margin: 20px;
+ }
+ </style>
+</head>
+<body>
+<p>Predefined Matchers</p>
+</body>
+</html>
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-rest-server/src/main/java/org/apache/juneau/rest/matchers/package.html
------------------------------------------------------------------------------
svn:mime-type = text/plain