Book a Demo

Author Topic: Performance of Automation Interface  (Read 3554 times)

dirk111

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Performance of Automation Interface
« on: March 13, 2009, 07:47:48 pm »
Hello together.,

i want to make a very big project in enterprise architect.
Therefore i must read in a great XML-File in C#. Then I write the elements and packages with the followed command to Enterprise Architect. Did you have another possibility which is faster than this?
I need about a half day to import the XML-File to Enterprise Architect.

Here the commands i use:

Packages:
private EA.Package addPackage(EA.Package packages, String name)
        {
            // Add new package
            EA.Package newPackage = (EA.Package)packages.Packages.AddNew(name, "nothing");
            newPackage.Update();
            packages.Packages.Refresh();
        }



Diagrams:
private EA.Diagram addDiagram(EA.Element element, String name, String typ)
        {
            // Add new Diagramm
            EA.Diagram newDiagram = (EA.Diagram)element.Diagrams.AddNew(name, typ);
            newDiagram.Update();
            element.Diagrams.Refresh();

            return newDiagram;
        }



Elements:
private EA.Element addElement(EA.Package packages, String name, String typ)
        {
            // Add new element
            EA.Element newElement = (EA.Element)packages.Elements.AddNew(name, typ);
            newElement.Update();
            packages.Elements.Refresh();

            return newElement;
        }



Connectors:
private void addConnector(EA.Element element1, EA.Element element2, String name, String typ)
        {
            // Add new connector
            EA.Connector newConnector = (EA.Connector)element1.Connectors.AddNew(name, typ);
            newConnector.SupplierID = element2.ElementID;
            newConnector.Update();
            element1.Connectors.Refresh();
        }



Thanks for help,
dirk111

Frank Horn

  • EA User
  • **
  • Posts: 535
  • Karma: +1/-0
    • View Profile
Re: Performance of Automation Interface
« Reply #1 on: March 13, 2009, 08:42:16 pm »
You could write an XSL transformation to convert your XML source to XMI 1.1 or XMI 2.1, which you could import into EA (manually or via API).

It would mean a lot of work, I'm afraid, because there isn't much XMI documentation around, and EA uses some weird constructs there. But perfomance would probably be much better.