From: Benjamin B. <bg...@us...> - 2005-06-06 14:17:55
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1136/Plugin/com/ibm/ecute/rsa/core/internal/properties Modified Files: QualifiersPropertySection.java Log Message: 2.1 beta 1c full support of the OCL qualifier for a class as a class constraint Index: QualifiersPropertySection.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/QualifiersPropertySection.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- QualifiersPropertySection.java 31 May 2005 13:12:47 -0000 1.16 +++ QualifiersPropertySection.java 6 Jun 2005 14:17:44 -0000 1.17 @@ -397,6 +397,13 @@ addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); allAvailableQualifers.remove(qualifierObject); } + qualifierName = "OCL"; + String oclValue = existsOCL((Class)element); + if(oclValue != null){ + Qualifier qualifierObject = qualifiersList.GetElement(qualifierName); + addQualiferToTable(qualifierName, oclValue, definedIn, qualifierObject, -1, false); + allAvailableQualifers.remove(qualifierObject); + } } //Qualifiers with Parameter Scope @@ -923,6 +930,37 @@ return thisModel; } + private String existsOCL(Class class_ ){ + + String value = null; + + Package thisPackage = class_.getNearestPackage(); + EList ownedMembersList = thisPackage.getOwnedMembers(); + for(int i = 0; i < ownedMembersList.size(); i++){ + + if(ownedMembersList.get(i) instanceof Constraint){ + + Constraint thisConstraint = (Constraint)ownedMembersList.get(i); + EList constrainedElements = thisConstraint.getConstrainedElements(); + for(int j = 0; j < constrainedElements.size(); j++){ + + if(constrainedElements.get(j) instanceof Class){ + + Class thisClass = (Class)constrainedElements.get(j); + if(thisClass.equals(class_)){ + value = "{"+((OpaqueExpression)thisConstraint.getSpecification()).getBody()+"}"; + i = ownedMembersList.size(); + break; + } + } + } + } + } + + // return the cantent of the constraint + return value; + } + private boolean existsQualifierListConstraint(){ Model model = getModel(); |