[CXF-6731/CXF-6580] Fix bug introduced by CXF-6580

# Conflicts:
#       
tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d8d709cf
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d8d709cf
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d8d709cf

Branch: refs/heads/3.0.x-fixes
Commit: d8d709cfa69e99f81cf0fd3e21357be90040ea6a
Parents: 8e4d8ed
Author: Daniel Kulp <dk...@apache.org>
Authored: Fri Mar 31 14:22:50 2017 -0400
Committer: Daniel Kulp <dk...@apache.org>
Committed: Fri Mar 31 15:33:18 2017 -0400

----------------------------------------------------------------------
 .../wsdlto/databinding/jaxb/JAXBDataBinding.java   | 17 +++++++++++++----
 .../cxf/tools/wsdlto/jaxws/CodeGenBugTest.java     |  8 ++++++++
 2 files changed, 21 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/d8d709cf/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
----------------------------------------------------------------------
diff --git 
a/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
 
b/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
index 8daf996..e9f1611 100644
--- 
a/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
+++ 
b/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
@@ -604,12 +604,12 @@ public class JAXBDataBinding implements 
DataBindingProfile {
         return result;
     }
 
-    @SuppressWarnings("unchecked")
     private void addSchemas(Options opts,
                             SchemaCompiler schemaCompiler,
                             SchemaCollection schemaCollection) {
 
-        Set<String> ids = new HashSet<String>();
+        Set<String> ids = new HashSet<>();
+        @SuppressWarnings("unchecked")
         List<ServiceInfo> serviceList = 
(List<ServiceInfo>)context.get(ToolConstants.SERVICE_LIST);
         for (ServiceInfo si : serviceList) {
             for (SchemaInfo sci : si.getSchemas()) {
@@ -672,8 +672,10 @@ public class JAXBDataBinding implements DataBindingProfile 
{
                 continue;
             }
             String key = schema.getSourceURI();
+            String tns = schema.getTargetNamespace();
+            String ltns = schema.getLogicalTargetNamespace();
             // accepting also a null tns (e.g., reported by 
apache.ws.xmlschema for no-namespace)
-            if (ids.contains(key)) {
+            if (ids.contains(key) || (tns == null && 
!StringUtils.isEmpty(ltns))) {
                 continue;
             }
             if (key.startsWith("file:") || key.startsWith("jar:")) {
@@ -706,7 +708,14 @@ public class JAXBDataBinding implements DataBindingProfile 
{
                 }
             }
         }
-        ids.clear();
+        addSchemasForServiceInfos(catalog, serviceList, opts, schemaCompiler, 
schemaCollection);
+    }
+    private void addSchemasForServiceInfos(OASISCatalogManager catalog,
+                                           List<ServiceInfo> serviceList,
+                                          Options opts,
+                                          SchemaCompiler schemaCompiler,
+                                          SchemaCollection schemaCollection) {
+        Set<String> ids = new HashSet<>();
         for (ServiceInfo si : serviceList) {
             for (SchemaInfo sci : si.getSchemas()) {
                 String key = sci.getSystemId();

http://git-wip-us.apache.org/repos/asf/cxf/blob/d8d709cf/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
----------------------------------------------------------------------
diff --git 
a/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
 
b/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
index 27236f8..f3cc145 100644
--- 
a/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
+++ 
b/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
@@ -1196,6 +1196,14 @@ public class CodeGenBugTest extends AbstractCodeGenTest {
             fail("shouldn't get exception");
         }
     }
+    
+
+    @Test
+    public void testsdfasdf() throws Exception {
+        env.put(ToolConstants.CFG_WSDLURL, 
"/Users/dkulp/Downloads/test/WSDL.wsdl");
+        processor.setContext(env);
+        processor.execute();
+    }
 
     @Test
     public void testCXF5280() throws Exception {

Reply via email to