// modifies the aheadstructures according to estructuralfeature change - matches the constraint by // hand (found, not searched, matchingvariables put) private ArrayList<AheadStructure> createNewFromOldRelaC( EObject host, Object target, EStructuralFeature edge, ArrayList<AheadStructure> gotStructs) { ArrayList<AheadStructure> newStructs = new ArrayList<AheadStructure>(); for (AheadStructure aSn : gotStructs) { AheadStructure newaSn = aSn.clone(); for (AxisConstraint rC : newaSn.SearchedConstraints) { if (rC instanceof RelationConstraint) { if (((RelationConstraint) rC).getEdge().equals(edge)) { // and make constraint "found" newaSn.FoundConstraints.add(rC); newaSn.SearchedConstraints.remove(rC); isModified = true; break; } } } newStructs.add(newaSn); } return newStructs; }
// modifies the aheadstructures according to eclass change - matches the constraint by hand // (found, not searched, matchingvariables put) private ArrayList<AheadStructure> createNewFromOldTypeC( boolean isEClass, EClassifier clazzortype, Object instance, ArrayList<AheadStructure> gotStructs) { ArrayList<AheadStructure> newStructs = new ArrayList<AheadStructure>(); for (AheadStructure aSn : gotStructs) { AheadStructure newaSn = aSn.clone(); for (AxisConstraint tC : newaSn.SearchedConstraints) { if (tC instanceof TypeConstraint) { if (((TypeConstraint) tC).getType().equals(clazzortype)) { newaSn.FoundConstraints.add(tC); newaSn.SearchedConstraints.remove(tC); isModified = true; break; } } } newStructs.add(newaSn); } return newStructs; }