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.

Topics - Geert Bellekens

Pages: 1 ... 8 9 [10] 11 12 ... 15
Bugs and Issues / Connector locking bug(s)
« on: September 07, 2009, 04:23:33 pm »

I have three(related) bugs for the price of one here. They are all regarding the locking mechanism on Connectors. (when the option "Security" is enabled)
We use the security with the most strict option where the users must lock something before they can edit it.
When it comes to Connectors this just plain doesn't work (like it is supposed to)

1. The first bug is regarding the notes of a connector. Steps to reproduce:
  • Create a relation between two classes (association,...)
  • Relase the lock on the diagram showing the connector
  • Doubleclick the connector and notice that the notes are not editable.
  • Show the notes window using "View/Notes"
  • Notice that you can still edit the notes of the selected Connector although it is supposed to be read-only.
Tss tss EA managing security belongs on the backend, not on the GUI only!

2. This one is about the general principle on locking/unlocking connectors. It seems that the fact whether a connector is locked depends on the the locking status of the diagram from which the properties dialog is opened. Steps to reproduce:
  • Create a connector between two classes
  • Show the connector on two diagrams
  • Unlock diagram1 (to make it read-only)
  • Doubleclick the connector on diagram1(read-only) and notice that the details cannot be edited.
  • Doubleclick the connector on diagram2(editable) and notice that the details can be edited.
This is just plain stupid. Connectors are real parts of the model and should have their own locking status, not depend on the locking status of the diagram from which they are opened.

3. This one is closely related to bug number 2: When an element is readonly you would expect that you can't change it. This is true for the details of the element itself, its attributes and operations, but not for its connectors. Steps to reproduce:
  • Create a class and release the lock making it read-only
  • Create a diagram and show the class on this diagram
  • Add or remove any type of relation from or to the supposedly read-only element. As long as the diagram you are using to edit the connectors is editable EA will allow all changes to the connectors of an element.
This is really sad. If I put an element read-only this means that I don't want it to change. EA however allows me to add generalizations, associations and whathever effectively changing the element in a big way.

I'll be sending these bugs to Sparx Support.


Bugs and Issues / Find in Diagrams broken for relations in search
« on: September 21, 2010, 10:16:25 pm »
The Show in Diagrams functionality doesn't seem to be working when used on a relation that was returned as a search result.

