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 2018/04/22 14:06:45 UTC
[juneau] branch master updated: BasicRestInfoProvider tests
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 <ja...@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
jamesbognar@apache.org.