/** * @see org.andromda.metafacades.uml.AssociationClassFacade#getConnectionAssociationEnds() */ @Override protected Collection<AssociationEndFacade> handleGetConnectionAssociationEnds() { return CollectionUtils.collect( this.metaObject.getMemberEnds(), UmlUtilities.ELEMENT_TRANSFORMER); } }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * The operation allConnections results in the set of all AssociationEnds of the Association. * result = memberEnd->union ( self.parents ()->collect (p | p.allConnections () ) * @param associationClass The receiving '<em><b>Association Class</b></em>' model object. * <!-- end-model-doc --> * @generated NOT */ public static EList<Property> allConnections( AssociationClass associationClass) { EList<Property> allConnections = new UniqueEList.FastCompare<Property>( associationClass.getMemberEnds()); for (Classifier parent : associationClass.allParents()) { if (parent instanceof AssociationClass) { allConnections.addAll(((AssociationClass) parent) .getMemberEnds()); } } return ECollections.unmodifiableEList(allConnections); }
@Override public Property caseAssociationClass( AssociationClass associationClass) { return associationClass .createOwnedAttribute(name, propertyType); }
List<Property> memberEnds = ac.getMemberEnds(); for (Property memberEnd : memberEnds) { + pWrap.getOtherEnd().getName() + "_" + ac.getName() + "_ServerResourceImpl"); annotatedClass.setSuperclass(UmlgRestletGenerationUtil.ServerResource); annotatedClass.setMyPackage(ojPackage);
private void addTumlMetaDataUriToLiteral(Class clazz, PropertyWrapper pWrap, OJEnumLiteral literal, boolean asAssociationClass) { String uri; String contextPath; if (clazz != null && pWrap != null) { contextPath = ModelLoader.INSTANCE.getModel().getName(); if (!asAssociationClass) { uri = "\"/" + contextPath + "/" + StringUtils.uncapitalize(pWrap.getType().getName()) + "MetaData\""; } else { uri = "\"/" + contextPath + "/" + StringUtils.uncapitalize(pWrap.getAssociationClass().getName()) + "MetaData\""; } } else { uri = "\"\""; } OJField uriAttribute = new OJField(); uriAttribute.setType(new OJPathName("String")); uriAttribute.setInitExp(uri); uriAttribute.setName("tumlMetaDataUri"); literal.addToAttributeValues(uriAttribute); OJField jsonField = literal.findAttributeValue("json"); StringBuilder sb = new StringBuilder(); sb.append(", \\\"tumlMetaDataUri\\\": \\"); sb.append(uri.substring(0, uri.length() - 1) + "\\\""); String initExp = jsonField.getInitExp(); int indexOf = initExp.lastIndexOf("}"); initExp = initExp.substring(0, indexOf) + sb.toString() + "}\""; jsonField.setInitExp(initExp); }
if (owner instanceof AssociationClass && ((AssociationClass) owner).getOwnedAttributes().contains(p)) { return false; } else if (owner instanceof Association) {
private void addConstructorWithOwnerAsParameter(OJAnnotatedClass annotatedClass, Class clazz) { Set<Property> otherEndsToComposite = UmlgClassOperations.getOtherEndToComposite(clazz); for (Property otherEndToComposite : otherEndsToComposite) { if (!otherEndToComposite.isDerivedUnion()) { OJConstructor constructor = new OJConstructor(); OJPathName otherEndToCompositePathName = UmlgClassOperations.getPathName(otherEndToComposite.getType()); constructor.addParam("compositeOwner", otherEndToCompositePathName); PropertyWrapper otherEndToCompositePWrap = new PropertyWrapper(otherEndToComposite); if (otherEndToCompositePWrap.isMemberOfAssociationClass()) { constructor.addParam(StringUtils.uncapitalize(otherEndToCompositePWrap.getAssociationClass().getName()), otherEndToCompositePWrap.getAssociationClassPathName()); } annotatedClass.addToConstructors(constructor); constructor.getBody().addToStatements("super(true)"); PropertyWrapper compositeOwner = new PropertyWrapper(otherEndToCompositePWrap.getOtherEnd()); if (!otherEndToCompositePWrap.isMemberOfAssociationClass()) { constructor.getBody().addToStatements("compositeOwner." + compositeOwner.adder() + "(this)"); } else { constructor.getBody().addToStatements("compositeOwner." + compositeOwner.adder() + "(this, " + StringUtils.uncapitalize(compositeOwner.getAssociationClass().getName()) + ")"); } } } }
if (owner instanceof AssociationClass && ((AssociationClass)owner).getOwnedAttributes().contains(p)) { return this.workspace.findOJClass(Namer.qualifiedName((NamedElement) owner)); } else if (owner instanceof Association) {
/** * @see org.andromda.metafacades.uml.AssociationClassFacade#getConnectionAssociationEnds() */ @Override protected Collection<AssociationEndFacade> handleGetConnectionAssociationEnds() { return CollectionUtils.collect( this.metaObject.getMemberEnds(), UmlUtilities.ELEMENT_TRANSFORMER); } }
public static OJAnnotatedOperation buildSetter(OJAnnotatedClass owner, PropertyWrapper pWrap) { OJAnnotatedOperation setter = new OJAnnotatedOperation(pWrap.setter()); setter.addParam(pWrap.fieldname(), pWrap.javaBaseTypePath()); if (pWrap.isMemberOfAssociationClass()) { setter.addParam(StringUtils.uncapitalize(pWrap.getAssociationClass().getName()), UmlgClassOperations.getPathName(pWrap.getAssociationClass())); } if (pWrap.isReadOnly()) { setter.setVisibility(OJVisibilityKind.PROTECTED); } PropertyWrapper otherEnd = new PropertyWrapper(pWrap.getOtherEnd()); if (pWrap.hasOtherEnd() && !pWrap.isEnumeration() && pWrap.isOneToOne()) { OJIfStatement ifNotNull = new OJIfStatement(pWrap.fieldname() + " != null"); ifNotNull.addToThenPart(pWrap.fieldname() + "." + otherEnd.clearer() + "()"); ifNotNull.addToThenPart(pWrap.fieldname() + ".initialiseProperty(" + UmlgClassOperations.propertyEnumName(otherEnd.getOwningType()) + "." + otherEnd.fieldname() + ", false, true)"); owner.addToImports(UmlgClassOperations.getPathName(otherEnd.getOwningType()).append(UmlgClassOperations.propertyEnumName(otherEnd.getOwningType()))); setter.getBody().addToStatements(ifNotNull); } setter.getBody().addToStatements(pWrap.clearer() + "()"); if (!pWrap.isMemberOfAssociationClass()) { setter.getBody().addToStatements(pWrap.adder() + "(" + pWrap.fieldname() + ")"); } else { setter.getBody().addToStatements(pWrap.adder() + "(" + pWrap.fieldname() + ", " + StringUtils.uncapitalize(pWrap.getAssociationClass().getName()) + ")"); } owner.addToOperations(setter); return setter; } }
public boolean isMemberOfAssociationClass() { Element owner = this.property.getOwner(); if (owner instanceof AssociationClass) { AssociationClass ownerClass = (AssociationClass) owner; List<Property> memberEnds = ownerClass.getMemberEnds(); for (Property p : memberEnds) { if (p == this.property) { return true; } } return false; } else if (owner instanceof Class) { Class ownerClass = (Class) owner; List<Association> associations = ownerClass.getAssociations(); for (Association association : associations) { List<Property> memberEnds = association.getMemberEnds(); for (Property p : memberEnds) { if (p == this.property && (association instanceof AssociationClass)) { return true; } } } return false; } return false; }
singleAdder.addParam(propertyWrapper.fieldname(), propertyWrapper.javaBaseTypePath()); if (!isAssociationClass && propertyWrapper.isMemberOfAssociationClass()) { singleAdder.addParam(StringUtils.uncapitalize(propertyWrapper.getAssociationClass().getName()), UmlgClassOperations.getPathName(propertyWrapper.getAssociationClass())); ojBlock2.addToStatements("this." + propertyWrapper.fieldname() + ".add(" + propertyWrapper.fieldname() + ", " + StringUtils.uncapitalize(propertyWrapper.getAssociationClass().getName()) + ")");
@Override @VisitSubclasses({Class.class, AssociationClass.class}) public void visitBefore(Class clazz) { Set<Property> propertiesForToJson = UmlgClassOperations.getPropertiesForToJson(clazz); if (clazz instanceof AssociationClass) { propertiesForToJson.addAll(((AssociationClass) clazz).getMemberEnds()); } addToJson(clazz, "toJson", propertiesForToJson); Set<Property> propertiesForToJsonExcludingCompositeParent = UmlgClassOperations.getPropertiesForToJsonExcludingCompositeParent(clazz); if (clazz instanceof AssociationClass) { propertiesForToJsonExcludingCompositeParent.addAll(((AssociationClass) clazz).getMemberEnds()); } addToJson(clazz, "toJsonWithoutCompositeParent", propertiesForToJsonExcludingCompositeParent); addFromJson(clazz); addFromJsonWithMapper(clazz); addFromJsonDataTypeAndComposite(clazz); addFromJsonNonCompositeOne(clazz); fromJsonNonCompositeRequiredMany(clazz); }
singleAdder.addParam(StringUtils.uncapitalize(propertyWrapper.getAssociationClass().getName()), UmlgClassOperations.getPathName(propertyWrapper.getAssociationClass())); block.addToStatements("this." + propertyWrapper.fieldname() + ".add(" + propertyWrapper.fieldname() + ", " + StringUtils.uncapitalize(propertyWrapper.getAssociationClass().getName()) + ")"); } else { block.addToStatements("this." + propertyWrapper.fieldname() + ".add(index, " + propertyWrapper.fieldname() + ", " + StringUtils.uncapitalize(propertyWrapper.getAssociationClass().getName()) + ")");
ends = ((AssociationClass) associationClass).getMemberEnds();
for (Property memberEnd : associationClass.getMemberEnds()) { PropertyWrapper pWrap = new PropertyWrapper(memberEnd);
List<Property> memberEnds = associationClass.getMemberEnds(); for (Property memberEnd : memberEnds) { PropertyWrapper pWrap = new PropertyWrapper(memberEnd);
List<Property> memberEnds = associationClass.getMemberEnds(); for (Property memberEnd : memberEnds) { PropertyWrapper pWrap = new PropertyWrapper(memberEnd);
List<Property> memberEnds = associationClass.getMemberEnds(); for (Property memberEnd : memberEnds) { PropertyWrapper pWrap = new PropertyWrapper(memberEnd);
ifNotNull.addToElsePart("return null"); for (Property p : associationClass.getMemberEnds()) { PropertyWrapper pWrap = new PropertyWrapper(p); if (!(pWrap.isDerived() || pWrap.isDerivedUnion()) && pWrap.getOtherEnd() != null && !pWrap.isEnumeration()) {