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.

Messages - kosh.iii

Pages: [1]
Suggestions and Requests / Autolayout considering boundaries
« on: June 12, 2009, 11:33:46 pm »
Currently all boundaries are ignored then auto-layout is performed on a diagram. Elements are layouted and pulled out of their boundaries during this process.

Could you add an option "Preserve Boundaries" to the auto-layout options which will keep all elements inside the boundary? Multiple boundaries and loose elements could then be layouted according to the layout settings. Then the same could be applied to the elements inside boundaries.

Suggestions and Requests / Re: Check Out Branch
« on: June 12, 2009, 11:24:35 pm »
I've issued a feature request for this for 7.0 and I was told it will eventually be implemented... Any official statement in which version we can expect this improvement?

General Board / Re: How to customize stereotype icons?
« on: March 27, 2008, 01:32:23 am »
Thanks for your response! I've tried it that way and it worked. But when using the shape script below the icon is placed at the outermost NE corner of the UML element.

Is there a way to define a border to keep between icon and element boundary? I tried surrounding the image with a transparent border but transparency seems to be ignored in EA - at least for PNGs.

General Board / How to customize stereotype icons?
« on: March 08, 2008, 01:03:06 am »
Is there any way to change the stereotype icons that are displayed in the top right corner or add new stereotypes with custom icons?

What I don't want to do is change the whole appearence of a node, component or class into a metafile or shape script! I just would like to use my own icon images inside the default drawings.

Examples for default stereotypes that have icons are <<server>> nodes or <<pc>> nodes.

What I'd like to have example are a <<tomcat>> node or <<database>> node with appropriate icons.

Does anyone know how to achieve this? I searched the user guide and forum but didn't find anything.

Bugs and Issues / ORA-01795 Error when working with DBMS and SVN VC
« on: April 03, 2009, 07:35:41 pm »
We have experienced severe data consistency problems with the .EAP files in some of our models so I wanted to try an Oracle-DBMS as an alternative backend.

The model transfer from EAP->DBMS worked very well but when I checked out a package from SVN and performed a "Cancel Check-Out" later on I reveived the following error message:

Code: [Select]
OraOLEDB [-2147217900]
ORA-01795: Maximum number of expressions in a list is 1000

I know only of a limit in Oracle-DBs since version 8 where SELECT IN-clauses support a maximum of 1000 parameters. Is it possible that EA breaks this limit during its VC operations?

Bugs and Issues / Re: Importing 500 tables from a list of 70k Oracle
« on: June 12, 2009, 11:20:49 pm »
As a workaround you could create a new database user which only "sees" the tables you want to import and then use this user for the ODBC connect. I assume the dialog should be able to deal with these better than with a list of 70.000 tables.

Bugs and Issues / Order of views in DDL generation
« on: March 04, 2008, 09:07:15 pm »
When using the feature Code Engineering->Generate DDL... on a package containing tables and views the export order is the following and cannot be changed by the user:
  • Tables in alphabetic order
  • Views in alphabetic order
This behaviour can make the whole DDL useless when the exported views depend on each other: If for example a view CUSTOMER depends on a view USER the customer view would be created first due to the strict alphabetic order of export thus lacking the existence of the user view.

Possible solutions (sorted from most to least convenient):
  • The DDL generation checks dependencies among the exported tables/views on its own and creates them in the correct order
  • The order of the elements in the Project Browser is used
  • The user can define the order in the DDL export dialog

If there are any feasible workarounds (!=splitting the export or re-sorting the statements after the export) I'd be happy to know them until the issue is fixed appropriately.


Yeah, yeah, I know that part. I am pretty sure it is not my JVM that runs into memory problems, because it has 1 GB of RAM explicitly assigned and doesn't neraly use all of it. Furthermore Java processes runnig low on memory tend to die with an OutOfMemoryError instead of just behaving strangely.

