This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 6486659d50e33a19d4541a19709fad749dbde2b6
Author: Colm O hEigeartaigh <[email protected]>
AuthorDate: Mon Jun 8 11:14:27 2020 +0100

    CXF-8298 - An invalid package name is generated
    
    (cherry picked from commit 9713d86acedbfa6be6375e7d494c2771cd438f05)
    (cherry picked from commit 869eeb6a5be5f71d1a9497cbdd01d93e585be7c1)
    
    # Conflicts:
    #   core/src/test/java/org/apache/cxf/common/util/PackageUtilsTest.java
---
 .../org/apache/cxf/common/util/PackageUtils.java   |  4 ++-
 .../apache/cxf/common/util/PackageUtilsTest.java   | 32 ++++++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/core/src/main/java/org/apache/cxf/common/util/PackageUtils.java 
b/core/src/main/java/org/apache/cxf/common/util/PackageUtils.java
index e90fa63..582152f 100644
--- a/core/src/main/java/org/apache/cxf/common/util/PackageUtils.java
+++ b/core/src/main/java/org/apache/cxf/common/util/PackageUtils.java
@@ -139,12 +139,14 @@ public final class PackageUtils {
             String token = tokens.get(i);
             token = removeIllegalIdentifierChars(token);
 
+            token = token.toLowerCase();
+
             // this will check for reserved keywords
             if (containsReservedKeywords(token)) {
                 token = '_' + token;
             }
 
-            tokens.set(i, token.toLowerCase());
+            tokens.set(i, token);
         }
 
         // concat all the pieces and return it
diff --git 
a/core/src/test/java/org/apache/cxf/common/util/PackageUtilsTest.java 
b/core/src/test/java/org/apache/cxf/common/util/PackageUtilsTest.java
index c5978e6..4fb42d7 100644
--- a/core/src/test/java/org/apache/cxf/common/util/PackageUtilsTest.java
+++ b/core/src/test/java/org/apache/cxf/common/util/PackageUtilsTest.java
@@ -114,4 +114,36 @@ public class PackageUtilsTest extends Assert {
               org.apache.cxf.configuration.spring.JAXBBeanFactory.class));
         assertEquals("org.apache.cxf", packageName);
     }
+
+    @Test
+    public void testParsePackageName() throws Exception {
+        assertEquals("com.example.test.passed",
+                
PackageUtils.parsePackageName("http://www.example.com/test:passed";, " "));
+        assertEquals("org.apache.cxf.no_body_parts.wsdl",
+                
PackageUtils.parsePackageName("urn:org:apache:cxf:no_body_parts/wsdl", ""));
+    }
+
+    @Test
+    public void testGetPackageNameByNameSpaceURI() throws Exception {
+        assertEquals("com.iona.cxf", 
PackageUtils.getPackageNameByNameSpaceURI("http://www.cxf.iona.com";));
+        assertEquals("com.iona._class", 
PackageUtils.getPackageNameByNameSpaceURI("urn:www.class.iona.com"));
+        assertEquals("uri.cxf_apache_org.jstest",
+                
PackageUtils.getPackageNameByNameSpaceURI("uri:cxf.apache.org:jstest"));
+        assertEquals("soapinterface.ems.esendex.com",
+                
PackageUtils.getPackageNameByNameSpaceURI("com.esendex.ems.soapinterface"));
+        assertEquals("ddd.cc.bb.aa.eee.fff_v01_00",
+                
PackageUtils.getPackageNameByNameSpaceURI("http://aa.bb.cc.ddd/eee/fff_v01.00";));
+        assertEquals("org.apache.cxf._case",
+                
PackageUtils.getPackageNameByNameSpaceURI("http://www.case.cxf.apache.org";));
+        assertEquals("org.apache.cxf._case",
+                
PackageUtils.getPackageNameByNameSpaceURI("http://www.Case.cxf.apache.org";));
+    }
+
+    @Test
+    public void testGetNamespace() throws Exception {
+        final String packageName = 
PackageUtils.getNamespace(getClass().getPackage().getName());
+        assertEquals("http://util.common.cxf.apache.org/";, packageName);
+    }
+
+
 }

Reply via email to