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 d364d9f BasicRestInfoProvider tests d364d9f is described below commit d364d9fc0d7699aa430d8ad14b4a21346b9a8e90 Author: JamesBognar <jamesbog...@apache.org> AuthorDate: Sun Apr 22 10:06:31 2018 -0400 BasicRestInfoProvider tests --- .../java/org/apache/juneau/utils/ClassUtilsTest.java | 12 ++++++++++++ .../java/org/apache/juneau/internal/ClassUtils.java | 17 +++++++++++++++++ .../org/apache/juneau/rest/BasicRestInfoProvider.java | 7 +++++-- .../apache/juneau/rest/BasicRestInfoProviderTest.java | 5 +---- 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java index c0a59b7..ccad5f9 100755 --- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java +++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/ClassUtilsTest.java @@ -379,4 +379,16 @@ public class ClassUtilsTest { c = 1; } } + + //==================================================================================================== + // getSimpleName() + //==================================================================================================== + @Test + public void getSimpleName() throws Exception { + assertEquals("ClassUtilsTest.G1", ClassUtils.getSimpleName(G1.class)); + assertEquals("ClassUtilsTest.G2", ClassUtils.getSimpleName(G2.class)); + } + + public class G1 {} + public static class G2 {} } diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java index d276fc9..7ebbe94 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java @@ -2042,4 +2042,21 @@ public final class ClassUtils { return t.toString(); } } + + /** + * Returns the simple name of a class. + * + * <p> + * Similar to {@link Class#getSimpleName()}, but includes the simple name of an enclosing or declaring class. + * + * @param c The class to get the simple name on. + * @return The simple name of a class. + */ + public static String getSimpleName(Class<?> c) { + if (c.isLocalClass()) + return getSimpleName(c.getEnclosingClass()) + '.' + c.getSimpleName(); + if (c.isMemberClass()) + return getSimpleName(c.getDeclaringClass()) + '.' + c.getSimpleName(); + return c.getSimpleName(); + } } diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestInfoProvider.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestInfoProvider.java index 01cdac9..bdf6aea 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestInfoProvider.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestInfoProvider.java @@ -169,6 +169,7 @@ public class BasicRestInfoProvider implements RestInfoProvider { // Wasn't cached...need to create one. + Object resource = context.getResource(); VarResolverSession vr = req.getVarResolverSession(); JsonParser jp = JsonParser.DEFAULT; MessageBundle mb = context.getMessages(); @@ -176,12 +177,14 @@ public class BasicRestInfoProvider implements RestInfoProvider { JsonSchemaSerializerSession js = req.getContext().getJsonSchemaSerializer().createSession(); // Load swagger JSON from classpath. - ObjectMap omSwagger = context.getClasspathResource(ObjectMap.class, MediaType.JSON, getClass().getSimpleName() + ".json", locale); + ObjectMap omSwagger = context.getClasspathResource(ObjectMap.class, MediaType.JSON, ClassUtils.getSimpleName(resource.getClass()) + ".json", locale); + if (omSwagger == null) + omSwagger = context.getClasspathResource(ObjectMap.class, MediaType.JSON, resource.getClass().getSimpleName() + ".json", locale); if (omSwagger == null) omSwagger = new ObjectMap(); // Combine it with @RestResource(swagger) - for (Map.Entry<Class<?>,RestResource> e : findAnnotationsMapParentFirst(RestResource.class, context.getResource().getClass()).entrySet()) { + for (Map.Entry<Class<?>,RestResource> e : findAnnotationsMapParentFirst(RestResource.class, resource.getClass()).entrySet()) { RestResource rr = e.getValue(); if (! rr.title().isEmpty()) diff --git a/juneau-rest/juneau-rest-server/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java b/juneau-rest/juneau-rest-server/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java index 75d42e5..626ae73 100644 --- a/juneau-rest/juneau-rest-server/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java +++ b/juneau-rest/juneau-rest-server/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java @@ -45,11 +45,8 @@ public class BasicRestInfoProviderTest { @Override public InputStream findResource(Class<?> baseClass, String name, Locale locale) throws IOException { - System.out.println("XXX - TestClasspathResourceFinder.findResource("+baseClass+", "+name+", " + locale + ")"); - if (name.endsWith(".json")) { - System.out.println("XXX - InputStream1=" + BasicRestInfoProvider.class.getResourceAsStream("BasicRestinfoProviderTest_swagger.json")); + if (name.endsWith(".json")) return BasicRestInfoProvider.class.getResourceAsStream("BasicRestInfoProviderTest_swagger.json"); - } return super.findResource(baseClass, name, locale); } } -- To stop receiving notification emails like this one, please contact jamesbog...@apache.org.