public RefOntoUML.DataType DealDataType(org.eclipse.uml2.uml.DataType dt1) { RefOntoUML.DataType dt2 = null; if (dt1 instanceof org.eclipse.uml2.uml.PrimitiveType) { // FIXME: Esperar consertarem esse Bug 262140 - UML primitive types cannot be accessed System.out.print("<PrimitiveType> "); dt2 = myfactory.createPrimitiveType(); } else if (dt1 instanceof org.eclipse.uml2.uml.Enumeration) { System.out.print("<Enumeration> "); dt2 = myfactory.createEnumeration(); } else { System.out.print("<DataType> "); dt2 = myfactory.createDataType(); } DealClassifier(dt1, dt2); // Attributes RefOntoUML.Property p2; for (org.eclipse.uml2.uml.Property p1 : dt1.getAttributes()) { p2 = myfactory.createProperty(); DealProperty(p1, p2); dt2.getOwnedAttribute().add(p2); } // Enumeration Literals if (dt1 instanceof org.eclipse.uml2.uml.Enumeration) { org.eclipse.uml2.uml.Enumeration enum1 = (org.eclipse.uml2.uml.Enumeration) dt1; RefOntoUML.Enumeration enum2 = (RefOntoUML.Enumeration) dt2; RefOntoUML.EnumerationLiteral el2; for (org.eclipse.uml2.uml.EnumerationLiteral el1 : enum1.getOwnedLiterals()) { System.out.print(" <EnumLiteral> "); el2 = myfactory.createEnumerationLiteral(); DealNamedElement(el1, el2); enum2.getOwnedLiteral().add(el2); } } return dt2; }