diff options
Diffstat (limited to 'java/sca/modules/interface/src/main')
-rw-r--r-- | java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/JavaXMLMapper.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/JavaXMLMapper.java b/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/JavaXMLMapper.java index 811bb09fc4..54c0a3ec11 100644 --- a/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/JavaXMLMapper.java +++ b/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/JavaXMLMapper.java @@ -117,13 +117,19 @@ public final class JavaXMLMapper { return JAVA2XML.get(javaType); } + private static String getPackageName(Class<?> cls) { + String name = cls.getName(); + int index = name.lastIndexOf('.'); + return index == -1 ? "" : name.substring(0, index); + } + public static String getNamespace(Class<?> cls) { - Package pkg = cls.getPackage(); - if (pkg == null) { + String packageName = getPackageName(cls); + if ("".equals(packageName)) { return ""; } StringBuffer ns = new StringBuffer("http://"); - String[] names = pkg.getName().split("\\."); + String[] names = packageName.split("\\."); for (int i = names.length - 1; i >= 0; i--) { ns.append(names[i]); if (i != 0) { |