1.1 --- a/mdr/extras/uml2mof/src/org/netbeans/lib/jmi/uml2mof/Transformer.java Mon Feb 02 05:44:24 2004 +0000
1.2 +++ b/mdr/extras/uml2mof/src/org/netbeans/lib/jmi/uml2mof/Transformer.java Mon Feb 02 05:46:51 2004 +0000
1.3 @@ -12,71 +12,27 @@
1.4 */
1.5 package org.netbeans.lib.jmi.uml2mof;
1.6
1.7 -import java.util.ArrayList;
1.8 -import java.util.Collection;
1.9 -import java.util.HashMap;
1.10 -import java.util.HashSet;
1.11 -import java.util.Iterator;
1.12 -import java.util.List;
1.13 -import java.util.Map;
1.14 -import java.util.NoSuchElementException;
1.15 -import java.util.StringTokenizer;
1.16 -import javax.jmi.model.AliasType;
1.17 -import javax.jmi.model.Association;
1.18 -import javax.jmi.model.Classifier;
1.19 -import javax.jmi.model.CollectionType;
1.20 -import javax.jmi.model.DirectionKind;
1.21 -import javax.jmi.model.DirectionKindEnum;
1.22 -import javax.jmi.model.EnumerationType;
1.23 -import javax.jmi.model.Import;
1.24 -import javax.jmi.model.ModelPackage;
1.25 -import javax.jmi.model.MofClass;
1.26 -import javax.jmi.model.MofException;
1.27 -import javax.jmi.model.MofPackage;
1.28 -import javax.jmi.model.MultiplicityType;
1.29 -import javax.jmi.model.NameNotFoundException;
1.30 -import javax.jmi.model.PrimitiveType;
1.31 -import javax.jmi.model.PrimitiveTypeClass;
1.32 -import javax.jmi.model.Reference;
1.33 -import javax.jmi.model.ScopeKindEnum;
1.34 -import javax.jmi.model.StructuralFeature;
1.35 -import javax.jmi.model.StructureField;
1.36 -import javax.jmi.model.StructureType;
1.37 -import javax.jmi.model.Tag;
1.38 -import javax.jmi.model.VisibilityKindEnum;
1.39 -import javax.jmi.reflect.RefObject;
1.40 -import org.omg.uml.behavioralelements.commonbehavior.UmlException;
1.41 -import org.omg.uml.modelmanagement.UmlPackage;
1.42 -import org.omg.uml.foundation.core.AStereotypeExtendedElement;
1.43 import org.omg.uml.foundation.core.AssociationEnd;
1.44 import org.omg.uml.foundation.core.Attribute;
1.45 -import org.omg.uml.foundation.core.BehavioralFeature;
1.46 import org.omg.uml.foundation.core.DataType;
1.47 -import org.omg.uml.foundation.core.Dependency;
1.48 -import org.omg.uml.foundation.core.Element;
1.49 +import org.omg.uml.foundation.core.*;
1.50 import org.omg.uml.foundation.core.Enumeration;
1.51 -import org.omg.uml.foundation.core.EnumerationLiteral;
1.52 import org.omg.uml.foundation.core.GeneralizableElement;
1.53 -import org.omg.uml.foundation.core.Generalization;
1.54 -import org.omg.uml.foundation.core.Method;
1.55 import org.omg.uml.foundation.core.ModelElement;
1.56 import org.omg.uml.foundation.core.Namespace;
1.57 import org.omg.uml.foundation.core.Operation;
1.58 import org.omg.uml.foundation.core.Parameter;
1.59 -import org.omg.uml.foundation.core.Stereotype;
1.60 -import org.omg.uml.foundation.core.TaggedValue;
1.61 -import org.omg.uml.foundation.core.UmlAssociation;
1.62 -import org.omg.uml.foundation.core.UmlClass;
1.63 import org.omg.uml.foundation.datatypes.AggregationKind;
1.64 import org.omg.uml.foundation.datatypes.AggregationKindEnum;
1.65 -import org.omg.uml.foundation.datatypes.ChangeableKindEnum;
1.66 -import org.omg.uml.foundation.datatypes.Multiplicity;
1.67 -import org.omg.uml.foundation.datatypes.MultiplicityRange;
1.68 -import org.omg.uml.foundation.datatypes.OrderingKindEnum;
1.69 -import org.omg.uml.foundation.datatypes.ParameterDirectionKind;
1.70 -import org.omg.uml.foundation.datatypes.ParameterDirectionKindEnum;
1.71 -import org.omg.uml.modelmanagement.ElementImport;
1.72 +import org.omg.uml.foundation.datatypes.*;
1.73 +import org.omg.uml.modelmanagement.UmlPackage;
1.74 import org.openide.ErrorManager;
1.75 +import javax.jmi.model.*;
1.76 +import javax.jmi.model.ScopeKindEnum;
1.77 +import javax.jmi.model.StructuralFeature;
1.78 +import javax.jmi.model.VisibilityKindEnum;
1.79 +import javax.jmi.reflect.RefObject;
1.80 +import java.util.*;
1.81
1.82 /**
1.83 *
1.84 @@ -247,7 +203,7 @@
1.85 i.setContainer((MofPackage) client);
1.86 i.setImportedNamespace((MofPackage) supplier);
1.87 } else if (isOfType(dep, STEREOTYPE_SPECIALIZES)) {
1.88 - ((MofPackage) client).getSupertypes().add((MofPackage) supplier);
1.89 + ((MofPackage) client).getSupertypes().add(supplier);
1.90 }
1.91 }
1.92 }
1.93 @@ -256,7 +212,7 @@
1.94 private void lookForModel(Namespace ns) {
1.95 if (ns instanceof UmlPackage && isOfType(ns, STEREOTYPE_METAMODEL)) {
1.96 info("*** Outermost package found: " + ns.getName());
1.97 - transform((UmlPackage) ns, null);
1.98 + transform(ns, null);
1.99 } else {
1.100 for (Iterator it = ns.getOwnedElement().iterator(); it.hasNext();) {
1.101 Object temp = it.next();
1.102 @@ -500,6 +456,9 @@
1.103 } else if (obj instanceof DataType) {
1.104 transformDataType((DataType) obj, container);
1.105 } else if (obj instanceof Parameter) {
1.106 + if (((Parameter) obj).getType() == null) {
1.107 + return; // ignore parameter without a type
1.108 + }
1.109 transformOParam((Parameter) obj, (javax.jmi.model.Operation) container);
1.110 } else if (obj instanceof Operation) {
1.111 transformOperation((Operation) obj, (MofClass) container);
1.112 @@ -516,8 +475,13 @@
1.113 //////////////////////////////////////////////////////////////////////////////////
1.114
1.115 private String getAnnotation(Object umlElement) {
1.116 - // [PENDING] implement correctly
1.117 - return "";
1.118 + String result = "";
1.119 + Iterator it = ((ModelElement) umlElement).getComment().iterator();
1.120 + while (it.hasNext() && "".equals(result)) {
1.121 + result = ((Comment) it.next()).getName();
1.122 + if (result == null) result = "";
1.123 + }
1.124 + return result;
1.125 }
1.126
1.127 private String getTagValue(ModelElement element, String tagName, String defaultValue) {