Sparx Systems Forum

Enterprise Architect => Bugs and Issues => Topic started by: DanG83616 on June 22, 2008, 09:54:41 am

Title: Why is Info Items Conveyed dialog read-only?
Post by: DanG83616 on June 22, 2008, 09:54:41 am
I've been happily adding info flows to a composite diagram and specifying the Information Items Conveyed. Unfortunately, the dialog has started coming up in a read-only mode. I have the packages containing the source and destination elements checked out. Any ideas why this is happening?

By read-only I mean that the Add/Remove/OK buttons are inactive.

Thanks,
Dan
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: Eve on June 23, 2008, 08:15:44 am
You can't modify a connector when the source is in a version control locked package.  They are owned by the controlled package, and therefore locked with them.
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: DanG83616 on June 24, 2008, 04:29:13 am
I have double checked that all packages involved in the relations are checked out. All the instances involved are actually in the same package and it is checked out. My experience is that I cannot modify a diagram at all if the package is not checked out. Is there any other explanation or possible work-around?

There are more packages involved because the instances on either end of the flows are instances of components defined in other packages. Those packages are also checked out.

Perhaps I don't understand the concept of "locked." I am assuming that a version controlled package that is checked out (no key icon within package folder icon) is unlocked. Is there something that must be done to make a checked out version controlled package also unlocked?

Any ideas will be helpful.

Thanks,
Dan
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: «Midnight» on June 24, 2008, 07:13:19 am
Dan,

Do you have a locked diagram anywhere in the package tree?
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: Frank Horn on June 24, 2008, 04:51:04 pm
Dan,

to narrow it down you could try to find out to which package the connector in question actually belongs. Unfortunately EA offers no option to show connectors in the project browser, but you can see it either in the database (i.e. open the eap file with MS Access) or in an exported xmi file.

I never much cared about EA's database structure; others might help you there. But here's what I would do:

Export the minimum package containing source and target of the flow connector to xmi 2.1. Search the file for the name of the source element, then search for it's xmi:id. You'll find a tag

Code: [Select]
packagedElement xmi:type="uml:InformationFlow"
with an attribute source having the source element's xmi:id as its value and can see to which packagedElement tag it belongs.
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: DanG83616 on June 25, 2008, 04:51:17 am
Good idea to check the xmi. Despite the flow source being connected to ComponentA, port "AlarmOutput" in the diagram the xmi shows that the source is ComponentB, port "AlarmOutput".

IMHO, this is a huge bug! The workaround is to edit the ea_localid tag in the xmi file and re-import. Not great but will get me bye. Other ideas welcome. Globally unique names for ports won't work for me. I think it will make composites with multiple insanced of the same classifier impossible. It would be like having to name Vcc different for each chip in a schematic.

Thanks again,
Dan
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: DanG83616 on June 25, 2008, 05:05:31 am
Nevermind. I got confused (twice) when I traced the ea_localid back to the source. I still cannot figure out what is going on. Sorry for the premature posting.

Dan
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: DanG83616 on June 27, 2008, 05:33:02 am
This issue has to do with renaming a port.

1. Create an instance of a component
2. Rename a port in the instance
3. Select the instance and Embedded Elements->Embedded Elements...
4. Notice that the old name is still there and now unchecked (not visible)
5. Check the box and make the inherited port visible on the instance.
6. Connect a flow from that inherited port to some other destination.
7. Select the flow and Advanced->Information Items Conveyed...
8. Viola! read only!

The above is only a single way to repeat the issue. There may be others... It has nothing to do with version controlled packages because I repeated it in a package that is not version controlled.

If you are working with a component instance and the flow's Info Items Conveyed becomes read-only:
1. Check to make sure that the package containing the source instance is not locked (normal case)
2. Consider the possibility that you attempting to use a "stale" inherited port. The above description is one way in which this can happen.

Here is how I found myself off the beaten path:
1. I create componnent diagrams showing the component in isolation similar to what you would see in a IC databook or datasheeet.
2. When I used the components I create composite, sort of like creating a circuit board. The composite diagram becomes a scematic showing the interconnection between the component instances used in the composite "circuit board".
3. A side effect of the process is that port names that seemed good in isolation might not be so good when put into context of usage. This is where I got tripped up.
4. Changing the name of a port, whether done in classifier or instnace, causes the classifier port to become read-only in the instance.

Unlike my previous post, I have recreated this step by step and it is very repeatable.

Dan
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: «Midnight» on June 27, 2008, 06:46:14 am
Well, you've certainly come full circle.

Have you reported this to Sparx via a bug report (as in with the Report a Bug link near the bottom of any forum page)?

David
Title: Re: Why is Info Items Conveyed dialog read-only?
Post by: DanG83616 on June 27, 2008, 07:02:40 am
Yes. An example model with stale ports was included in the report.