1.1 --- a/mdr/extras/uml2mof/src/org/netbeans/lib/jmi/uml2mof/Transformer.java Fri Jun 06 15:28:57 2003 +0000
1.2 +++ b/mdr/extras/uml2mof/src/org/netbeans/lib/jmi/uml2mof/Transformer.java Mon Jun 16 21:40:39 2003 +0000
1.3 @@ -513,10 +513,7 @@
1.4 private String getTagValue(ModelElement element, String tagName, String defaultValue) {
1.5 for (Iterator it = element.getTaggedValue().iterator(); it.hasNext();) {
1.6 TaggedValue tag = (TaggedValue) it.next();
1.7 - String temp = tag.getName();
1.8 - if (tag.getType() != null && tag.getType().getTagType() != null) {
1.9 - temp = tag.getType().getTagType();
1.10 - }
1.11 + String temp = getTagName(tag);
1.12 if (tagName.equals(temp)) {
1.13 return (String) tag.getDataValue().iterator().next();
1.14 }
1.15 @@ -524,13 +521,23 @@
1.16 return defaultValue;
1.17 }
1.18
1.19 + private String getTagName(TaggedValue tag) {
1.20 + String temp = tag.getName();
1.21 + if (temp == null && tag.getType() != null) {
1.22 + // this is a workaround for a bug in Poseidon's tag serialization
1.23 + // (in version 1.5 it uses TagType instead of Name)
1.24 + temp = tag.getType().getTagType();
1.25 + if (temp == null || temp.indexOf('.') < 0) {
1.26 + temp = tag.getType().getName();
1.27 + }
1.28 + }
1.29 + return temp;
1.30 + }
1.31 +
1.32 private ArrayList getTagValues(ModelElement element, String tagName) {
1.33 for (Iterator it = element.getTaggedValue().iterator(); it.hasNext();) {
1.34 TaggedValue tag = (TaggedValue) it.next();
1.35 - String temp = tag.getName();
1.36 - if (temp == null && tag.getType() != null) {
1.37 - temp = tag.getType().getTagType();
1.38 - }
1.39 + String temp = getTagName(tag);
1.40 if (tagName.equals(temp)) {
1.41 return new ArrayList(tag.getDataValue());
1.42 }
1.43 @@ -542,10 +549,7 @@
1.44 // iterate through tagged values
1.45 for (Iterator it = umlElement.getTaggedValue().iterator(); it.hasNext();) {
1.46 TaggedValue tag = (TaggedValue) it.next();
1.47 - String tagName = tag.getName();
1.48 - if (tagName == null && tag.getType() != null) {
1.49 - tagName = tag.getType().getTagType();
1.50 - }
1.51 + String tagName = getTagName(tag);
1.52 mapTag(tagName, tag, mofElement);
1.53 }
1.54 }