From: Benjamin B. <bg...@us...> - 2005-08-11 16:10:58
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/UMLBuffer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31463/Plugin/com/ibm/ecute/UMLBuffer Modified Files: UMLBuffer.java Log Message: fixed aggregate qualifier for the export Index: UMLBuffer.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/UMLBuffer/UMLBuffer.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- UMLBuffer.java 25 Jul 2005 07:57:18 -0000 1.13 +++ UMLBuffer.java 11 Aug 2005 16:10:49 -0000 1.14 @@ -25,6 +25,7 @@ import org.eclipse.core.runtime.IProgressMonitor; +import com.ibm.ecute.EntryPoint; import com.ibm.ecute.UMLBuffer.UMLTree.UMLAttribute; import com.ibm.ecute.UMLBuffer.UMLTree.UMLClass; import com.ibm.ecute.UMLBuffer.UMLTree.UMLFile; @@ -36,6 +37,7 @@ import com.ibm.ecute.plugins.ProgressFrame; import com.ibm.ecute.plugins.output.UMLInterface; import com.ibm.ecute.plugins.output.funcionality.RSAModelCreator; +import com.ibm.ecute.plugins.output.funcionality.mofCreator; import com.ibm.ecute.utils.License; import com.ibm.ecute.utils.Utils; public class UMLBuffer implements UMLInterface { @@ -527,7 +529,7 @@ ArrayList qualifiers = qualifiedElement.getQualifiers(!completeClasses); for (int i = 0; i < qualifiers.size(); i++) { UMLQualifier theQualifier = (UMLQualifier) qualifiers.get(i); - // RSA + // RSA import if (UMLProgram instanceof RSAModelCreator){ // if the aggregation/composition is defined in the second role of a association class // then the qualifiers have to be added to the other end of the association @@ -542,7 +544,8 @@ UMLProgram.SetQualifier(qualifiedElement.getType(), theQualifier.name, theQualifier.value); } - // ROSE + + // ROSE & RSA Export } else { UMLProgram.SetQualifier(qualifiedElement.getType(), theQualifier.name, theQualifier.value); @@ -648,6 +651,53 @@ role2.name, role1.endPointName, role1.name, RclassDiagram); } + //TODO + // RSA export + } else if (UMLProgram instanceof mofCreator && EntryPoint.isRunningFromEclipse()){ + if(role1.getType() == TLINK1 && + (theClass.getQualifier("Aggregation", true) != null || + theClass.getQualifier("Composition", true) != null)){ + + ArrayList oldQualifiersList = new ArrayList(role2.getQualifiers(true)); + + ArrayList newQualifiersList = new ArrayList(); + newQualifiersList.add(new UMLQualifier("Aggregate", "true")); + + for(int i = 0; i < oldQualifiersList.size(); i++){ + UMLQualifier thisQualifier = (UMLQualifier)oldQualifiersList.get(i); + role2.removeQualifier(thisQualifier.name); + newQualifiersList.add(thisQualifier); + } + + for(int i = 0; i < newQualifiersList.size(); i++){ + role2.addQualifier((UMLQualifier)newQualifiersList.get(i)); + } + } + + if(role2.getType() == TLINK1 && + (theClass.getQualifier("Aggregation", true) != null || + theClass.getQualifier("Composition", true) != null)){ + + ArrayList oldQualifiersList = new ArrayList(role1.getQualifiers(true)); + + ArrayList newQualifiersList = new ArrayList(); + newQualifiersList.add(new UMLQualifier("Aggregate", "true")); + + for(int i = 0; i < oldQualifiersList.size(); i++){ + UMLQualifier thisQualifier = (UMLQualifier)oldQualifiersList.get(i); + role1.removeQualifier(thisQualifier.name); + newQualifiersList.add(thisQualifier); + } + + for(int i = 0; i < newQualifiersList.size(); i++){ + role1.addQualifier((UMLQualifier)newQualifiersList.get(i)); + } + } + + result = UMLProgram.AddAssociation(role1.endPointName, + role1.name, role2.endPointName, role2.name, RclassDiagram); + + // ROSE } else { result = UMLProgram.AddAssociation(role1.endPointName, |