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); + } + + }
