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/21 21:28:15 UTC

[juneau] branch master updated: Debug build failure.

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 91fc64d  Debug build failure.
91fc64d is described below

commit 91fc64d0a582c3ea6de642bebe38b48270d9d4fd
Author: JamesBognar <ja...@apache.org>
AuthorDate: Sat Apr 21 17:28:00 2018 -0400

    Debug build failure.
---
 .../apache/juneau/rest/BasicRestInfoProvider.java  |  7 +-
 .../juneau/rest/BasicRestInfoProviderTest.java     | 75 +++++++++++++++++++++-
 2 files changed, 79 insertions(+), 3 deletions(-)

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 c9c7bbe..01cdac9 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
@@ -424,13 +424,13 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 				op.put("responses", new TreeMap<>(responses));
 			
 			if (! op.containsKey("consumes")) {
-				List<MediaType> mConsumes = req.getParsers().getSupportedMediaTypes();
+				List<MediaType> mConsumes = sm.supportedContentTypes;
 				if (! mConsumes.equals(consumes))
 					op.put("consumes", mConsumes);
 			}
 
 			if (! op.containsKey("produces")) {
-				List<MediaType> mProduces = req.getSerializers().getSupportedMediaTypes();
+				List<MediaType> mProduces = sm.supportedAcceptTypes;
 				if (! mProduces.equals(produces))
 					op.put("produces", mProduces);
 			}
@@ -529,6 +529,9 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 
 	private ObjectMap getSchema(RestRequest req, ObjectMap schema, JsonSchemaSerializerSession js, Type type) throws Exception {
 		BeanSession bs = req.getBeanSession();
+		if (bs == null)
+			bs = BeanContext.DEFAULT.createBeanSession();
+		
 		ClassMeta<?> cm = bs.getClassMeta(type);
 		
 		if (schema.getBoolean("ignore", false))
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 10cad52..6efdf37 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,8 +45,11 @@ public class BasicRestInfoProviderTest {
 
 		@Override
 		public InputStream findResource(Class<?> baseClass, String name, Locale locale) throws IOException {
-			if (name.endsWith(".json"))
+			System.out.println("XXX - TestClasspathResourceFinder.findResource("+baseClass+", "+name+", " + locale + ")");
+			if (name.endsWith(".json")) {
+				System.out.println("XXX - InputStream1=" + BasicRestInfoProvider.class.getResourceAsStream("BasicRestinfoProviderTest_swagger.json"));
 				return BasicRestInfoProvider.class.getResourceAsStream("BasicRestinfoProviderTest_swagger.json");
+			}
 			return super.findResource(baseClass, name, locale);
 		}
 	}
@@ -559,6 +562,76 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("[{name:'l-foo',description:'l-foo',externalDocs:{description:'l-foo',url:'l-foo'}}]", getSwaggerWithFile(new J07()).getTags());
 	}
 
+	// Auto-detect tags defined on methods.
+	@RestResource()
+	public static class J08 {
+		
+		@RestMethod(swagger=@MethodSwagger(tags="foo"))
+		public void doFoo() {}
+	}
+	
+	@Test
+	public void j08_tags_ResourceSwagger_tags_loose() throws Exception {
+		assertObjectEquals("[{name:'foo'}]", getSwagger(new J08()).getTags());
+		assertObjectEquals("[{name:'s-name',description:'s-description',externalDocs:{description:'s-description',url:'s-url'}},{name:'foo'}]", getSwaggerWithFile(new J08()).getTags());
+	}
+	
+	// Comma-delimited list
+	@RestResource()
+	public static class J09 {
+		
+		@RestMethod(swagger=@MethodSwagger(tags=" foo, bar "))
+		public void doFoo() {}
+	}
+	
+	@Test
+	public void j09_tags_ResourceSwagger_tags_loose_cdl() throws Exception {
+		assertObjectEquals("[{name:'foo'},{name:'bar'}]", getSwagger(new J09()).getTags());
+		assertObjectEquals("[{name:'s-name',description:'s-description',externalDocs:{description:'s-description',url:'s-url'}},{name:'foo'},{name:'bar'}]", getSwaggerWithFile(new J09()).getTags());
+	}
+
+	// ObjectList
+	@RestResource()
+	public static class J10 {
+		
+		@RestMethod(swagger=@MethodSwagger(tags="['foo', 'bar']"))
+		public void doFoo() {}
+	}
+	
+	@Test
+	public void j10_tags_ResourceSwagger_tags_loose_objectlist() throws Exception {
+		assertObjectEquals("[{name:'foo'},{name:'bar'}]", getSwagger(new J10()).getTags());
+		assertObjectEquals("[{name:'s-name',description:'s-description',externalDocs:{description:'s-description',url:'s-url'}},{name:'foo'},{name:'bar'}]", getSwaggerWithFile(new J10()).getTags());
+	}
+
+	// ObjectList localized
+	@RestResource(messages="BasicRestInfoProviderTest")
+	public static class J11 {
+		
+		@RestMethod(swagger=@MethodSwagger(tags="['$L{foo}', '$L{bar}']"))
+		public void doFoo() {}
+	}
+	
+	@Test
+	public void j11_tags_ResourceSwagger_tags_loose_objectlist_localized() throws Exception {
+		assertObjectEquals("[{name:'l-foo'},{name:'l-bar'}]", getSwagger(new J11()).getTags());
+		assertObjectEquals("[{name:'s-name',description:'s-description',externalDocs:{description:'s-description',url:'s-url'}},{name:'l-foo'},{name:'l-bar'}]", getSwaggerWithFile(new J11()).getTags());
+	}
+
+	// Comma-delimited list localized
+	@RestResource(messages="BasicRestInfoProviderTest")
+	public static class J12 {
+		
+		@RestMethod(swagger=@MethodSwagger(tags=" $L{foo}, $L{bar} "))
+		public void doFoo() {}
+	}
+	
+	@Test
+	public void j12_tags_ResourceSwagger_tags_loose_cdl_localized() throws Exception {
+		assertObjectEquals("[{name:'l-foo'},{name:'l-bar'}]", getSwagger(new J12()).getTags());
+		assertObjectEquals("[{name:'s-name',description:'s-description',externalDocs:{description:'s-description',url:'s-url'}},{name:'l-foo'},{name:'l-bar'}]", getSwaggerWithFile(new J12()).getTags());
+	}
+
 	
 	//-----------------------------------------------------------------------------------------------------------------
 	// /schemes

-- 
To stop receiving notification emails like this one, please contact
jamesbognar@apache.org.