From: Benjamin B. <bg...@us...> - 2005-07-20 15:22:11
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/UMLBuffer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21123/Plugin/com/ibm/ecute/UMLBuffer Modified Files: UMLBuffer.java Log Message: flavors presentation rule implemented for values table in properties section and effectiveInheritedQualifier method implemented Index: UMLBuffer.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/UMLBuffer/UMLBuffer.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- UMLBuffer.java 19 Jul 2005 16:10:48 -0000 1.11 +++ UMLBuffer.java 20 Jul 2005 15:21:46 -0000 1.12 @@ -11,7 +11,8 @@ * You can obtain a current copy of the Common Public License from * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html * - * Author: Angel Nunez Mencias <an...@de...> Contributors: + * Author: Angel Nunez Mencias <an...@de...> + * Contributors: Benjamin Bender <be...@de...> * * Description: Stores and after recreate a whole CIM model * @@ -50,14 +51,7 @@ private UMLRole lastRole2 = null; private UMLQualified lastAddedElement = null; boolean aggregateRole1 = true; - //boolean parentAggregates = false; UMLClass parentAggregateClass = null; - //boolean inheritedAggregate = false; - //boolean isFirstAggregate = false; - //boolean parentTwisted = false; - //boolean parentRole1Aggregates = false; - //boolean parentRole2Aggregates = false; - //boolean thisClassAggregates = false; boolean ready = false; private ProgressFrame log; public UMLBuffer(ProgressFrame log) { @@ -137,17 +131,9 @@ public void SetQualifier(int type, String name, String defaultValue) { UMLQualifier theQualifier = new UMLQualifier(name, defaultValue); if (type == TLINK1) -// if(!parentTwisted){ - lastRole1.addQualifier(theQualifier); -// } else { -// lastRole2.addQualifier(theQualifier); -// } + lastRole1.addQualifier(theQualifier); else if (type == TLINK2) -// if(!parentTwisted){ - lastRole2.addQualifier(theQualifier); -// } else { -// lastRole1.addQualifier(theQualifier); -// } + lastRole2.addQualifier(theQualifier); else if (lastAddedElement != null) lastAddedElement.addQualifier(theQualifier); else @@ -527,11 +513,9 @@ void CreateQualifiers(UMLQualified qualifiedElement) { if (UMLProgram instanceof RSAModelCreator){ - if(qualifiedElement.getType() == TCLASS){ lastCreatedClass = (UMLClass) qualifiedElement; } - getInheritedQualifiers(qualifiedElement); } @@ -620,11 +604,10 @@ // called with role 2 first to get the diamond on the correct end of the // association (the diamond is in RSA on the side of the second role // which is passed to AddAssociation) - if (role1Qualifier.name.equalsIgnoreCase("Aggregate") /*&& isFirstAggregate || parentRole1Aggregates*/){ + if (role1Qualifier.name.equalsIgnoreCase("Aggregate")){ //System.out.println("Role 1 is AGGREGATE"); aggregate = true; - //if(!inheritedAggregate) - aggregateRole1 = true; + aggregateRole1 = true; result = UMLProgram.AddAssociation(role2.endPointName, role2.name, role1.endPointName, role1.name, RclassDiagram); break; @@ -639,11 +622,10 @@ // if aggregate is defined in role 2 (MOF file) // aggregateRole1 is set to false to get the qualifiers (with SetQualifiers) // to the correct end of the aggregation/composition - if (role2Qualifier.name.equalsIgnoreCase("Aggregate") /*|| parentRole2Aggregates*/){ + if (role2Qualifier.name.equalsIgnoreCase("Aggregate")){ //System.out.println("Role 2 is AGGREGATE"); aggregate = true; - //if(!inheritedAggregate) - aggregateRole1 = false; + aggregateRole1 = false; result = UMLProgram.AddAssociation(role1.endPointName, role1.name, role2.endPointName, role2.name, RclassDiagram); break; @@ -666,9 +648,9 @@ result = UMLProgram.AddAssociation(role1.endPointName, role1.name, role2.endPointName, role2.name, RclassDiagram); } -// create the qualifiers of the roles -// it doesn't matter if the qualifiers of role 1 are created -// first or not + // create the qualifiers of the roles + // it doesn't matter if the qualifiers of role 1 are created + // first or not if (result == OK) { CreateQualifiers(role1); CreateQualifiers(role2); @@ -766,9 +748,6 @@ if(role.getQualifier("Max", true) == null && parentRole1.getQualifier("Max", true) != null){ role.getQualifiers(true).add(parentRole1.getQualifier("Max", true)); } -// if(role.getQualifier("Key", true) == null && parentRole1.getQualifier("Key", true) != null){ -// role.getQualifiers(true).add(parentRole1.getQualifier("Key", true)); -// } } else if(qualifiedElement.getType() == TLINK2 && role.getQualifier("Override", true) != null){ UMLRole parentRole2 = parentAssociationClass.getRole2(); @@ -779,9 +758,6 @@ if(role.getQualifier("Max", true) == null && parentRole2.getQualifier("Max", true) != null){ role.getQualifiers(true).add(parentRole2.getQualifier("Max", true)); } -// if(role.getQualifier("Key", true) == null && parentRole2.getQualifier("Key", true) != null){ -// role.getQualifiers(true).add(parentRole2.getQualifier("Key", true)); -// } } } @@ -791,8 +767,9 @@ UMLAttribute attribute = (UMLAttribute) qualifiedElement; if(attribute.getQualifier("Override", true) != null){ String overrideValue = ((UMLQualifier)attribute.getQualifier("Override", true)).value; - if(overrideValue == null){ + if(overrideValue == null || overrideValue.equalsIgnoreCase("")){ overrideValue = attribute.getName(); + ((UMLQualifier)attribute.getQualifier("Override", true)).value = attribute.getName(); } UMLAttribute overwrittenAttribute = null; @@ -843,8 +820,9 @@ UMLMethod method = (UMLMethod) qualifiedElement; if(method.getQualifier("Override", true) != null){ String overrideValue = ((UMLQualifier)method.getQualifier("Override", true)).value; - if(overrideValue == null){ + if(overrideValue == null || overrideValue.equalsIgnoreCase("")){ overrideValue = method.getName(); + ((UMLQualifier)method.getQualifier("Override", true)).value = method.getName(); } UMLMethod overwrittenMethod = null; @@ -852,17 +830,6 @@ boolean methodFound = false; while(lastCheckedClass.getBaseUMLClass() != null){ -// ArrayList parentClassAttributes = lastCheckedClass.getBaseUMLClass().getAttributes(true); - -// for(int i = 0; i < parentClassAttributes.size(); i++){ -// UMLAttribute parentAttribute = (UMLAttribute)parentClassAttributes.get(i); -// if(parentAttribute.getName().equalsIgnoreCase(overrideValue)){ -// overwrittenAttribute = parentAttribute; -// attributeFound = true; -// break; -// } -// } - ArrayList parentClassMethods = lastCheckedClass.getBaseUMLClass().getMethods(true); for(int i = 0; i < parentClassMethods.size(); i++){ UMLMethod parentMethod = (UMLMethod)parentClassMethods.get(i); @@ -907,25 +874,6 @@ if(overwrittenMethod != null){ -// ArrayList methodParameters = method.getParameters(); -// ArrayList overwrittenMethodParameters = overwrittenMethod.getParameters(); -// -// // check number of parameters -// if(methodParameters.size() != overwrittenMethodParameters.size()){ -// return; -// } -// -// // check names and types of parameters -// for(int i = 0; i < methodParameters.size(); i++){ -// UMLParameter parameter = (UMLParameter)methodParameters.get(i); -// UMLParameter parentParameter = (UMLParameter)overwrittenMethodParameters.get(i); -// -// if(!parameter.getDataType().equalsIgnoreCase(parentParameter.getDataType()) -// || !parameter.getName().equalsIgnoreCase(parentParameter.getName())){ -// return; -// } -// } - if(method.getQualifier("Octetstring", true) == null && overwrittenMethod.getQualifier("Octetstring", true) != null){ method.getQualifiers(true).add(overwrittenMethod.getQualifier("Octetstring", true)); @@ -937,6 +885,9 @@ } getInheritedParameterQualifiers(method, overwrittenMethod); + + } else { + method.removeQualifier("Override"); } } } @@ -946,22 +897,6 @@ ArrayList methodParameters = method.getParameters(); ArrayList parentMethodParameters = parentMethod.getParameters(); -// // check number of parameters -// if(methodParameters.size() != parentMethodParameters.size()){ -// return; -// } -// -// // check names and types of parameters -// for(int i = 0; i < methodParameters.size(); i++){ -// UMLParameter parameter = (UMLParameter)methodParameters.get(i); -// UMLParameter parentParameter = (UMLParameter)parentMethodParameters.get(i); -// -// if(!parameter.getDataType().equalsIgnoreCase(parentParameter.getDataType()) -// || !parameter.getName().equalsIgnoreCase(parentParameter.getName())){ -// return; -// } -// } - // set qualifiers for(int i = 0; i < methodParameters.size(); i++){ UMLParameter parameter = (UMLParameter)methodParameters.get(i); @@ -982,7 +917,6 @@ parameter.getQualifiers(true).add(parentParameter.getQualifier("Octetstring", true)); } } - } private void getInheritedAggregateQualifier(UMLRole role1, UMLRole role2){ |