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 - Slávek Rydval

Pages: [1] 2
Next point.

The problem is in case there is File Based Keystore.

When I use Keystore Server (ssks://...), it works fine.

Yes, there is a prefix. I wouldn't be able to insert a licence into Key Store without the prefix.

I have practically the same code, here isn't the problem.

On startup the operations are called in this order:
  • EA_GetSharedAddinName (I return a string)
  • EA_AddinLicenseGetDescription (another string for cosmetic purposes)
  • [EA_AddinLicenseValidate (checking the licence validity, not called because the shared licence is not entered)]
  • EA_OnInitializeTechnologies (here I check whether licence exists or it is a trial)

Code: [Select]
private const string AddinName = "CaprCheekyEAJira";

public string EA_GetSharedAddinName(EA.Repository Repository)
     => AddinName;

public string EA_AddinLicenseGetDescription(EA.Repository Repository, string AddinKey)
    => AddinName == AddinKey ? "Cheeky EA Connector for Jira": null;

public bool EA_AddinLicenseValidate(EA.Repository Repository, string AddinKey)
        mainViewModel.Licence = new LicenceViewModel (new LicenceModelService().Read(AddinKey.Substring (1, AddinKey.Length-2)), new DialogService());
        return true;
        return false;

Automation Interface, Add-Ins and Tools / How to use shared keys in add-in?
« on: February 22, 2018, 12:19:20 am »
I developed an add-in that uses EA licence abilities. Private keys work properly but shared have problems: I am always getting this error messages when trying to add a key via Add Registration Key in EA: The last key of this type has just been taken by someone else. That means (besides other) that EA_AddinLicenseValidate is not called.

When I check the licence in Sparx Systems Key Store, licence is not taken (assigned) to anyone so from user perspective is free.

Where should I look for a solution?

Ok, cheers. I have to admin that there is wrong design of EA as many times before. :-(

For those who is interested in source code:

Well, in case of using OwnedByClassifier the bahaviour is less predicable. I have this dialog and accept the side effects would be a pain in the ass:

So again, is there any description how to properly use ConnectorEnds?

I have a simple directed association between two classes. Then I change the c.ClientEnd.Navigable to "Non-Navigable" value within an addin method. As a side effect, EA changes connector's direction to the opposite one. Why?

The code in C#:

EA.Connector c = Repository.GetCurrentDiagram().SelectedConnector;
//now, the c.ClientEnd.Navigable == "Unspecified", c.SupplierEnd.Navigable == "Navigable" and c.Direction == "Source -> Destination"

c.ClientEnd.Navigable = "Non-Navigable";
//now, the c.ClientEnd.Navigable == "Non-Navigable", c.SupplierEnd.Navigable == "Navigable" and c.Direction == "Source -> Destination"

//!!!now the value of c.Direction is "Destination->Source"!!!


You get more side effects when you change OwnedByClassifier:

c.ClientEnd.OwnedByClassifier = true;
//direction and navigability is chagned

Is there any description how to proper change ConnectorEnds properties without these side effects?

Automation Interface, Add-Ins and Tools / Re: MDG_GetProperty and icon
« on: November 06, 2016, 03:51:26 am »
Ok, I got it. It seems that the DLL with the icon musn't be a .NET DLL. If I build Win32 DLL, it is working.

As for the hidden menu items, it must be obviously return EA.MDGMenus.mgBuildProject | EA.MDGMenus.mgMerge | EA.MDGMenus.mgRun

Automation Interface, Add-Ins and Tools / Re: MDG_GetProperty and icon
« on: November 06, 2016, 01:37:55 am »
No reply so far, so I prepared minimal solution, maybe someone will try it:

Uml Process / Re: Information Flow vs. Dependency Relationship
« on: November 01, 2016, 10:24:25 pm »
You have to distinguish between UML standard and UML in EA. In UML standard has Dependency really nothing in common with Multiplicity. In comparison with UML standard, EA allows you to break many UML rules (constraint).

Dependency is not a relationship between Classifiers but NamedElements (thus you can have dependency e.g. between attributes). As UML states:

A Dependency implies that the semantics of the clients are not complete without the suppliers. The presence of Dependency relationships in a model does not have any runtime semantic implications. The semantics are all given in terms of the NamedElements that participate in the relationship, not in terms of their instances.

Dependency is a specialization of DirectedRelationship.

Association is a specialization of Relationship and Classifier. Association has any number of ownedEnds (of metatype Property) and specifies a relationship between instances of these properties.

In my own UML life I try to omit using pure dependency. There are specialization such as Using or Realization whose semantics is more concrete. If a class calls an operation in other class, I use Usage. On the other hand, if a class is in an association with other one (such as Person has BankAccount), I use Association.

Automation Interface, Add-Ins and Tools / MDG_GetProperty and icon
« on: November 01, 2016, 08:18:25 am »

are there any rules related to the icon in dll with the plugin? I've got MDG plugin written in C# (.NET 4.5.2 or higher) and an icon as a resource. When a question to the icon comes I return:

public object MDG_GetProperty(EA.Repository Repository, string PackageGuid, string PropertyName)
    switch (PropertyName)
        case "IconID": return System.Reflection.Assembly.GetExecutingAssembly().Location + "#treeview";
        case "Language": return null;
        case "HiddenMenus": return EA.MDGMenus.mgBuildProject & EA.MDGMenus.mgMerge & EA.MDGMenus.mgRun;
        default: return null;

Although the package is connected, no icon is shown. Beside the icon I tried also a bitmap without any positive effect. Can you give me any hint? Cheers.

Uml Process / Re: Message Attributes on sequence diagrams
« on: November 01, 2016, 07:55:40 am »
Polymorph, use reopening only for open diagrams, if needed. The change is made in model so every other diagram, if opened later on, will be correct.

Uml Process / Re: Information Flow vs. Dependency Relationship
« on: November 01, 2016, 07:49:40 am »
I think you mixed more things together. Dependency can be seen almost everywhere (for instance, if an attribute has a type you can say that this attribute depends on its type). Dependency is the most general metaclass used usually to say: I won't to specify it more precious (which doesn't mean it is wrong).

On the other hand, flow means that a piece of data flows from source to target. It doesn't say anything else such as who starts the transfer. Secondly, information flow is not (from UML point of view) a specialization of dependency.

Last but not least, multiplicity has nothing to do with dependency neither with information flow.

To sum it up: if you use information flow, there is no need to use dependency. Using multiplicity with dependency or information flow is against UML 2 standard. I would definitely delete the dependency if there is an information flow.

Have you checked Extent ribbon? You can also redefine the ribbon by using EA_GetRibbonCategory (see

General Board / Re: Relationship Matrix and applying of Model Sear
« on: May 12, 2015, 05:53:56 pm »
Thanks, Geert. It works. It is pretty surprising to me that even a keyword has to be capitalized.

Pages: [1] 2