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 3e508ad  New org.apache.juneau.cp package.
3e508ad is described below

commit 3e508ad32f29583680bdad482778fb2b6934da61
Author: JamesBognar <[email protected]>
AuthorDate: Mon Jul 20 10:44:38 2020 -0400

    New org.apache.juneau.cp package.
---
 .../apache/juneau/dto/swagger/ui/SwaggerUI.java    |  4 +-
 .../BasicClasspathResourceFinder.java}             |  8 ++--
 .../{utils => cp}/ClasspathResourceFinder.java     |  9 ++--
 .../{utils => cp}/ClasspathResourceManager.java    | 51 ++++++++++++++++++++--
 .../RecursiveClasspathResourceFinder.java}         |  8 ++--
 .../SimpleClasspathResourceFinder.java}            |  6 +--
 .../juneau/utils/ClasspathResourceFinder.java      |  4 +-
 .../juneau/utils/ClasspathResourceFinderBasic.java |  5 +++
 .../utils/ClasspathResourceFinderRecursive.java    |  5 +++
 .../utils/ClasspathResourceFinderSimple.java       |  5 +++
 .../juneau/utils/ClasspathResourceManager.java     |  3 ++
 .../juneau/rest/BasicRestInfoProviderTest.java     |  4 +-
 .../java/org/apache/juneau/rest/BasicRest.java     |  5 ++-
 .../java/org/apache/juneau/rest/RestContext.java   | 15 ++++---
 .../org/apache/juneau/rest/RestContextBuilder.java |  6 +--
 .../java/org/apache/juneau/rest/RestServlet.java   |  4 +-
 .../org/apache/juneau/rest/StaticFileMapping.java  |  2 +-
 .../java/org/apache/juneau/rest/StaticFiles.java   |  2 +-
 .../org/apache/juneau/rest/annotation/Rest.java    |  6 +--
 .../juneau/rest/annotation/RestConfigApply.java    |  2 +-
 .../java/org/apache/juneau/rest/vars/FileVar.java  |  2 +-
 .../java/org/apache/juneau/rest/widget/Widget.java |  4 +-
 22 files changed, 114 insertions(+), 46 deletions(-)

diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ui/SwaggerUI.java
 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ui/SwaggerUI.java
index 837ca4c..10517f0 100644
--- 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ui/SwaggerUI.java
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ui/SwaggerUI.java
@@ -19,12 +19,12 @@ import java.util.Map;
 
 import org.apache.juneau.*;
 import org.apache.juneau.collections.*;
+import org.apache.juneau.cp.*;
 import org.apache.juneau.dto.html5.*;
 import org.apache.juneau.dto.swagger.*;
 import org.apache.juneau.http.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.transform.*;
-import org.apache.juneau.utils.*;
 
 /**
  * Generates a Swagger-UI interface from a Swagger document.
@@ -70,7 +70,7 @@ public class SwaggerUI extends PojoSwap<Swagger,Div> {
        public static final String SWAGGERUI_resolveRefsMaxDepth = PREFIX + 
"resolveRefsMaxDepth.i";
 
 
-       static final ClasspathResourceManager RESOURCES = new 
ClasspathResourceManager(SwaggerUI.class, 
ClasspathResourceFinderBasic.INSTANCE, 
Boolean.getBoolean("RestContext.useClasspathResourceCaching.b"));
+       static final ClasspathResourceManager RESOURCES = new 
ClasspathResourceManager(SwaggerUI.class, 
BasicClasspathResourceFinder.INSTANCE, 
Boolean.getBoolean("RestContext.useClasspathResourceCaching.b"));
 
        private static final Set<String> STANDARD_METHODS = ASet.of("get", 
"put", "post", "delete", "options");
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicClasspathResourceFinder.java
similarity index 91%
copy from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
copy to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicClasspathResourceFinder.java
index a9b6119..b9fba13 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicClasspathResourceFinder.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.utils;
+package org.apache.juneau.cp;
 
 import java.io.*;
 import java.util.*;
@@ -19,16 +19,16 @@ import java.util.*;
  * Utility class for finding resources for a class.
  *
  * <p>
- * Same as {@link ClasspathResourceFinderSimple}, but first searches the 
working directory for the file before
+ * Same as {@link SimpleClasspathResourceFinder}, but first searches the 
working directory for the file before
  * looking in the classpath.
  * <br>Path traversals outside the working directory are not allowed for 
security reasons.
  */
