IBM Support

How do I use API interface "IRPMessagePoint" in IBM Rational Rhapsody

Question & Answer


Question

How canI use API interface "IRPMessagePoint" in IBM Rational Rhapsody?

Cause

You would like to access the point in the model where the sequence diagram message/event realizes an operation/event

Answer

You can either search the model for:

  • IRPMessagePoint using instanceof
  • "CollaborationEvent" using getMetaClass().equals("CollaborationEvent")

The code below creates an example sequence diagram and shows both methods mentioned above:


// create example sequence diagram
IRPPackage pkg = app.activeProject().addPackage("TestPkg");
IRPClass classA = pkg.addClass("ClassA");
IRPOperation opA = classA.addOperation("OperationA");

IRPCollaboration collab = app.activeProject().getNewCollaboration();
IRPClassifierRole crA = collab.addClassifierRole("its"+ classA.getName(), classA);
IRPClassifierRole sys = collab.addSystemBorder();
IRPMessage msgA = collab.addMessage(opA, "", sys, crA);

IRPSequenceDiagram sd = collab.generateSequence("SD", pkg);
/////////////////////////////////////

// Retrieve entire model and find collaboration events/IRPMessagePoint objects
List<IRPModelElement> listModelElements = app.activeProject().getNestedElementsRecursive().toList();
for (IRPModelElement currentElement : listModelElements) {

if ((currentElement.getMetaClass().equals("CollaborationEvent")) && (currentElement instanceof IRPMessagePoint)) {
IRPMessagePoint mp = (IRPMessagePoint)currentElement;
System.out.println("CollaborationEvent (IRPMessagePoint) in "+ mp.getFullPathName() +" for " + mp.getMessage().getName());

}

}
/////////////////////////////////




Disclaimer

All source code and/or binaries attached to this document are referred to here as "the Program". IBM is not providing program services of any kind for the Program. IBM is providing the Program on an "AS IS" basis without warranty of any kind. IBM WILL NOT BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS), EVEN IF IBM, OR ITS RESELLER, HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

[{"Product":{"code":"SSB2MU","label":"IBM Engineering Systems Design Rhapsody"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General Information","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"7.6;7.6.0.1;7.6.1;7.6.1.1;7.6.1.2;7.6.1.3;7.6.1.4;7.6.1.5;8.0;8.0.1;8.0.2;8.0.3;8.0.4;8.0.5;8.0.6;8.1;8.1.1;8.1.2;8.1.2.1;8.1.3","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Product Synonym

Rational Rhapsody

Document Information

Modified date:
27 May 2022

UID

swg21971334