IAssociationEnd

:?:
Hello,

I am trying to create an association between two classes with the Open API,
but the following code snippet does not work correctly.

 
IAssociation coAssociationModel = IModelElementFactory.instance().createAssociation();

IAssociationEnd coAssociationEndFromModel = IModelElementFactory.instance().createAssociationEnd();
IAssociationEnd coAssociationEndToModel =       IModelElementFactory.instance().createAssociationEnd();

coAssociationEndFromModel.setModelElement(coFromClass);
coAssociationEndToModel.setModelElement(coToClass);

coAssociationModel.addChild(coAssociationEndToModel);
coAssociationModel.addChild(coAssociationEndFromModel);

coModelElement.addChild(coAssociationModel);
 

“coFromClass” and “coToClass” are objects of IClass. They are instantiated
correctly. ‘coModelElement’ is of type IModelElement. Visual Paradigm says
that the association is not correct and would like to delete it. What’s wrong with
that code. Any help is appreciated.

Best regards
Frank

Hello Frank,

Thank you for the post. I will talk to our engineers about your problem, and come back to you a.s.a.p.

Best regards,
Jick

Hello Frank,

Please call IAssociation.getFromEnd() or getToEnd() to get the AssociationEnd

// sample code

IClass class1 = IModelElementFactory.instance().createClass();
IClass class2 = IModelElementFactory.instance().createClass();

class1.setName("MyClass1");
class2.setName("MyClass2");

IAssociation relationship = IModelElementFactory.instance().createAssociation();
relationship.getFromEnd().setModelElement(class1);
relationship.getToEnd().setModelElement(class2);

Best regards,
Jick