[izpack-devel] mutually exclusive packs

Bartz, Klaus Klaus.Bartz at coi.de
Wed Nov 15 18:11:45 CET 2006

Hi Vladimir,
of course "pack"...
Using the require text area for both is OK, I think. Code
have to be addapted.
Will be good if you can expand the docu with points related
to the added rules.
In the moment I am very busy, therefore staccato style :-)



>-----Original Message-----
>From: izpack-devel-bounces at lists.berlios.de
>[mailto:izpack-devel-bounces at lists.berlios.de]On Behalf Of Vladimir
>Sent: Wednesday, November 15, 2006 1:36 PM
>To: izpack-devel at lists.berlios.de
>Subject: Re: [izpack-devel] mutually exclusive packs
>Bartz, Klaus wrote:
>> Hi Vladimir,
>> seems so it can resolve the logical and declarative symmetry
>> problems we have had.
>> First I will write what I understand (or better anticipate)
>> about "your" exclude group that we can verify that we speak about 
>> the same "thing".
>> There are some points added for the behavior if some premises
>> are not exist.
>> 1. "excludeGroup" is an attribute (ATTLIST) of element "packs"
>The element "pack", but I guess you just misspelled it?
>> 2. "excludeGroup" can only contain one group.
>> 3. This group is a String which is unique for one group of all 
>> "excludeGroup"s, but has no relation to other groups like the 
>> "installGroups" or the pack name or id.
>> 4. A functional  "excludeGroup" can contain at least two 
>members. A member is 
>> a pack which has the attribute "excludeGroup" with the given name.
>> If only one member is declared, nothing will be done.
>> 5. A member in the "excludeGroup" cannot have the attribute 
>> If so, an exception should be thrown at compile (packaging) 
>time and no
>> installer should be created.
>> 6. Only one member in the "excludeGroup" can have the 
>attribute "preselected="yes"".
>> Therefore it is a precondition that the attribute 
>"preselected" exist because the
>> default is "yes". A contempt will be responsed with an 
>exception and a break
>> at compile (packaging) time.
>> 7. The handling at install time of this feature will be done 
>in the class
>> com.izforge.izpack.panels.PacksModel. There is no new panel 
>to handle something.
>> 8. From all members of an "excludeGroup" only one member can be 
>> selected. One member of the group is mutually exclusive to 
>each other member.
>> If a secound will be selected, the previous will be 
>deselected. If no previos 
>> selected exist, only the selection will be performed.
>> Unclear:
>> What about informations for the installer (user)? For 
>dependens there is an
>> extra text field in the PacksPanel. For an additonal text 
>field we have no
>> place, I think. What todo? 
>How about this? Replace the "The selected package requires the 
>packs to be installed" frame with one named "The selected package has 
>the following dependencies", which would contain something like this:
>"<b>Requires:</b> pack1, pack2, pack3. <b>Excludes:</b> pack4."
>> Is this what you would implement? What is missing? I think a 
>text like this
>> can be used as description. Then we have solved the 
>exasperating point docu.
>> You confirm? Or can you write it better?
>Yes, I may add some other minor rules, but this is the main 
>idea. When I 
>implement it, I will review the rules again and will see if something 
>needs to be added or changed. Thanks.
>> Cheers
>> Klaus
>Vladimir Ralev, JBoss/RedHat
>izpack-devel mailing list
>izpack-devel at lists.berlios.de

More information about the izpack-devel mailing list