Hi Fabrizio,
Thanks for looking deeper. I now found the problem. The behavior is indeed generated
because sorted: uses addAll: that forces a reconsideration of the type.
When a group of entities tries to find a specific type, it looks in all the subclasses to
see if it finds a class that is named exactly like the entity + the suffix
"Group". Because your group class was called MJFAMIXTablesGroup, with an
"s" in the middle, this created a confusion.
I now fixed the problem in your code:
Name: Moose-JEE-Model-tg.45
Author: tg
Time: 2 November 2010, 9:17:50 pm
UUID: 2ab0c7e5-e48b-4dd6-b3c1-8befb2dfc54b
Ancestors: Moose-JEE-Model-FabrizioPerin.44
Renamed MJFAMIXTablesGroup to MJFAMIXTableGroup to fix the problem of sorted:
Cheers,
Doru
On 2 Nov 2010, at 16:55, Fabrizio Perin wrote:
Hi Doru,
yep, you are right, so i tried and i can reproduce the error by executing the first
visualization that you find into the entry "JEAs Visualizations" in the context
menu. Than if you try again to open the contextual menu on the "All Data Base
tables" entry again the menu is gone.
I did investigate a bit further and i guess that the the problem is that i order the
Table by name using the method sorted: which is defined into MooseGroup. So the problem is
that this method order the entities and than reassign them using self entities: that could
create a MooseGroup rather than a MJFAMIXTablesGroup.
I tried to modify the visualizations a new ordered collection instead of the group itself
and the entry "All Data Base Tables" remains a MJFAMIXTablesGroup.
Here the code:
MJFAMIXTablesGroup>>>viewUMLTablesOn: view
view shape rectangle withoutBorder.
view interaction nodraggable.
view node: #tables forIt: [
(self sorted: [:a :b | a name < b name ]) do: [:table |
table viewUMLTableOn: view.].
view gridLayout].
MooseGroup>>>sorted: aBlock
self entities: (self entities sortBy: aBlock)
CORRECTION:
MJFAMIXTablesGroup>>>viewUMLTablesOn: view
| orderedTables |
orderedTables := (OrderedCollection withAll: self) sorted: [:a :b | a name < b name
].
view shape rectangle withoutBorder.
view interaction nodraggable.
view node: #tables forIt: [
orderedTables do: [:table |
table viewUMLTableOn: view.].
view gridLayout].
If i'm right it is actually a bug isn't it? I mean if i use the sorted: method i
want actually to keep the same group type i don't want to have back a generic
MooseGroup.
I will not commit the modification so you can reproduce the error in case.
Thanks,
Fabrizio
On 2 Nov 2010, at 16:00, Tudor Girba wrote:
Hi,
I cannot reproduce this problem. I loaded MooseJEE, executed the test, and every time I
click on the table group I get the same correct menu.
Just out of curiosity, can you try in a fresh image?
Cheers,
Doru
On 1 Nov 2010, at 13:52, Fabrizio Perin wrote:
Hi,
if you load the last MooseJEE tests package (Moose-JEE-Tests) and you execute
MJFAMIXTableTests>>>testTableGroup a finder panel will open with a fake model
containing some tables. Than you can easily reproduce the problem.
Cheers,
Fabrizio
On 29 Oct 2010, at 21:50, Tudor Girba wrote:
Hi,
Strange. I never encountered this problem. Can you reproduce this problem with a script
(by just adding entities in the group)?
Otherwise, can you send us an MSE file to reproduce the problem?
Cheers,
Doru
On 29 Oct 2010, at 16:56, Fabrizio Perin wrote:
> Hi,
> i have a problem with the moose panel: when i load my stuff (MooseJEE) i have a group
of database tables which has defined on top 2 visualizations. When i load a model form a
MSE file, the first time that i click on that entity it is actually recognized has a
TableGroup (see figure 1). When i click a second time on it it not consider anymore a
TableGroup but just a MooseGroup, consequently i loose all the information specifically
related with the table group (see figure 2).
>
> I define my group like this:
>
> mooseModel>>>allTables
> <navigation: 'All Data Base Tables'>
>
> | group |
>
> group := self allWithType: MJFAMIXTable ofGroupClass: MJFAMIXTablesGroup.
> group description: 'All Data Base Tables'.
> ^group
>
> SessionBeans group has the same definition but it works all the time.
>
> Any ideas on which could be the problem?
>
> Cheers,
>
> Fabrizio
>
> <Figure1.withmenu.tiff>
> <Figure2.withoutmenu.tiff>_______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Beauty is where we see it."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"We cannot reach the flow of things unless we let go."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair,
you will end up with a messy haircut."