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.

Reply via email to