Steps to reproduce
- define following search (or something similar based on t_connector)
Code: [Select]
select c.ea_guid as CLASSGUID, c.Connector_Type as ClassType, isnull(, + '.' + as Name, source.Name as 'Class Name', as 'Package Name' , as 'Package level -1', as 'Package level -2', as 'Package level -3'
from t_connector as c
join t_object as source on (c.Start_Object_ID = source.Object_ID)
join t_object as target on (c.End_Object_ID = target.Object_ID)
join t_package as package on (source.package_id = package.package_id)
left join t_package as package_p1 on (package_p1.package_id = package.parent_id)
left join t_package as package_p2 on (package_p2.package_id = package_p1.parent_id)
left join t_package as package_p3 on (package_p3.package_id = package_p2.parent_id)
where c.Notes like '%<Search Term>%'
- run search and make sure you have some results
- right click on one of the results
- choose "Find in Diagrams"
- notice that EA takes a very long time to process the request, and then comes up with a huge list of diagrams that have nothing to do with the selected relation in question.


Bugs and Issues / Copy Element destroys nested sequence diagram!
« on: August 05, 2010, 09:38:45 pm »
If you copy/paste an element in the project browser, and that element has a sequence diagram, the sequence diagram of the original elment is destroyed!
All messages have disappeared!
This is a serious bug, and the only way to get the data back is to restore the backup.

Steps to reproduce
- Create an element (Element A, say a Collaboration) in a package (packageA)
- Add a sequence diagram with some messages to ElementA (nested)
- Select elementA and press Ctrl-C (copy)
- Select packageA and press Ctrl-V (paste)
- Notice that there is now a new element: "elementA - Copy" which also contains an emtpy sequence diagram
- Open the original sequence diagram of elementA
- Notice that there are no more messages on the original sequence diagram.

Tested on 8.0.860 with SQL Server 2008 database.

I've reported this to Sparx, I guess we can expect another hotfix soon  :-/


Bugs and Issues / Can't login to registered users section
« on: June 07, 2010, 04:16:45 pm »

Last week for some reason I couldn't access the registered user section anymore.
IE (7) doesn't ask for a user/password anymore, but I immediately get the 401 page.
Does anyone have the same issue?
Has something changed on the site?

Pretty annoying since I would like to download the new release.


Bugs and Issues / SQL error when saving sequence diagram
« on: November 30, 2009, 08:06:48 pm »
When saving a sequence diagram that contains some messages to operations with a long name and/or a lot of parameters I get an SQL server error: "Bynary data or string would be truncated"

this is apparently caused by the fact that EA stores the whole signature of the operation in the t_connector.Name field which is only 255 characters long.
Obviously this is not enough.

Reported to Sparx.


Bugs and Issues / Package.Elements doesn't return all elements
« on: April 16, 2010, 06:31:22 pm »
To my big surprise my validation tool returned less results in V8 then it did in V7.5.
After an intensive search I found out that Package.Elements doesn't return as much elements in V8 as it did in V7.5.
The reason is the parentID column in the t_object table.
Package.Elements doesn't return elements that have NULL as ParentID. (most of them have 0, but for some unknown reason others have NULL).

The project integrity check will not fix this.

Reported to Sparx


Bugs and Issues / Pre 8.0 triggers specifications broken in 8.0
« on: April 27, 2010, 04:45:46 pm »
In 7.5 you could specify a specification in the trigger field of a transition, without specifying the actual trigger.
In 8.0 that is not possible anymore.
This becomes an issue with the existing pre-8.0 trigger specifications of transitions.
These specifications cannot be edited anymore in 8.0
You can simulate the same situation in 8.0 by deleting a trigger that is used in a transition.

Reported as bug.


Bugs and Issues / Add New button creates elements in locked packages
« on: April 27, 2010, 05:04:19 pm »
We use the security feature with the option "Require User Lock to Edit"
In 8.0.855 I can add elements to package that are not locked by me using the select item dialog.
For instance if you select the behavior of a transition the "Add New" button of the select item dialog will allow me to create an activity in any package, regardless of the locking status.



Bugs and Issues / Element.Issues is very very slow
« on: April 16, 2010, 10:19:07 pm »
Traversing the Element.Issues collection is very very slow.
(I think I reported that once before, but I can't seem to find the topic )
I spent a little time with SQL profiler to find out what exactly was happening.
The code I used was a simple
Code: [Select]
               foreach (EA.Issue issue in this.wrappedElement.Issues)
Now when the this.wrappeElement.Issues get first initialized EA does following on the database:
Code: [Select]
Select 'problem=' + Problem + ';' + 'type=' + ProblemType + ';'  As Issue
from t_objectproblems where Object_ID=2146247310
Then each time the enumerator goes to the next issue another command is issued to get the details of that specific issue.
Code: [Select]
Select * from t_objectproblems
where 'problem=' + Problem + ';' + 'type=' + ProblemType + ';' = 'problem=ACVPackage¶ Geert Bellekens¶ Element should have comments_(13/04/2010 11:37:46.82);type=Defect;'
and Object_ID=2146247310
This is just ridiculous  :o
No other EA.Collection is managed that way!

If a developer on my team would pull one like that  :-X

I'll report it as a bug.


Bugs and Issues / v8 - Type dropdown box broken
« on: February 15, 2010, 11:22:15 pm »
The type dropdown gui element in the properties dialog of an attribute is of the type combobox.
That means that it allows both to type a value as to select one from the list.

In v8 they have managed to break this simple control. Once something has been selected previously you cannot type anything in the field anymore. Only if you select <none> (from somewhere in the middle of the list :-?) it allows you to type again.

Also in v7.5 this combobox allowed to simply start typing the name of a classifier, and it showed you the possibilities to choose from. This possibility has gone. I have to open a new dialog now if I want to select an existing class as type of my attribute >:(

In engineering there is a golden rule: if it aint broke, don't fix it!


Bugs and Issues / duplicate ea_guids in t_attribute
« on: February 17, 2010, 01:48:24 am »

I'm trying to upgrade our model to use SQL server 2008 iso 2000.
To do so I though it would be wiser to start with a fresh database and do a project transfer.
So I created a database on the SQL2008 server with the script provided by Sparx, and I started the transfer.
After a while it stopped giving my an error on the t_attribute because of a violation of the ux_attribute_guid (the unique constraint on the t_attribute.ea_guid)

After running a query I found out that on my old sql2000 database I have ~150 guids who are shared by up to 6 attributes. (out of the 15.000 attributes).

Did anyone have this issue before (and knows a good way to solve it)?



Bugs and Issues / SQLServer update script broken
« on: February 16, 2010, 01:19:01 am »
The MS SQLserver update script that can be downloaded from the website is broken.
1. It doesn't work on SQL 2000 because in that version it can't update columns of type ntext
2. There are some plain errors in the file like it tries to drop an non existing index:
            IF EXISTS (SELECT 1 FROM dbo.sysindexes WHERE OBJECT_NAME(id) = 't_diagram' AND name = 'Diagram_Type')
            DROP INDEX [t_diagram].[t_diagramtypest_diagram]
or it tries to drop an index without checking if it exists:
            DROP INDEX [t_object].[PD1]

Please make this work, it shouldn't be my job to test for such obvious errors.

Reported to Sparx


Bugs and Issues / EA crashes when Element.ApplyUserLock is called
« on: January 21, 2010, 06:12:42 pm »
We use the security feature with "require user lock to edit" option.
I've written an addin that allows me to edit the body of the postconditions in an external text editor and save it back to EA.

Before saving the changed postconditions to EA I check if the Element that owns the operation that owns the postcondition is editable. (the only way to test this is to try update() (without having changed anything) on the element and catch the exception if it isn't locked by the user)
Now when a user doesn't have a lock  I call Element.ApplyUserLock().
If that fails (either by throwing an exception, or returning false) I inform the user that somebody else has locked the element.

The problems happen when somebody else has a lock on the Element. The first time it is all fine, I can inform the user of the existing lock on the element. The second time I try this (the case where this or another element is locked by somebody else then the current user) EA crashes hard. No exceptions, no errors, it just plain disappears.

I have found a workaround for this by querying the seclocks table, but I would rather not have to do this.

Steps to reproduce

  • Setup security with option "require user lock to edit"
  • loging with user A
  • Lock element A
  • Login with user B
  • Call ApplyUserLock() on element A
  • notice all is still fine
  • Call ApplyUserLock() on element A
  • notice that EA is gone.

The code for the workaround looks like this:
Code: [Select]
       /// <summary>
        /// locks the element by the current user
        /// </summary>
        /// <returns>true if successful</returns>
        public override bool enableWrite()
            //because of some nasty bug in EA the application will crash if the element is already locked
            // by another user.
            // therefore we check first if this element is locked before even trying.
            string SQLQuery = "select s.entityID from t_seclocks s where s.entityID = '" + this.wrappedElement.ElementGUID + "'";
            XmlDocument result = ((EAModel)this.model).SQLQuery(SQLQuery);
            XmlNode lockNode = result.SelectSingleNode("//entityID");
            if (lockNode == null)
                //no lock found, go ahead and try to lock the element
                    return this.wrappedElement.ApplyUserLock();
                catch (Exception)
                    return false;
                //lock found, don't even try it.
                return false;
(this.wrappedElement is the actual EA.Element)

The EAModel.SQLQuery method looks like this:
Code: [Select]
       /// <summary>
        /// generic query operation on the model.
        /// Returns results in an xml format
        /// </summary>
        /// <param name="sqlQuery">the query to execute</param>
        /// <returns>the results of the query in an xml format</returns>
        public XmlDocument SQLQuery(string sqlQuery)
            XmlDocument results = new XmlDocument();
            return results;
(this.wrappedModel is the actual EA.Repository)

Reported to Sparx


Bugs and Issues / "StateFlow" connector type not documented
« on: December 21, 2009, 07:51:46 pm »
When looking at the help page about connectors the type "StateFlow" is not mentioned, yet that is the type you get when a transition between two states is selected.

Bug reported


Bugs and Issues / Template diagram copies author
« on: December 10, 2009, 11:14:20 pm »
When you create a template diagram in the "Templates" folder and someone else creates a new diagram of that type the "author" field is copied as well. The result is that all diagrams of that type have the same author: the one who created the template diagram.

Steps to recreate

- Use Security to enable the login
- Create a new package and set it to be the template package
- Create a new diagram in this template package (say ActivityDiagram)
- Login as another user
- Create a new ActivityDiagram somewhere else
- Notice that the author of this diagram is the user who created the template diagram.

Reported to Sparx

Pages: 1 ... 8 9 [10] 11 12 ... 15