The behavior I get from the program is, that a newly created UML element is not returned via the Java API as happend successfully 1000 times before during the program. Instead null is returned. The UML element creation in the Java API happens via a rather dull COM-Wrapper call to the underlying DLL, and I strongly suppose that the DLL already doesn't return anything, because the EA process running invisibly has memory problems.

I hope I made my problem clear enough for you to look into it? If not, please let me know. I'm really running out of options here, because I already wrapped the whole Java API into an own API which caches as much as possible in order to avoid unnecessary COM-Wrapper calls... :(

I am generating a quite big model using the Java API (eaapi.jar + SSJavaCOM.dll) and it seems I reached some kind of limit recently. During the creation process there comes a point where I add some element, diagram or put something into a collection (e.g. addind something to a package or diagram) and then the returned object is null for no obvious reason.

There is no specific place in the code where this happens. When I limit the number of elements used in the model the problem appears a bit later in the process. Limiting the elements further results in the model being created without problems.

As I see it, my model has crossed some "point of no return", where EA cannot handle adding more elements due to some memory problem.

Has anyone else experienced something like that? I'm glad for any kind of idea on how to further analyze or - even better - circumvent this problem.

Thanks a lot!

I'm working with the Java eaapi.jar and use the convenience method below to perform an auto-layout and image export in one step:

Code: [Select]
     * @param diagramGUID
     * @param imageExportFile
     * @param l
    public static void layoutAndImageExport(String diagramGUID, String imageExportFile, EaDiagramLayout l) {
        File imageExport = new File(imageExportFile);
        Diagram diagram = getDiagram(diagramGUID);
        if (!imageExport.getParentFile().exists())
        try {
            repository.GetProjectInterface().LayoutDiagramEx(diagramGUID, l.getLayoutStyle().getId(), l.getIterations(),
                    l.getLayerSpacing(), l.getColumnSpacing(), false);
            repository.GetProjectInterface().PutDiagramImageToFile(diagramGUID, imageExport.getAbsolutePath(), 1);
            if (logger.isDebugEnabled())
                logger.debug("Exported '" + diagram.GetName() + "' to file " + imageExport + " [" + imageExport.length()                        + " Bytes]");
        } catch (Exception e) {
            logger.error("Error occured layouting/exporting diagram " + diagram.GetName() + ": "
                    + repository.GetProjectInterface().GetLastError(), e);

In most cases this works absolutely well. But in some cases my Java application will freeze as an invisible modal popup dialog appears. You can get to the dialog using <Alt-Tab> and sometimes it reveals its content, which is always: A required resource was - Nothing more, just this text and an "Ok" button which I must activate to dismiss the dialog - and then my Java application resumes it's work - until the next diagram causes this dialog to pop up.

Has anyone of you ever experienced something like this? Can you tell me that this - obviously incomplete - error message is telling me?

I have a probably similar problem when updating a lot of infornation on diagrams or add tons of diagram links for a connector. Sometimes the memory consumption will just skyrocket and a few seconds after that a .GetConnectorByGuid or .GetConnectorByGuid will not find the desired object any more.

Have you checked if you really only loose the notes field?

I would like to know if there will be any new releases of the Automation APIs - ecspecially the Java eaapi.jar - containing new features from 7.5. I would be very glad to have access to the extended auto-layout features in the API soon.

To combine different layout options you can use the bitwise or operator, such as

Code: [Select]
int longestPathSourceAndDirectionDown = 536870912 | 131072;
I suppose there is no sanity check, so better don't try combining options from the same group, such as lsLayoutDirectionDown | lsLayoutDirectionUp.

In the eaapi.jar there is no enum for the diagram auto-layout styles. The SDK documentation doesn't tell us the value of each setting either, so I looked it up in the VBA EA Object Model 2.10. Here it is:

Code: [Select]

Automation Interface, Add-Ins and Tools / Re: Auto layout for diagram
« on: April 30, 2009, 09:54:36 pm »
Does anyone know how I can combine multiple diagram layout settings like DFS + Up Direction + Naive Initialization?

Is it simply adding up the long values? There's nothing about it in the SDK documentation.

Pages: [1]