-public class ClasspathResourceFinderBasic extends 
ClasspathResourceFinderSimple {
+public class BasicClasspathResourceFinder extends 
SimpleClasspathResourceFinder {
 
        /**
         * Reusable instance.
         */
-       public static final ClasspathResourceFinderBasic INSTANCE = new 
ClasspathResourceFinderBasic();
+       public static final BasicClasspathResourceFinder INSTANCE = new 
BasicClasspathResourceFinder();
 
        @Override /* ClasspathResourceFinder */
        public InputStream findResource(Class<?> baseClass, String name, Locale 
locale) throws IOException {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceFinder.java
similarity index 93%
copy from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
copy to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceFinder.java
index db6bd9b..70d747d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceFinder.java
@@ -10,8 +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.utils;
-
+package org.apache.juneau.cp;
 
 import java.io.*;
 import java.util.*;
@@ -26,10 +25,10 @@ import java.util.*;
  * <p>
  * The following predefined implementations are provided:
  * <ul>
- *     <li>{@link ClasspathResourceFinderSimple} - Simple searching of 
classpath.
- *     <li>{@link ClasspathResourceFinderBasic} - Same as above, but looks in 
local JVM working directory if resource
+ *     <li>{@link SimpleClasspathResourceFinder} - Simple searching of 
classpath.
+ *     <li>{@link BasicClasspathResourceFinder} - Same as above, but looks in 
local JVM working directory if resource
  *             can't be found on classpath.
- *     <li>{@link ClasspathResourceFinderRecursive} - Same as above, except if 
the resource can't be found on the
+ *     <li>{@link RecursiveClasspathResourceFinder} - Same as above, except if 
the resource can't be found on the
  *             classpath relative to the base class, recursively searches up 
the parent class hierarchy.
  * </ul>
  */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceManager.java
similarity index 78%
copy from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
copy to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceManager.java
index 23e7278..1c38674 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ClasspathResourceManager.java
@@ -10,8 +10,9 @@
 // * "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.utils;
+package org.apache.juneau.cp;
 
+import static org.apache.juneau.internal.IOUtils.*;
 import static org.apache.juneau.internal.ObjectUtils.*;
 
 import java.io.*;
@@ -19,6 +20,7 @@ import java.util.*;
 import java.util.concurrent.*;
 
 import org.apache.juneau.internal.*;
+import org.apache.juneau.parser.*;
 
 /**
  * Class for retrieving and caching resource files from the classpath.
@@ -57,12 +59,12 @@ public final class ClasspathResourceManager {
         * Constructor.
         *
         * <p>
-        * Uses default {@link ClasspathResourceFinderBasic} for finding 
resources.
+        * Uses default {@link BasicClasspathResourceFinder} for finding 
resources.
         *
         * @param baseClass The default class to use for retrieving resources 
from the classpath.
         */
        public ClasspathResourceManager(Class<?> baseClass) {
-               this(baseClass, new ClasspathResourceFinderBasic(), false);
+               this(baseClass, new BasicClasspathResourceFinder(), false);
        }
 
        /**
@@ -193,6 +195,49 @@ public final class ClasspathResourceManager {
                return stringCache.get(key);
        }
 
+       /**
+        * Reads the input stream and parses it into a POJO using the specified 
parser.
+        *
+        * @param c The class type of the POJO to create.
+        * @param parser The parser to use to parse the stream.
+        * @param name The resource name (e.g. "htdocs/styles.css").
+        * @param locale
+        *      Optional locale.
+        *      <br>If <jk>null</jk>, won't look for localized file names.
+        * @return The parsed resource, or <jk>null</jk> if the resource could 
not be found.
+        * @throws IOException Thrown by underlying stream.
+        * @throws ParseException If stream could not be parsed using the 
specified parser.
+        */
+       public <T> T getResource(Class<T> c, Parser parser, String name, Locale 
locale) throws IOException, ParseException {
+               return getResource(null, c, parser, name, locale);
+       }
+
+       /**
+        * Same as {@link #getResource(Class, Parser, String, Locale)}, except 
overrides the class used
+        * for retrieving the classpath resource.
+        *
+        * @param baseClass
+        *      Overrides the default class to use for retrieving the classpath 
resource.
+        *      <br>If <jk>null</jk>, uses the REST resource class.
+        * @param c The class type of the POJO to create.
+        * @param parser The parser to use to parse the stream.
+        * @param name The resource name (e.g. "htdocs/styles.css").
+        * @param locale
+        *      Optional locale.
+        *      <br>If <jk>null</jk>, won't look for localized file names.
+        * @return The parsed resource, or <jk>null</jk> if the resource could 
not be found.
+        * @throws IOException Thrown by underlying stream.
+        * @throws ParseException If stream could not be parsed using the 
specified parser.
+        */
+       public <T> T getResource(Class<?> baseClass, Class<T> c, Parser parser, 
String name, Locale locale) throws IOException, ParseException {
+               InputStream is = getStream(baseClass, name, locale);
+               if (is == null)
+                       return null;
+               try (Closeable in = parser.isReaderParser() ? new 
InputStreamReader(is, UTF8) : is) {
+                       return parser.parse(in, c);
+               }
+       }
+
        private class ResourceKey {
                final String name;
                final Locale locale;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java
similarity index 87%
copy from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
copy to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java
index 79be8e4..52a3e34 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/RecursiveClasspathResourceFinder.java
@@ -10,20 +10,20 @@
 // * "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.utils;
+package org.apache.juneau.cp;
 
 import java.io.*;
 import java.util.*;
 
 /**
- * Same as {@link ClasspathResourceFinderBasic} but searches for resources up 
the parent class hierarchy chain.
+ * Same as {@link BasicClasspathResourceFinder} but searches for resources up 
the parent class hierarchy chain.
  */
-public class ClasspathResourceFinderRecursive extends 
ClasspathResourceFinderBasic {
+public class RecursiveClasspathResourceFinder extends 
BasicClasspathResourceFinder {
 
        /**
         * Reusable instance.
         */
-       public static final ClasspathResourceFinderRecursive INSTANCE = new 
ClasspathResourceFinderRecursive();
+       public static final RecursiveClasspathResourceFinder INSTANCE = new 
RecursiveClasspathResourceFinder();
 
        @Override /* ResourceFinder2 */
        public InputStream findResource(Class<?> baseClass, String name, Locale 
locale) throws IOException {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleClasspathResourceFinder.java
similarity index 96%
copy from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
copy to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleClasspathResourceFinder.java
index eb97c8f..f0f402c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/SimpleClasspathResourceFinder.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.utils;
+package org.apache.juneau.cp;
 
 import static org.apache.juneau.internal.FileUtils.*;
 
@@ -34,12 +34,12 @@ import java.util.ResourceBundle.*;
  *     <li><js>"MyResource.txt"</js>
  * </ol>
  */
-public class ClasspathResourceFinderSimple implements ClasspathResourceFinder {
+public class SimpleClasspathResourceFinder implements ClasspathResourceFinder {
 
        /**
         * Reusable instance.
         */
-       public static final ClasspathResourceFinderSimple INSTANCE = new 
ClasspathResourceFinderSimple();
+       public static final SimpleClasspathResourceFinder INSTANCE = new 
SimpleClasspathResourceFinder();
 
        private static final ResourceBundle.Control RB_CONTROL = 
ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT);
        private static final List<Locale> ROOT_LOCALE = 
Arrays.asList(Locale.ROOT);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
index db6bd9b..200d782 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinder.java
@@ -12,7 +12,6 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-
 import java.io.*;
 import java.util.*;
 
@@ -32,7 +31,10 @@ import java.util.*;
  *     <li>{@link ClasspathResourceFinderRecursive} - Same as above, except if 
the resource can't be found on the
  *             classpath relative to the base class, recursively searches up 
the parent class hierarchy.
  * </ul>
+ *
+ * @deprecated Use {@link org.apache.juneau.cp.ClasspathResourceFinder}.
  */
+@Deprecated
 public interface ClasspathResourceFinder {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
index a9b6119..75c7ccd 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderBasic.java
@@ -15,6 +15,8 @@ package org.apache.juneau.utils;
 import java.io.*;
 import java.util.*;
 
+import org.apache.juneau.cp.*;
+
 /**
  * Utility class for finding resources for a class.
  *
@@ -22,7 +24,10 @@ import java.util.*;
  * Same as {@link ClasspathResourceFinderSimple}, but first searches the 
working directory for the file before
  * looking in the classpath.
  * <br>Path traversals outside the working directory are not allowed for 
security reasons.
+ *
+ * @deprecated Use {@link SimpleClasspathResourceFinder}.
  */
+@Deprecated
 public class ClasspathResourceFinderBasic extends 
ClasspathResourceFinderSimple {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
index 79be8e4..4d2fde3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderRecursive.java
@@ -15,9 +15,14 @@ package org.apache.juneau.utils;
 import java.io.*;
 import java.util.*;
 
+import org.apache.juneau.cp.*;
+
 /**
  * Same as {@link ClasspathResourceFinderBasic} but searches for resources up 
the parent class hierarchy chain.
+ *
+ * @deprecated Use {@link BasicClasspathResourceFinder}.
  */
+@Deprecated
 public class ClasspathResourceFinderRecursive extends 
ClasspathResourceFinderBasic {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
index eb97c8f..696eccf 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceFinderSimple.java
@@ -18,6 +18,8 @@ import java.io.*;
 import java.util.*;
 import java.util.ResourceBundle.*;
 
+import org.apache.juneau.cp.*;
+
 /**
  * Utility class for finding resources for a class.
  *
@@ -33,7 +35,10 @@ import java.util.ResourceBundle.*;
  *     <li><js>"MyResource_ja.txt"</js>
  *     <li><js>"MyResource.txt"</js>
  * </ol>
+ *
+ * @deprecated Use {@link SimpleClasspathResourceFinder}.
  */
+@Deprecated
 public class ClasspathResourceFinderSimple implements ClasspathResourceFinder {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
index 23e7278..3356576 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ClasspathResourceManager.java
@@ -22,7 +22,10 @@ import org.apache.juneau.internal.*;
 
 /**
  * Class for retrieving and caching resource files from the classpath.
+ *
+ * @deprecated Use {@link org.apache.juneau.cp.ClasspathResourceManager}.
  */
+@Deprecated
 public final class ClasspathResourceManager {
 
        // Maps resource names+locales to found resources.
diff --git 
a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
 
b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
index 2a0673a..a303908 100644
--- 
a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
+++ 
b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
@@ -26,6 +26,7 @@ import org.apache.juneau.jsonschema.annotation.Schema;
 import org.apache.juneau.xml.*;
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
+import org.apache.juneau.cp.*;
 import org.apache.juneau.dto.swagger.*;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.http.annotation.Body;
@@ -36,7 +37,6 @@ import org.apache.juneau.http.annotation.Response;
 import org.apache.juneau.http.annotation.Tag;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.mock2.*;
-import org.apache.juneau.utils.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
@@ -60,7 +60,7 @@ public class BasicRestInfoProviderTest {
                return ip.getSwagger(req);
        }
 
-       public static class TestClasspathResourceFinder extends 
ClasspathResourceFinderBasic {
+       public static class TestClasspathResourceFinder extends 
BasicClasspathResourceFinder {
                @Override
                public InputStream findResource(Class<?> baseClass, String 
name, Locale locale) throws IOException {
                        if (name.endsWith(".json"))
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
index 9cc7524..4bcedd0 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
@@ -24,12 +24,13 @@ import java.util.logging.*;
 import javax.servlet.*;
 import javax.servlet.http.*;
 
+import org.apache.juneau.cp.*;
+import org.apache.juneau.cp.ClasspathResourceFinder;
 import org.apache.juneau.dto.swagger.*;
 import org.apache.juneau.html.annotation.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.config.*;
-import org.apache.juneau.utils.*;
 import org.apache.juneau.http.exception.*;
 
 /**
@@ -278,7 +279,7 @@ public abstract class BasicRest implements 
BasicUniversalRest, BasicRestMethods,
                this.callHandler = new BasicRestCallHandler(context);
                this.infoProvider = new BasicRestInfoProvider(context);
                this.callLogger = new BasicRestCallLogger(context);
-               this.resourceFinder = new ClasspathResourceFinderBasic();
+               this.resourceFinder = new BasicClasspathResourceFinder();
        }
 
        /**
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 dcbd72f..e765fd8 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
@@ -38,6 +38,9 @@ import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.collections.*;
 import org.apache.juneau.config.*;
+import org.apache.juneau.cp.*;
+import org.apache.juneau.cp.ClasspathResourceFinder;
+import org.apache.juneau.cp.ClasspathResourceManager;
 import org.apache.juneau.encoders.*;
 import org.apache.juneau.html.*;
 import org.apache.juneau.html.annotation.*;
@@ -775,8 +778,8 @@ public final class RestContext extends BeanContext {
         * <ul class='spaced-list'>
         *      <li><b>ID:</b>  {@link 
org.apache.juneau.rest.RestContext#REST_classpathResourceFinder 
REST_classpathResourceFinder}
         *      <li><b>Name:</b>  
<js>"RestContext.classpathResourceFinder.o"</js>
-        *      <li><b>Data type:</b>  {@link 
org.apache.juneau.utils.ClasspathResourceFinder}
-        *      <li><b>Default:</b>  {@link 
org.apache.juneau.utils.ClasspathResourceFinderBasic}
+        *      <li><b>Data type:</b>  {@link 
org.apache.juneau.cp.ClasspathResourceFinder}
+        *      <li><b>Default:</b>  {@link 
org.apache.juneau.cp.BasicClasspathResourceFinder}
         *      <li><b>Session property:</b>  <jk>false</jk>
         *      <li><b>Annotations:</b>
         *              <ul>
@@ -854,9 +857,9 @@ public final class RestContext extends BeanContext {
         *
         * <ul class='notes'>
         *      <li>
-        *              The default value is {@link 
ClasspathResourceFinderBasic} which provides basic support for finding localized
+        *              The default value is {@link 
BasicClasspathResourceFinder} which provides basic support for finding localized
         *              resources on the classpath and JVM working directory.
-        *              <br>The {@link ClasspathResourceFinderRecursive} is 
another option that also recursively searches for resources
+        *              <br>The {@link RecursiveClasspathResourceFinder} is 
another option that also recursively searches for resources
         *              up the class-hierarchy.
         *              <br>Each of these classes can be extended to provide 
customized handling of resource retrieval.
         *      <li>
@@ -864,7 +867,7 @@ public final class RestContext extends BeanContext {
         *              explicitly overridden via this annotation.
         *      <li>
         *              The {@link RestServlet} and {@link BasicRest} classes 
implement the {@link ClasspathResourceFinder} interface with the same
-        *              functionality as {@link ClasspathResourceFinderBasic} 
that gets used if not overridden by this annotation.
+        *              functionality as {@link BasicClasspathResourceFinder} 
that gets used if not overridden by this annotation.
         *              <br>Subclasses can also alter the behavior by 
overriding these methods.
         *      <li>
         *              When defined as a class, the implementation must have 
one of the following constructors:
@@ -3832,7 +3835,7 @@ public final class RestContext extends BeanContext {
                        for (String mimeType : getArrayProperty(REST_mimeTypes, 
String.class))
                                mimetypesFileTypeMap.addMimeTypes(mimeType);
 
-                       Object defaultResourceFinder = resource instanceof 
ClasspathResourceFinder ? resource : ClasspathResourceFinderBasic.class;
+                       Object defaultResourceFinder = resource instanceof 
ClasspathResourceFinder ? resource : BasicClasspathResourceFinder.class;
                        ClasspathResourceFinder rf = 
getInstanceProperty(REST_classpathResourceFinder, 
ClasspathResourceFinder.class, defaultResourceFinder, resourceResolver, this);
 
                        useClasspathResourceCaching = 
getProperty(REST_useClasspathResourceCaching, boolean.class, true);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index 9e95666..05b787b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -28,6 +28,7 @@ import javax.servlet.*;
 import org.apache.juneau.*;
 import org.apache.juneau.config.*;
 import org.apache.juneau.config.vars.*;
+import org.apache.juneau.cp.*;
 import org.apache.juneau.encoders.*;
 import org.apache.juneau.html.*;
 import org.apache.juneau.http.*;
@@ -45,7 +46,6 @@ import org.apache.juneau.rest.widget.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.svl.*;
 import org.apache.juneau.svl.vars.*;
-import org.apache.juneau.utils.*;
 
 /**
  * Defines the initial configuration of a <c>RestServlet</c> or <c>@Rest</c> 
annotated object.
@@ -745,7 +745,7 @@ public class RestContextBuilder extends BeanContextBuilder 
implements ServletCon
         *
         * @param value
         *      The new value for this setting.
-        *      <br>The default is {@link ClasspathResourceFinderBasic}.
+        *      <br>The default is {@link BasicClasspathResourceFinder}.
         * @return This object (for method chaining).
         */
        @FluentSetter
@@ -765,7 +765,7 @@ public class RestContextBuilder extends BeanContextBuilder 
implements ServletCon
         *
         * @param value
         *      The new value for this setting.
-        *      <br>The default is {@link ClasspathResourceFinderBasic}.
+        *      <br>The default is {@link BasicClasspathResourceFinder}.
         * @return This object (for method chaining).
         */
        @FluentSetter
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
index 1004d8f..40fc98e 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
@@ -31,7 +31,7 @@ import javax.servlet.http.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.reflect.*;
 import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.utils.*;
+import org.apache.juneau.cp.*;
 import org.apache.juneau.dto.swagger.*;
 import org.apache.juneau.http.exception.*;
 
@@ -101,7 +101,7 @@ public abstract class RestServlet extends HttpServlet 
implements RestCallHandler
                callHandler = new BasicRestCallHandler(context);
                infoProvider = new BasicRestInfoProvider(context);
                callLogger = new BasicRestCallLogger(context);
-               resourceFinder = new ClasspathResourceFinderBasic();
+               resourceFinder = new BasicClasspathResourceFinder();
                context.postInit();
        }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
index 63691ab..c1e28a4 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
@@ -20,11 +20,11 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.collections.*;
+import org.apache.juneau.cp.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.utils.*;
 
 /**
  * Static file mapping.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFiles.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFiles.java
index 35aa3c0..27795c0 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFiles.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFiles.java
@@ -17,8 +17,8 @@ import java.util.*;
 
 import javax.activation.*;
 
+import org.apache.juneau.cp.*;
 import org.apache.juneau.internal.*;
-import org.apache.juneau.utils.*;
 
 /**
  * The static file resource resolver for a single {@link StaticFileMapping}.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
index a210eab..2901334 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
@@ -20,10 +20,10 @@ import java.lang.annotation.*;
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.config.*;
+import org.apache.juneau.cp.*;
 import org.apache.juneau.encoders.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.rest.*;
-import org.apache.juneau.utils.*;
 
 /**
  * Used to denote that a class is a REST resource and to associate metadata on 
it.
@@ -213,13 +213,13 @@ public @interface Rest {
         *
         * <ul class='notes'>
         *      <li>
-        *              The default resource finder if not specified is {@link 
ClasspathResourceFinderBasic}.
+        *              The default resource finder if not specified is {@link 
BasicClasspathResourceFinder}.
         *      <li>
         *              The resource class itself will be used if it implements 
the {@link ClasspathResourceFinder} interface and not
         *              explicitly overridden via this annotation.
         *      <li>
         *              The {@link RestServlet} and {@link BasicRest} classes 
implement the {@link ClasspathResourceFinder} interface with the same
-        *              functionality as {@link ClasspathResourceFinderBasic} 
that gets used if not overridden by this annotation.
+        *              functionality as {@link BasicClasspathResourceFinder} 
that gets used if not overridden by this annotation.
         *              <br>Subclasses can also alter the behavior by 
overriding this method.
         *      <li>
         *              The implementation must have one of the following 
constructors:
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
index fa8afe5..dffced0 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
@@ -22,6 +22,7 @@ import static org.apache.juneau.internal.ArrayUtils.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.collections.*;
+import org.apache.juneau.cp.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
@@ -31,7 +32,6 @@ import org.apache.juneau.rest.annotation.AnnotationUtils;
 import org.apache.juneau.rest.annotation.Logging;
 import org.apache.juneau.rest.util.*;
 import org.apache.juneau.svl.*;
-import org.apache.juneau.utils.*;
 
 /**
  * Applies {@link Rest} annotations to a {@link PropertyStoreBuilder}.
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 cc3de68..70a04db 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
@@ -12,10 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.vars;
 
+import org.apache.juneau.cp.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.svl.*;
-import org.apache.juneau.utils.*;
 
 /**
  * File resource variable resolver
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
index 300afc2..157d24c 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
@@ -17,7 +17,7 @@ import java.util.*;
 
 import org.apache.juneau.rest.*;
 import org.apache.juneau.svl.*;
-import org.apache.juneau.utils.*;
+import org.apache.juneau.cp.*;
 import org.apache.juneau.html.*;
 
 /**
@@ -39,7 +39,7 @@ import org.apache.juneau.html.*;
  */
 public abstract class Widget implements HtmlWidget {
 
-       private final ClasspathResourceManager rm = new 
ClasspathResourceManager(getClass(), ClasspathResourceFinderRecursive.INSTANCE, 
false);
+       private final ClasspathResourceManager rm = new 
ClasspathResourceManager(getClass(), RecursiveClasspathResourceFinder.INSTANCE, 
false);
 
        private static final String SESSION_req = "req";
        private static final String SESSION_res = "res";

Reply via email to