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 2020/07/20 14:44:45 UTC
[juneau] branch master updated: New org.apache.juneau.cp package.
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 <ja...@salesforce.com>
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";