Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - kjourdan

Pages: [1] 2
I want to replace an element A on an interaction diagram with another element A' via scripting.  I am able to identify element A on the diagram through DiagramObjects. With the identified element A, I have its element ID.  I also have identified element A' and have its element ID.  Through the scripting, I am able to change the diagram links to now connect to element A'. 

If I change the element ID referenced by the diagram object to use the ID for A', the diagram still shows the old element A but the links are removed.  If I drop A' on the diagram, it appears with the links. 
   var diagramObjPtr = diagram.DiagramObjects;
   var diagramObj as EA.DiagramObject
   diagramObj = diagramObjPtr.GetAt(obj_index)
   diagramObj.ElementID = newObj.ElementID

I do not want to remove the object and add it; I would like to just change the associated object on the diagram.

Any  idea what I am doing wrong such that the old element is still visible on the diagram and the new element is not.


Automation Interface, Add-Ins and Tools / Scripting to get all diagrams
« on: December 23, 2017, 09:28:55 am »
To this point, I have been working on a selected or active diagram.  I would like to find all diagrams within my model and operate on them.  How would I get a collection of all diagrams within the model?

Does anybody know if the EA UUIDs can be modified via scripting or API? I am aware that the table entries in the database could be manipulated or an XMI file could be exported, modified and re-imported but I would like to work directly on the model.

Attempting to drop an activity diagram (parent activity) onto an activity diagram to ease navigation between activity diagrams.  The diagram is displayed as an activity and not as a hyperlink which leads to confusion; looks like an out of place activity that should be removed or was not connected.

General Board / How to visualize hyperlinks as hyperlinks?
« on: November 01, 2017, 11:55:30 pm »
I am creating activity diagrams with structured activities (simple composite).  I want these structured activities to still show as activities (no change here).  When I double click on these structured activities, the associated diagram is opened.

I would like to add hyperlinks to the parent activity diagram to move back and forth between diagrams.  When the parent activity diagram is dropped onto an activity diagram as a hyperlink, it is visualized as an activity.  Is there a way to have these hyperlinks visualized the same as hyperlinks (eg. symbol for a hyperlink shown on a class diagram).

Automation Interface, Add-Ins and Tools / Add-in Usage with Citrix
« on: October 06, 2017, 11:33:06 am »
Is there a way to use locally developed add-ins with EA accessed via Citrix?  The Citrix server host many different databases for different products / projects so the add-in should only be accessible to myself and others that are working on the same project.  When I access the models through the thick client, my add-in is available but the performance is slow because of the location of the database.  Accessing through Citrix, I have good performance but my add-in not available.

Automation Interface, Add-Ins and Tools / Invoking script from Add-In?
« on: August 07, 2017, 11:11:56 pm »
Is it possibly to invoke a user script from an Add-In?  I would like to add buttons to the user control for my add-in and have those buttons invoke scripts stored in the model.  Is this possible?

Currently, when a new element is added through the New Element button on the Project Browser, EA remembers the last selected toolset and type.  Is there a way for add-ins to manipulate this information?

Suggestions and Requests / DOORS Add-In Improvements
« on: June 14, 2017, 09:02:21 pm »
1) Need the ability to import a specific baseline of a DOORS module.  These baselines are created a formal released versions of requirements. New requirements could be added or requirements could be modified/removed at the time that requirements are being imported but the EA model should only contain the specific (baselined) requirements that were planned.

2) Need the ability to define (load) profiles for DOORS import that can be applied automatically. Process of configuring the mapping each time is inconvenient and could be inconsistent.  After disconnecting from DOORS, the connection string should be retained (and potentially re-used when reconnecting).

3) Capture baseline version (and path) of the DOORS module being imported as a tagged value on the import package in EA.  This aids in traceability between EA and the requirements in DOORS.

It appears that importation of requirements from DOORS always imports the latest requirements.  The potential exists that requirements may change between when a baseline is created (and released) and when the requirements are imported into EA. This potential increased as the time between baselining of requirements and importing of requirements increases.

Is there a mechanism or planned mechanism that allows importing a specific baseline version of a DOORS module?

Hi All,

I have begun working with the DOORS Add-In and have some questions to the community on automation.  Is is possible to configure the import settings (eg. filter view and which attributes to import and how) via scripting and run the import?  I would like a consistent way of setting the filter and configuring the mappings using EA 12.1. Is there a way to extract the baseline of the DOORS module being imported and save this off in the model?


I have created a stereotype that includes 9 tagged values.  Using "Edit with Profile Helper" in EA 12, I created a tag group and moved 7 of the tagged values into that group. Looking at the tagged values from the Stereotype Properties tab, the group shows my 7 tagged values properly with 2 tagged values outside of the group; collapsing the tagged value group shows the 2 tagged values that are not in the group. No issues here.

When the stereotype is applied in my model, the tagged value group is not displayed properly.  The tagged value group only contains 5 of the tagged values.  Outside of the tagged value group, there are 4 tagged values now. 2 of the tagged values that should have been within a tagged value group have been moved outside of the tagged value group.

I have scripts that I use to position component ports and corresponding labels on diagrams; one script places the labels inside the component boundary next to the port and one script places the labels outside the component boundary next to the port.

On diagrams that I create manually (drag component onto diagram, enable ports of interest, etc), these scripts properly move the ports and their labels as expected. I can move these ports and labels around, run the scripts and the ports and labels are moved back to their position. Nothing unusual here.

I created a script that creates a diagram, adds components and their ports to the diagram.  Running my port/label placement scripts results in the ports being moved to their expected positions on the component boundaries.  The labels however appear to at their default position (outside the component, slightly below the port and extending away from the component).  If I move the port manually, the label remains that the same positional offset from the port.  I can manually move the label on the diagram.  When I run my scripts, the port is moved back into position but the label does not move where I expect; the label remains at the same positional offset from the port after I had manually moved them.

If I hide the ports for a given component on that diagram (select component, right-click, Structural Elements, None) and then show the ports (select component, right-click, Structural Elements, All), the ports and labels go to the positions that would occur if I manually dragged the component onto the diagram.  When I run my scripts, these ports and labels get moved into proper position; the labels for ports on other components continue to remain in their default positions.

Is there an attribute for these diagram objects that needs to be set to allow the labels to be moved?

With the ever increasing sizes of models and information stored in these models (associations), the likelihood of having more than 32767 elements returned by a query (using GetElementSet) is almost certain.  Upon reaching this point, the automation tools used would need heavy re-work to address this limitation.  Mechanisms would need to be put in place to detect this condition and alert the users that the automation tools will not function.

To avoid this (and maintain backward compatibility), can new classes and APIs be defined that do not limit the count values to shorts (eg. GetElementSetExtended that returns and an EA.CollectionExt class which contains Count as an unsigned int). Changes to the automation tools would be done through search and replace in the majority of cases. Detection of this overflow condition could be done by comparing the count values returned in the two different collection classes. 

Bugs and Issues / DAO.QueryDef[3219] Invalid operation
« on: March 15, 2017, 03:20:23 am »
I have seen the DAO.QueryDef[3219] error being generated in EA 12.1 when the number elements returned by GetElementSet is "too big".  This same issue has been reported by others on the forum.  The specific size where this occurs is not clear. 9443 elements fails;  8119 elements passed.

This error does not get generated with a DBMS repository.  It appear to occur with a stand-alone JET 3.5 database.  I have been informed by a counter-part the EA 13 appears to not generate this error.  I have also observed that setting the "Use JET 4.0..." option results in the error no longer appearing even though the database itself is still a JET 3.5 database.

Pages: [1] 2