Book a Demo

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 - PV

Pages: [1]
1
General Board / Re: Mapping from logical model to fisical model
« on: February 20, 2009, 11:03:34 pm »
Quote
We've created an Add-in for EA that enables one to easily map any two elements to each other.  In our case, we have a logical model and a physical model.  Our mapping add-in enables us to select any attribute from our logical model and map it to any attribute in our physical model.  Then we created custom reports that can show the mappings from any point of view.

Hi all...

I work with Mikaeel and am the developer of the above AddIn. I dont mind sharing the application with you guys..

Here's some technical info on the AddIn (in no particular order of importance):
  • Installation file is approx 1.31MB.
  • Written in C#.NET and requires .NET Framework 2.0 (Minimum).
  • Originally developed to use a SQL Server backend, however, we migrated to Oracle and I have changed the app accordingly. The current version will therefore work on both SQL Server/Express as well as Oracle. The app DOES NOT WORK with EAP files.
  • Makes use of a number of custom tables, stored procedures and a function. All of these must be present in the same DB as the EA model (ie. in the EA Repository).
  • All settings are user configurable and are stored in the EA Project as a Package with classes and attributes.
  • Compiled against v7.1.834 of EA. There are some issues with the previous versions of EA. So this is the minimum EA version required.
  • Includes functionality to record Metadata for classes and attributes as well. These are based on specific requirements for our project and is NOT customisable.
  • Includes Reporting functionality in the form of HTML reports. These include a set of standard reports only.

The application is still under development as there are a number of new requirements which need to be catered for.

PM me if you're interested and I will see what I can do to get a copy to you.

Regards,

~ PV


2
Quote
I tried to iterate downwards but the result is still the same - exception thrown.

My method now looks like this:
Code: [Select]

        public void DeleteParameters(EA.Method _methodObject)
        {  
            int i;
            for (i = _methodObject.Parameters.Count - 1; i >= 0; i--)
            {
                _methodObject.Parameters.Delete((short)i);
            }
            _methodObject.Parameters.Refresh();
        }
      

The exception is thrown by statement: _methodObject.Parameters.Delete((short)i);
when it is run for the first time.

I could be wrong but I suspect the problem lies in the way you are looping through the collection. Since you are reducing the number of items in the collection in each loop, the line "for (i = _methodObject.Parameters.Count - 1; i >= 0; i--)" is going to end up getting confused..  ::)

maybe try something along these lines:

Code: [Select]

int _maxItems = _methodObject.Parameters.Count;
 
for (i = 0; i = _maxItems; i++)
{
    _methodObject.Parameters.Delete(0);
}


~ PV

3
Howdy...

EALite does indeed allow addins..I've tested this myself..this is why I have a problem.. cos I want to limit the functionality of my addin if the user is using EALite (or a trial version).

I logged a call with sparx support and here is the feedback I received:


Thank you for your email regarding the Enterprise Architect automation interface. I have noted that there is no corresponding documentation for the information you have requested in the Enterprise Architect help file. The following has been added, and should be of interest to you:
 
The Repository object defines the following attribute:
AttributeTypeNotes
EAEditionEAEditionTypesRead only: Returns the level of liscensed functionality available to the current repository.
           
The enumeration EAEditionTypes is defined as follows
 
EAEditionTypes Enum
The EAEditionTypes enumeration identifies the level of liscensed functionality available to the current repository.
 
For example:
 
Code: [Select]
EAEditionTypes theEdition = theRepository.GetEAEdition();
 if ( theEdition == EAEditionTypes.piDesktop )
  ...
 else if ( theEdition == EAEditionTypes.piProfessional )
  ...

The enumeration defines the following formal values:
- piDesktop (= 0)
- piProfessional
- piCorporate
 
Additionally:
- A value of -1 indicates that Enterprise Architect is running in Lite mode.
- In versions 7.5 and above, the value piCorporate represents the Business Engineering, Systems Engineering and Ultimate editions.
- There is no seperate value for the trial edition, the Repository.EAEdition attribute will contain the appropriate EAEditionTypes value for whichever edition the user has selected to trial.


later...

~ PV

4
Hi,

I am writing an add-in for EA (C#) and would like to set permissions based on the version of EA installed (ie. Lite, Trial and Registered versions).

Anyone have any ideas on this?

TIA..

~ PV

Pages: [1]