diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-07-02 15:37:05 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-07-02 15:37:05 +0000 |
commit | c30d85f5d1d1ead6e9ad703f87392992e38150ac (patch) | |
tree | 71322bd610db5f5dac2b5399c3ef1325cca5d7f5 /branches/sca-java-1.3/modules/databinding/src/main/java | |
parent | 4c7b2e5c0549718ed1814edbb1adb8166efe4fca (diff) |
Fix for TUSCANY-2444, merged from trunk
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@673421 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.3/modules/databinding/src/main/java')
-rw-r--r-- | branches/sca-java-1.3/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/branches/sca-java-1.3/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java b/branches/sca-java-1.3/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java index d6a699390f..b97abda2b0 100644 --- a/branches/sca-java-1.3/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java +++ b/branches/sca-java-1.3/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java @@ -150,17 +150,25 @@ public class BeanXMLStreamReaderImpl extends XmlTreeStreamReaderImpl { public String getValue() { return getStringValue(value); } + + private static String getPackageName(Class<?> cls) { + String name = cls.getName(); + int index = name.lastIndexOf('.'); + return index == -1 ? "" : name.substring(0, index); + } public static QName getName(Class<?> cls) { if (cls == null) { return null; } - Package pkg = cls.getPackage(); - if (pkg == null) { + + String packageName = getPackageName(cls); + + if ("".equals(packageName)) { return new QName("", cls.getSimpleName()); } 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) { |