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 - Eric Johannsen

Pages: [1] 2 3
1
General Board / Alias not shown for label on UI diagram
« on: August 24, 2007, 01:29:10 pm »
I have a diagram that contains a screen with several UI controls.  Many of the UI controls have an ALIAS and the diagram is set to display the alias if available.

The UI controls stereotyped Label do not use the Alias, but rather continue to use the Name.

Is this a bug or by design?  It's certainly creating some problems for us...

2
General Board / Feature Visibility for Screen
« on: August 01, 2007, 03:58:06 pm »
I have a diagram on which I have several screens.  Currently the notes section of each screen has the name of the actual aspx page in the current system so that the developers can better orient themselves.  I would like the name to show up on the diagram in some form.  I tried seting the feature visibility of the screen itself by checking "notes", and tried the various options on the diagram.

Is there any way to get the Notes to display on the diagram, or will I need to take a different route?

Thanks,

Eric

3
Automation Interface, Add-Ins and Tools / Re: Integrate test scripts in EA
« on: September 18, 2008, 02:20:38 pm »
EA Lite is a read-only viewer for Enterprise Architect databases, intended to let people view but not change models.

The paid versions of EA (not Lite) allow you to attach any number of files (they could be test scripts) or URLs to requirements in EA.

Additionally, EA lets you model your tests.  I prefer using activity diagrams to specify test flow.  The activity diagrams can be directly attached to the requirement they are meant to test.

4
I have a package in my EA repository that has a Group Lock for a group that I'm NOT a member of.

If I try to create a new requirement in that package using EA, I correctly get the message "The current action cannot be completed as the necessary security is not available".

HOWEVER, if I create a new requirement in that package, using the exact same user, through the API, the requirement is created and it does not inherit the group lock from the package it's in.

I'm using EA 6.5 Build 805 because this code needs to run for a number of different customers and 6.5 is the least common denominator.

Is this known behavior?  Is there a published work-around?


5
Automation Interface, Add-Ins and Tools / Re: Connectionstring
« on: September 11, 2008, 09:57:36 am »
Just to try and take a different angle at answering this...

There are two kinds of repositories for EA.

1. EAP files
2. Server-type SQL database (SQL Server, Oracle, ...)

If the connection string is coming back as an EAP file name, the repository is just an Access database, not a server-type SQL database.  EAP files / Access databases do not HAVE a server name, they are just a file on either the local machine or a network share.

What Midnight is saying is that you can build your own connection string, by hand, using the EAP file name that Repository.ConnectionString returns to you, using the MS-Access drivers.

Here's a link showing you how to format the connection string:

http://www.connectionstrings.com/?carrier=access

The "Dbq=" part of the connection string is the file name of the EAP file.

6
This code runs great except for on ONE package at ONE client (of many):

Code: [Select]
EA.Package newPack = (EA.Package)currPack.Packages.AddNew(newPackName, "");
currPack.Update();

currPack is a valid EA.Package object.  The EA Integrity Checker has been run in repair mode.

For the one particular currPack at one particular client, currPack.Update() throws and RPC_E_SERVERFAULT exception.  After that, ANY further calls against the repository, whether related to that package or not, fail with the error "The RPC server is unavailable."

Driving us crazy to resolve, especially since the client is remote and we can find no way to reproduce the problem.

Any thoughts?

7
I just wrote this code without testing it (what's the saying... "that is left as an exercise to the reader") :-) but this should be pretty close to what you want:

Code: [Select]
private void IterateDiagram(EA.Repository rep, EA.Diagram diag)
{
    foreach (EA.DiagramObject diagObj in diag.DiagramObjects)
    {
        EA.Element elem = rep.GetElementByID(diagObj.ElementID);

        StringBuilder sb = new StringBuilder();
        foreach (EA.File file in elem.Files)
        {
            if (file.Type == "Web Address")
            {
                // You need to provide GetAddressContent()
                sb.AppendLine(GetAddressContent(file.Name));
            }
        }
        if (sb.Length > 0)
        {
            // Found at least one
            elem.Notes = sb.ToString();
            elem.Update();
        }
    }
}

8
The beta should be released by the end of the month if not sooner.


9
Hi Coen,

Sorry forgot to mention... the protocol handler will be free.

There's a link on the Canonic Labs page you can use to request the beta version when it's available.

10
Canonic is about to release the beta of an ea:// protocol.

See http://canoniccorp.com/products-labs.aspx


11
The code works fine as-is in our development and QA environments, it just fails for one of our customers.  It would be a bit involved to give them a special build and have them try and track down the issue.

There is no inner exception :-(

They are using the Borland source control provider.  We suspect it might be related to that particular provider (we test with SVN and VSS).

We have a way to work our business logic around the source control provider throwing an exception, but it's less than optimal.

12
Hi,

When my C# code runs this line:

int checkoutCode = currPack.VersionControlGetStatus();

an exception is thrown at one of our clients:

The remote procedure call failed. (Exception from HRESULT: 0x800706BE)

The currPack object is known to be a valid EA.Package object corresponding to a package that already exists in the model.

Any ideas what might cause this?

Thanks!

13
Canonic is about to release the beta of an ea:// protocol handler.

See http://canoniccorp.com/products-labs.aspx

14
I'm not a Java expert but it looks like this might solve the problem of calling the COM layer from Java:

https://com4j.dev.java.net/

As I think a previous poster mentioned there are also some commercial Java/COM bridges like EZJCom, but these tend to be expensive for what you get.

If you can access COM, you can latch on to an already-running instance of EA by looking for it in the Running Object Table (I can provide a code example if someone needs it, send me a private message here if you do).

This is only a solution for automating EA from the outside with Java, not for writing an Add-In using Java.  I do recall reading that some of the commercial Java/COM bridges can expose Java classes with a COM interface, but haven't tried to see if you can really write a plugin with that type of technology.


15
It's possible to encrypt the database connection string using the File / Save Project As menu item.

Is it possible to get an encrypted version of the connection string through the API?

Eric

Pages: [1] 2 3