geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From djen...@apache.org
Subject svn commit: r373947 - in /geronimo/trunk: assemblies/j2ee-installer/src/izpack/ modules/installer-support/src/java/com/izforge/izpack/panels/
Date Wed, 01 Feb 2006 00:05:57 GMT
Author: djencks
Date: Tue Jan 31 16:05:53 2006
New Revision: 373947

URL: http://svn.apache.org/viewcvs?rev=373947&view=rev
Log:
GERONIMO-1554 installer optional advanced features

Modified:
    geronimo/trunk/assemblies/j2ee-installer/src/izpack/geronimo-izpack.xml
    geronimo/trunk/assemblies/j2ee-installer/src/izpack/izpack-user-input.xml
    geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/GeronimoConfigProcessor.java
    geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/ValidatePackSelections.java

Modified: geronimo/trunk/assemblies/j2ee-installer/src/izpack/geronimo-izpack.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/assemblies/j2ee-installer/src/izpack/geronimo-izpack.xml?rev=373947&r1=373946&r2=373947&view=diff
==============================================================================
--- geronimo/trunk/assemblies/j2ee-installer/src/izpack/geronimo-izpack.xml (original)
+++ geronimo/trunk/assemblies/j2ee-installer/src/izpack/geronimo-izpack.xml Tue Jan 31 16:05:53 2006
@@ -76,6 +76,7 @@
         <panel classname="ValidatePackSelections"/>
         <panel classname="ValidatePackSelections"/>
         <panel classname="ValidatePackSelections"/>
+        <panel classname="ValidatePackSelections"/>
         <panel classname="InstallPanel"/>
         <panel classname="ProcessPanel"/>
         <panel classname="InfoPanel"/>

Modified: geronimo/trunk/assemblies/j2ee-installer/src/izpack/izpack-user-input.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/assemblies/j2ee-installer/src/izpack/izpack-user-input.xml?rev=373947&r1=373946&r2=373947&view=diff
==============================================================================
--- geronimo/trunk/assemblies/j2ee-installer/src/izpack/izpack-user-input.xml (original)
+++ geronimo/trunk/assemblies/j2ee-installer/src/izpack/izpack-user-input.xml Tue Jan 31 16:05:53 2006
@@ -1,6 +1,19 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>
 <userInput>
-    <panel order="0">
+    <panel order="0" >
+        <!-- this panel displays only if both Jetty and Tomcat are selected.
+             Check ValidatePackSelections.panelActivate() and
+             GeronimoConfigProcessor.shouldSkipPanel()
+        -->
+        <field type="title" txt="Configuration Problem"/>
+        <divider/>
+        <field type="staticText" txt="Select either the Jetty or Tomcat web container, but not both."/>
+        <divider/>
+        <divider/>
+        <divider/>
+        <field type="staticText" txt="Return to the Pack Selection Panel to correct the problem."/>
+    </panel>
+    <panel order="1">
         <field type="title" txt="Base Configuration"/>
         <field type="staticText" txt="Please select security options for Geronimo"/>
         <divider/>
@@ -18,20 +31,26 @@
             <validator class="com.izforge.izpack.util.NotEmptyValidator"/>
             <createForPack name="J2EE Features"/>
         </field>
-    <field type="check" variable="J2EE.Features.enable">
-          <description txt="Active at runtime"/>
-        <!--description align="left" txt="Enable J2EE features"
+        <field type="check" variable="J2EE.Features.enable">
+            <description txt="Active at runtime"/>
+            <!--description align="left" txt="Enable J2EE features"
             id="J2EE.Features.enable.desc" /-->
-        <spec txt="J2EE Features" id="J2EE.Features.enable.field"
+            <spec txt="J2EE Features" id="J2EE.Features.enable.field"
               true="true" false="false" set="true" />
-        <createForPack name="J2EE Features"/>
-    </field>
-    <field type="staticText" txt="Disabling J2EE Features disables dependent runtime features as well.">
-        <createForPack name="J2EE Features"/>
-    </field>
+            <createForPack name="J2EE Features"/>
+            <suppress>
+                <when variable="advanced.mode" value="false" />
+            </suppress>
+         </field>
+         <field type="staticText" txt="Disabling J2EE Features disables dependent runtime features as well.">
+           <suppress>
+               <when variable="advanced.mode" value="false" />
+           </suppress>
+           <createForPack name="J2EE Features"/>
+         </field>
     <createForPack name="Server"/>
     </panel>
-    <panel order="1">
+    <panel order="2">
         <createForPack name="Jetty Web Container"/>
         <field type="title" txt="Jetty Web Configuration"/>
         <field type="staticText" txt="Please select Jetty Web server configuration options for Geronimo"/>
@@ -55,49 +74,70 @@
             <spec txt="Apache AJP Port [8009]:" layout="N:5:5" set="0:8009"/>
             <validator class="com.izforge.izpack.util.NotEmptyValidator"/>
         </field>
-    <field type="check" variable="Jetty.Web.Container.enable">
+        <field type="check" variable="Jetty.Web.Container.enable">
           <description txt="Active at runtime"/>
           <spec txt="Jetty Web Container" id="Jetty.Web.Container.enable.field"
               true="true" false="false" set="true" />
           <depends variable="J2EE.Features.enable"/>
           <exclusiveOf variable="Tomcat.Web.Container.enable"/>
-        <createForPack name="Jetty Web Container"/>
-    </field>
-    <field type="check" variable="Jetty.Welcome.Application.enable">
-        <spec txt="Jetty Welcome Application" id="Jetty.Welcome.Application.enable.field"
-              true="true" false="false" set="true" />
-                <depends variable="Jetty.Web.Container.enable"/>
-        <createForPack name="Jetty Welcome Application"/>
-    </field>
+          <createForPack name="Jetty Web Container"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
+        </field>
+        <field type="check" variable="Jetty.Welcome.Application.enable">
+             <spec txt="Jetty Welcome Application" id="Jetty.Welcome.Application.enable.field"
+                true="true" false="false" set="true" />
+             <depends variable="Jetty.Web.Container.enable"/>
+             <createForPack name="Jetty Welcome Application"/>
+             <suppress>
+                 <when variable="advanced.mode" value="false" />
+             </suppress>
+        </field>
         <field type="check" variable="Jetty.Web.Management.Console.enable">
           <spec txt="Jetty Web Management Console" id="Jetty.Web.Management.Console.enable.field"
                 true="true" false="false" set="true" />
           <depends variable="Jetty.Web.Container.enable"/>
           <createForPack name="Jetty Web Management Console"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="check" variable="Jetty.UDDI.Server.enable">
           <spec txt="Jetty UDDI Server" id="Jetty.UDDI.Server.enable.field"
                 true="true" false="false" set="true" />
           <depends variable="Jetty.Web.Container.enable"/>
           <createForPack name="Jetty UDDI Server"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="check" variable="Jetty.Sample.Applications.enable">
           <spec txt="Jetty Sample Applications" id="Jetty.Sample.Applications.enable.field"
                 true="true" false="false" set="true" />
           <depends variable="Jetty.Web.Container.enable"/>
           <createForPack name="Jetty Sample Applications"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="check" variable="Daytrader.for.Jetty.enable">
           <spec txt="Daytrader for Jetty" id="Daytrader.for.Jetty.enable.field"
                 true="true" false="false" set="true" />
           <depends variable="Jetty.Web.Container.enable"/>
           <createForPack name="Daytrader for Jetty"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="staticText" txt="Jetty and Tomcat may not be enabled concurrently from the installer.">
           <createForPack name="Tomcat Web Container"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
     </panel>
-    <panel order="2">
+    <panel order="3">
        <createForPack name="Tomcat Web Container"/>
         <field type="title" txt="Tomcat Web Configuration"/>
         <field type="staticText" txt="Please select Tomcat Web server configuration options for Geronimo"/>
@@ -128,42 +168,63 @@
           <depends variable="J2EE.Features.enable"/>
           <exclusiveOf variable="Jetty.Web.Container.enable"/>
           <createForPack name="Tomcat Web Container"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="check" variable="Tomcat.Welcome.Application.enable">
           <spec txt="Tomcat Welcome Application" id="Tomcat.Welcome.Application.enable.field"
                 true="true" false="false" set="false" />
           <depends variable="Tomcat.Web.Container.enable"/>
           <createForPack name="Tomcat Welcome Application"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="check" variable="Tomcat.Web.Management.Console.enable">
           <spec txt="Tomcat Web Management Console" id="Tomcat.Web.Management.Console.enable.field"
                 true="true" false="false" set="false" />
           <depends variable="Tomcat.Web.Container.enable"/>
           <createForPack name="Tomcat Web Management Console"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="check" variable="Tomcat.UDDI.Server.enable">
           <spec txt="Tomcat UDDI Server" id="Tomcat.UDDI.Server.enable.field"
                 true="true" false="false" set="false" />
           <depends variable="Tomcat.Web.Container.enable"/>
           <createForPack name="Tomcat UDDI Server"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="check" variable="Tomcat.Sample.Applications.enable">
           <spec txt="Tomcat Sample Applications" id="Tomcat.Sample.Applications.enable.field"
                 true="true" false="false" set="false" />
           <depends variable="Tomcat.Web.Container.enable"/>
           <createForPack name="Tomcat Sample Applications"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="check" variable="Daytrader.for.Tomcat.enable">
           <spec txt="Daytrader for Tomcat" id="Daytrader.for.Tomcat.enable.field"
                 true="true" false="false" set="false" />
           <depends variable="Tomcat.Web.Container.enable"/>
           <createForPack name="Daytrader for Tomcat"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
         <field type="staticText" txt="Jetty and Tomcat may not be enabled concurrently from the installer.">
           <createForPack name="Jetty Web Container"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
     </panel>
-    <panel order="3">
+    <panel order="4">
         <field type="title" txt="EJB Configuration"/>
         <field type="staticText" txt="Please select EJB server configuration options for Geronimo"/>
         <divider/>
@@ -185,7 +246,7 @@
             <createForPack name="J2EE Features"/>
         </field>
     </panel>
-    <panel order="4">
+    <panel order="5">
         <createForPack name="CORBA Features"/>
         <field type="title" txt="CORBA Configuration"/>
         <field type="staticText" txt="Please select CORBA configuration options for Geronimo"/>
@@ -219,9 +280,12 @@
                 true="true" false="false" set="true" />
           <depends variable="J2EE.Features.enable"/>
           <createForPack name="CORBA Features"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
     </panel>
-    <panel order="5">
+    <panel order="6">
         <createForPack name="J2EE Features"/>
         <field type="title" txt="Derby Configuration"/>
         <field type="staticText" txt="Configure Derby, the sample database engine."/>
@@ -232,7 +296,7 @@
             <validator class="com.izforge.izpack.util.NotEmptyValidator"/>
         </field>
     </panel>
-    <panel order="6">
+    <panel order="7">
         <createForPack name="JMS Features"/>
         <field type="title" txt="ActiveMQ Configuration"/>
         <field type="staticText" txt="Please configure activemq services"/>
@@ -248,9 +312,12 @@
                 true="true" false="false" set="true" />
           <depends variable="J2EE.Features.enable"/>
           <createForPack name="JMS Features"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
     </panel>
-    <panel order="7">
+    <panel order="8">
         <createForPack name="LDAP Server"/>
         <field type="title" txt="Directory (LDAP) Configuration"/>
         <field type="staticText" txt="Please configure Directory services"/>
@@ -266,9 +333,12 @@
                 true="true" false="false" set="true" />
           <depends variable="J2EE.Features.enable"/>
           <createForPack name="LDAP Server"/>
+          <suppress>
+              <when variable="advanced.mode" value="false" />
+          </suppress>
         </field>
     </panel>
-    <panel order="8">
+    <panel order="9">
       <createForPack name="SMTP Transport"/>
       <field type="title" txt="SMTP Transport Configuration"/>
       <field type="staticText" txt="Configure the SMTP Transport"/>
@@ -288,9 +358,12 @@
               true="true" false="false" set="true" />
         <depends variable="J2EE.Features.enable"/>
         <createForPack name="SMTP Transport"/>
+        <suppress>
+            <when variable="advanced.mode" value="false" />
+        </suppress>
       </field>
     </panel>
-    <panel order="9">
+    <panel order="10">
             <field type="title" txt="Configuration Checkpoint"/>
             <field type="staticText" txt="Congratulations!"/>
             <field type="staticText" txt="        Geronimo configuration is complete." />

Modified: geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/GeronimoConfigProcessor.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/GeronimoConfigProcessor.java?rev=373947&r1=373946&r2=373947&view=diff
==============================================================================
--- geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/GeronimoConfigProcessor.java (original)
+++ geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/GeronimoConfigProcessor.java Tue Jan 31 16:05:53 2006
@@ -20,21 +20,22 @@
 import com.izforge.izpack.Pack;
 import java.util.Vector;
 public class GeronimoConfigProcessor {
-
-   static int BASE_CONFIG = 0;
-   static int JETTY_CONFIG = 1;
-   static int TOMCAT_CONFIG = 2;
-   static int EJB_CONFIG = 3;
-   static int CORBA_CONFIG = 4;
-   static int DERBY_CONFIG = 5;
-   static int ACTIVEMQ_CONFIG = 6;
-   static int LDAP_CONFIG = 7;
-   static int SMTP_CONFIG = 8;
-   static int CONFIG_CKPT = 9;
+   static int CONFIG_PROBLEM = 0;
+   static int BASE_CONFIG = 1;
+   static int JETTY_CONFIG = 2;
+   static int TOMCAT_CONFIG = 3;
+   static int EJB_CONFIG = 4;
+   static int CORBA_CONFIG = 5;
+   static int DERBY_CONFIG = 6;
+   static int ACTIVEMQ_CONFIG = 7;
+   static int LDAP_CONFIG = 8;
+   static int SMTP_CONFIG = 9;
+   static int CONFIG_CKPT = 10;
 
    static String panelNames[] = {
       // keep in sync with izpack-user-input.xml
       // until there's a better way
+      "Configuration Problem",
       "Base Configuration",
       "Jetty Web Configuration",
       "Tomcat Web Configuration",
@@ -104,33 +105,38 @@
    }
    protected static VarInfo vars[] = {
 
-        new VarInfo( "SecurityDefaultUser",'s',BASE_CONFIG,SERVER_PACK,"" ),
-        new VarInfo( "SecurityDefaultPassword",'s',BASE_CONFIG, SERVER_PACK,"" ),
-        new VarInfo( "PlanRemoteLoginPort",'p',BASE_CONFIG,J2EE_PACK,"Remote Login Port" ),
-        new VarInfo( "PlanServerHostName",'h',JETTY_CONFIG,JETTY_PACK,"" ),
-        new VarInfo( "PlanHTTPPort",'p',JETTY_CONFIG,JETTY_PACK,"Jetty HTTP Port" ),
-        new VarInfo( "PlanHTTPSPort",'p',JETTY_CONFIG, JETTY_PACK,"Jetty HTTPS Port"),
-        new VarInfo( "PlanAJPPort",'p',JETTY_CONFIG,JETTY_PACK,"Jetty AJP Port" ),
-        new VarInfo( "PlanServerHostName",'h',TOMCAT_CONFIG,TOMCAT_PACK,"" ),
-        new VarInfo( "PlanHTTPPort2",'p',TOMCAT_CONFIG,TOMCAT_PACK,"Tomcat HTTP Port" ),
-        new VarInfo( "PlanHTTPSPort2",'p',TOMCAT_CONFIG,TOMCAT_PACK,"Tomcat HTTPS Port" ),
-        new VarInfo( "PlanAJPPort2",'p',TOMCAT_CONFIG,TOMCAT_PACK,"Tomcat AJP Port" ),
-        new VarInfo( "PlanNamingPort",'p',EJB_CONFIG,SERVER_PACK,"Naming Port" ),
-        new VarInfo( "PlanOpenEJBPort",'p',EJB_CONFIG, J2EE_PACK,"EJB Port" ),
-        new VarInfo( "PlanClientAddresses",'s',EJB_CONFIG,SERVER_PACK,"" ),
-        new VarInfo( "PlanIIOPPort",'p',CORBA_CONFIG,CORBA_PACK,"IIOP Port" ),
-        new VarInfo( "PlanORBSSLHost",'h',CORBA_CONFIG,CORBA_PACK,"" ),
-        new VarInfo( "PlanORBSSLPort",'p',CORBA_CONFIG,CORBA_PACK,"ORB SSL Port" ),
-        new VarInfo( "PlanCOSNamingHost",'h',CORBA_CONFIG,CORBA_PACK,"" ),
-        new VarInfo( "PlanCOSNamingPort",'p',CORBA_CONFIG,CORBA_PACK,"CosNaming Port" ),
-        new VarInfo( "PlanDerbyPort",'p',DERBY_CONFIG,SAMPLE_DB_POOL_PACK,"Derby Port" ),
-        new VarInfo( "PlanActiveMQPort",'p',ACTIVEMQ_CONFIG,JMS_PACK,"JMS Port" ),
-        new VarInfo( "PlanLdapPort",'p',LDAP_CONFIG,LDAP_PACK,"LDAP Port" ),
-        new VarInfo( "PlanSMTPHost",'h',SMTP_CONFIG,SMTP_PACK,"SMTP Host" ),
-        new VarInfo( "PlanSMTPPort",'p',SMTP_CONFIG,SMTP_PACK,"SMTP Port" )
+        new VarInfo( "SecurityDefaultUser",'s',BASE_CONFIG,SERVER_PACK,"", "system" ),
+        new VarInfo( "SecurityDefaultPassword",'s',BASE_CONFIG, SERVER_PACK,"", "manager" ),
+        new VarInfo( "PlanRemoteLoginPort",'p',BASE_CONFIG,J2EE_PACK,"Remote Login Port", "4242" ),
+        new VarInfo( "PlanServerHostName",'h',JETTY_CONFIG,JETTY_PACK,"", "0.0.0.0" ),
+        new VarInfo( "PlanHTTPPort",'p',JETTY_CONFIG,JETTY_PACK,"Jetty HTTP Port", "8080" ),
+        new VarInfo( "PlanHTTPSPort",'p',JETTY_CONFIG, JETTY_PACK,"Jetty HTTPS Port", "8443"),
+        new VarInfo( "PlanAJPPort",'p',JETTY_CONFIG,JETTY_PACK,"Jetty AJP Port", "8009" ),
+        new VarInfo( "PlanServerHostName",'h',TOMCAT_CONFIG,TOMCAT_PACK,"", "0.0.0.0" ),
+        new VarInfo( "PlanHTTPPort2",'p',TOMCAT_CONFIG,TOMCAT_PACK,"Tomcat HTTP Port", "8080" ),
+        new VarInfo( "PlanHTTPSPort2",'p',TOMCAT_CONFIG,TOMCAT_PACK,"Tomcat HTTPS Port", "8443" ),
+        new VarInfo( "PlanAJPPort2",'p',TOMCAT_CONFIG,TOMCAT_PACK,"Tomcat AJP Port", "8009" ),
+        new VarInfo( "PlanNamingPort",'p',EJB_CONFIG,SERVER_PACK,"Naming Port", "1009" ),
+        new VarInfo( "PlanOpenEJBPort",'p',EJB_CONFIG, J2EE_PACK,"EJB Port", "4201" ),
+        new VarInfo( "PlanClientAddresses",'s',EJB_CONFIG,SERVER_PACK,"", "0.0.0.0" ),
+        new VarInfo( "PlanIIOPPort",'p',CORBA_CONFIG,CORBA_PACK,"IIOP Port", "9000" ),
+        new VarInfo( "PlanORBSSLHost",'h',CORBA_CONFIG,CORBA_PACK,"", "localhost" ),
+        new VarInfo( "PlanORBSSLPort",'p',CORBA_CONFIG,CORBA_PACK,"ORB SSL Port", "2001" ),
+        new VarInfo( "PlanCOSNamingHost",'h',CORBA_CONFIG,CORBA_PACK,"", "localhost" ),
+        new VarInfo( "PlanCOSNamingPort",'p',CORBA_CONFIG,CORBA_PACK,"CosNaming Port", "1050" ),
+        new VarInfo( "PlanDerbyPort",'p',DERBY_CONFIG,SAMPLE_DB_POOL_PACK,"Derby Port", "1527" ),
+        new VarInfo( "PlanActiveMQPort",'p',ACTIVEMQ_CONFIG,JMS_PACK,"JMS Port", "61616" ),
+        new VarInfo( "PlanLdapPort",'p',LDAP_CONFIG,LDAP_PACK,"LDAP Port", "1389" ),
+        new VarInfo( "PlanSMTPHost",'h',SMTP_CONFIG,SMTP_PACK,"SMTP Host", "localhost" ),
+        new VarInfo( "PlanSMTPPort",'p',SMTP_CONFIG,SMTP_PACK,"SMTP Port", "25" )
     };
 
-
+    protected boolean isAdvancedMode( AutomatedInstallData idata ) {
+       boolean fRet = false;
+       String val = idata.getVariable( "advanced.mode" );
+       if( val.equalsIgnoreCase( "true" )) fRet = true;
+       return fRet;
+    }
     
     protected boolean isTomcatSelected( AutomatedInstallData idata ) {
        return isPackSelected( idata, packNames[ TOMCAT_PACK ]);
@@ -157,57 +163,89 @@
     protected void panelNavDebug( AutomatedInstallData idata ) {
        debug( "--> num panels: " + idata.panels.size() + "  cur panel: " + idata.curPanelNumber );
     }
-
+    protected boolean isPackSelectionProblem( AutomatedInstallData idata ) {
+       boolean fRet = false;
+       if( isAdvancedMode( idata ) == true ) {
+          fRet = false; // this assumes all pack selections are OK in advanced mode
+       } else if( isJettySelected( idata ) && isTomcatSelected( idata )) {
+            fRet = true;
+       }
+       return fRet;
+    }
     protected boolean shouldSkipPanel( AutomatedInstallData idata, String panelName ) {
       boolean fRet = false;
+      if( panelName.equalsIgnoreCase( getPanelName( CONFIG_PROBLEM ))) {
+         if( isPackSelectionProblem( idata )) 
+            fRet = false;
+         else fRet = true;
+      }
       debug( "shouldSkipPanel( " + panelName + " ) is: " + fRet );
       return fRet;
     }
+
+    protected void initEnableVarsToPackSelections( AutomatedInstallData idata ) {
+        boolean fSel = false;
+        for( int i = 0; i < idata.allPacks.size(); ++i ) {
+            Pack pack = (Pack)idata.allPacks.get( i );
+            fSel = false;
+            if( isPackSelected( idata, pack.name )) {
+                fSel = true;
+            }
+            setEnableVar( idata, pack.name, fSel );
+        }
+    }
+
     protected static boolean fInitialConfigDone = false;
     protected void setInitialConfig( AutomatedInstallData idata ) {
          if( fInitialConfigDone ) return;
          fInitialConfigDone = true;
          debug( ">setInitialConfig()  ");
          //System.out.println( "CPES = " + cpes );
-         for( int i = 0; i < idata.allPacks.size(); ++i ) {
-                Pack pack = (Pack)idata.allPacks.get( i );
-                boolean fSel = false;
-                if( isPackSelected( idata, pack.name )) {
-                   fSel = true;
-                }
-                setEnableVar( idata, pack.name, fSel );
-         }
+
+         initEnableVarsToPackSelections( idata );
+
+         if( isAdvancedMode( idata )) {
          // fixup for jetty not selected to install
-         if( isTomcatSelected( idata ) == true ) {
+            if( isTomcatSelected( idata ) == true ) {
                 int packs[] = {
-                   TOMCAT_PACK, 
-                   TOMCAT_WELCOME_PACK,
-                   TOMCAT_MGT_PACK,
-                   TOMCAT_UDDI_PACK,
-                   TOMCAT_SAMPLE_PACK,
-                   TOMCAT_DAYTRADER };
-               debug( "-setInitialConfig() : tomcat is selected for install. ");
-                boolean fSel = false;
-                String packName = null;
-                if( isJettySelected( idata ) == false ) {
-                   debug( "-setInitialConfig() : jetty is not selected for install. ");
-                   for( int i = 0; i < packs.length; ++i ) {
-                      packName = getPackName( packs[ i ] );
-                      fSel = isPackSelected( idata, packName );
-                      setEnableVar( idata, packName, fSel );
-                   }
-                } else {
-                   debug( "-setInitialConfig() : jetty is selected for install. ");
-                   for( int i = 0; i < packs.length; ++i ) {
-                      packName = getPackName( packs[ i ] );
-                      setEnableVar( idata, packName, false );
-                   }
-                }
-         } else {
-            debug( "-setInitialConfig() : tomcat is not selected for install. ");
+                    TOMCAT_PACK, 
+                    TOMCAT_WELCOME_PACK,
+                    TOMCAT_MGT_PACK,
+                    TOMCAT_UDDI_PACK,
+                    TOMCAT_SAMPLE_PACK,
+                    TOMCAT_DAYTRADER };
+                 debug( "-setInitialConfig() : tomcat is selected for install. ");
+                 boolean fSel = false;
+                 String packName = null;
+                 if( isJettySelected( idata ) == false ) {
+                    debug( "-setInitialConfig() : jetty is not selected for install. ");
+                    for( int i = 0; i < packs.length; ++i ) {
+                        packName = getPackName( packs[ i ] );
+                        fSel = isPackSelected( idata, packName );
+                        setEnableVar( idata, packName, fSel );
+                    }
+                 } else {
+                    debug( "-setInitialConfig() : jetty is selected for install. ");
+                    for( int i = 0; i < packs.length; ++i ) {
+                        packName = getPackName( packs[ i ] );
+                        setEnableVar( idata, packName, false );
+                    }
+                 }
+            } else {
+                debug( "-setInitialConfig() : tomcat is not selected for install. ");
+            }
          }
-
          // end fixup
+
+         // setup initial variable values in case the operator never hits the 
+         // panel where the default value gets set. This way we don't wind
+         // up with thinks like ${PlanServerName} in the config.xml -- even
+         // though it doesn't affect operations since this only happens
+         // for disabled configs (load=false)
+         // Don't set any "xxx.enable" variables this way...
+         for( int i = 0; i < vars.length; ++i ) {
+            vars[ i ].setDefault( idata );
+         }
          debug( "<setInitialConfig()  ");
     }
 
@@ -246,7 +284,11 @@
        boolean fRet = true;
        if( panelName.equals( getPanelName( BASE_CONFIG ))) {
           setInitialConfig( idata ); // from selected packs
-          resetConfigNonSelected( idata );
+          if( isAdvancedMode( idata ) == false ) {
+             initEnableVarsToPackSelections( idata );
+          } else { 
+             resetConfigNonSelected( idata );
+          }
        }
        return fRet;
     }
@@ -509,16 +551,21 @@
     }
 }
 class VarInfo {
-   public VarInfo( String varName, char verTyp, int panelId, int packId, String varDesc ) {
+   public VarInfo( String varName, char verTyp, int panelId, int packId, String varDesc, String defVal ) {
       this.varName = varName;
       this.panelId = panelId;
       this.packId = packId;
       this.verTyp = verTyp;
       this.varDesc = varDesc;
+      this.defVal = defVal;
+   }
+   public void setDefault( AutomatedInstallData idata ) {
+      idata.setVariable( varName, defVal );
    }
    String varName;
    int panelId;
    int packId;
    char verTyp;
    String varDesc;
+   String defVal;
 }

Modified: geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/ValidatePackSelections.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/ValidatePackSelections.java?rev=373947&r1=373946&r2=373947&view=diff
==============================================================================
--- geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/ValidatePackSelections.java (original)
+++ geronimo/trunk/modules/installer-support/src/java/com/izforge/izpack/panels/ValidatePackSelections.java Tue Jan 31 16:05:53 2006
@@ -1,6 +1,6 @@
 /**
  *
- * Copyright 2003-2006 The Apache Software Foundation
+ *  Copyright 2003-2006 The Apache Software Foundation
  *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -44,11 +44,13 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Enumeration;
 import java.util.Map;
 import java.util.StringTokenizer;
 import java.util.Vector;
 import java.util.Set;
 import java.util.List;
+import java.util.Properties;
 
 import javax.swing.BorderFactory;
 import javax.swing.ButtonGroup;
@@ -90,10 +92,26 @@
    protected void setTitle( String title ) {
       sTitle = title;
    }
-   protected String getTitle() {
+   protected String getTitle() { // ###ead
       return sTitle;
    }
 
+   protected static boolean fAdvancedMode = false;
+   static { // static initializer
+      Properties props = System.getProperties();
+      Enumeration names = props.propertyNames();
+      
+      while( names.hasMoreElements() ) {
+         String name = (String)names.nextElement();
+         if( name.equalsIgnoreCase( "advancedmode" ))  {
+            String am = props.getProperty( name );
+            if( am != null && am.equalsIgnoreCase( "true" )) {
+               fAdvancedMode = true;
+            }
+         }
+      }
+   }
+
 /*---------------------------------------------------------------------------*/
 /**
  * This panel is designed to collect user input during the installation process. The panel is
@@ -159,29 +177,31 @@
      */
     private static final long serialVersionUID = 3257850965439886129L;
 
-    protected static final int POS_DISPLAYED = 0;
+    protected static final int POS_SUPPRESS = 0; 
 
-    protected static final int POS_TYPE = 1;
+    protected static final int POS_DISPLAYED = 1;
 
-    protected static final int POS_VARIABLE = 2;
+    protected static final int POS_TYPE = 2;
 
-    protected static final int POS_CONSTRAINTS = 3;
+    protected static final int POS_VARIABLE = 3;
 
-    protected static final int POS_FIELD = 4;
+    protected static final int POS_CONSTRAINTS = 4;
 
-    protected static final int POS_PACKS = 5;
+    protected static final int POS_FIELD = 5;
 
-    protected static final int POS_OS = 6;
+    protected static final int POS_PACKS = 6;
 
-    protected static final int POS_TRUE = 7;
+    protected static final int POS_OS = 7;
 
-    protected static final int POS_FALSE = 8;
+    protected static final int POS_TRUE = 8;
 
-    protected static final int POS_MESSAGE = 9;
+    protected static final int POS_FALSE = 9;
+
+    protected static final int POS_MESSAGE = 10;
+
+    protected static final int POS_GROUP = 11;
 
-    protected static final int POS_GROUP = 10;
 
-    protected static final int POS_ID = 11; 
 
     /** The name of the XML file that specifies the panel layout */
     protected static final String SPEC_FILE_NAME = "userInputSpec.xml";
@@ -326,12 +346,15 @@
 
     protected static final String FAMILY = "family";
 
-    protected static final String DEPENDS = "depends";
-    protected static final String EXCLUSIVE = "exclusiveOf";
-    protected static final String AUTO_INSTALL = "AutomatedInstallation";
+    protected static final String VALUE          = "value";
+    protected static final String DEPENDS        = "depends";
+    protected static final String SUPPRESS       = "suppress";
+    protected static final String WHEN           = "when";
+    protected static final String EXCLUSIVE      = "exclusiveOf";
+    protected static final String AUTO_INSTALL   = "AutomatedInstallation";
     protected static final String SELECTED_PACKS = "selected";
-    protected static final String PANEL_PKG = "com.izforge.izpack.panels";
-    protected static final String PACKS_PANEL = "ImgPacksPanel";
+    protected static final String PANEL_PKG      = "com.izforge.izpack.panels";
+    protected static final String PACKS_PANEL    = "ImgPacksPanel";
     // ------------------------------------------------------------------------
     // Variable Declarations
     // ------------------------------------------------------------------------
@@ -377,7 +400,7 @@
     protected Vector searchFields = new Vector();
 
     /** Holds all user inputs for use in automated installation */
-    protected Vector entries = new Vector();
+    //protected Vector entries = new Vector(); // removed this ###ead
 
     protected TwoColumnLayout layout;
 
@@ -402,11 +425,21 @@
      * @param installData shared information about the installation
      */
     /*--------------------------------------------------------------------------*/
+    protected static boolean fHasSetAdvancedMode = false; // ##ead
+
     public ValidatePackSelections(InstallerFrame parent, InstallData installData)
 
     {
         super(parent, installData);
 
+        if( fHasSetAdvancedMode == false ) { // ###ead
+           String sVal = "false";
+           if( fAdvancedMode )
+              sVal = "true";
+           installData.setVariable( "advanced.mode", sVal );
+           fHasSetAdvancedMode = true;
+        }
+
         instanceNumber = instanceCount++;
         this.parentFrame = parent;
 
@@ -589,6 +622,9 @@
         {
             parentFrame.lockPrevButton();
         }
+        if( gcp.isPackSelectionProblem( idata ) ) {
+            parentFrame.lockNextButton();
+        }
         gcp.panelNavDebug( idata );
         if( gcp.isCheckpointPanel( panelName )) {
            String msgs[] = { // this is the default, no error message
@@ -694,13 +730,29 @@
     public void makeXMLData(XMLElement panelRoot)
     {
         Map entryMap = new HashMap();
-
+        /* ###ead
+           this approach doesn't work correctly for Geronimo (and there's a bug)
         for (int i = 0; i < entries.size(); i++)
         {
             TextValuePair pair = (TextValuePair) entries.elementAt(i);
             entryMap.put(pair.toString(), pair.getValue());
         }
+        */ 
+        // ###ead -- new approach
+        Object[] uiElement;
 
+        for (int i = 0; i < uiElements.size(); i++) {
+            uiElement = (Object[]) uiElements.elementAt(i);
+            String var = (String)uiElement[POS_VARIABLE];
+            if( var != null ) {
+               String val = idata.getVariable( var );
+               if( val != null ) {
+                  Debug.trace( "-makeXMLData(): entryMap.put( " + var + ", " + val + " )");
+                  entryMap.put( var, val );
+               } else Debug.trace( "-makeXMLData(): entryMap.put( " + var + " was null" );
+            }
+        }
+        // end new approach
         new ValidatePackSelectionsAutomationHelper(entryMap, getTitle() ).makeXMLData(idata, panelRoot);
     }
 
@@ -717,7 +769,7 @@
         {
             uiElement = (Object[]) uiElements.elementAt(i);
 
-            if ( itemRequiredFor((Vector) uiElement[POS_PACKS])  &&     itemRequiredForOs((Vector) uiElement[POS_OS]))
+            if ( itemRequiredFor((Vector) uiElement[POS_PACKS])  &&     itemRequiredForOs((Vector) uiElement[POS_OS]) && ( isFieldSuppressed( (Vector)uiElement[POS_SUPPRESS] ) == false ))
             {
                 try
                 {
@@ -1050,7 +1102,7 @@
         // elements if it exists.
         // ----------------------------------------------------
         element = spec.getFirstChildNamed(DESCRIPTION);
-        addDescription(element, forPacks, forOs);
+        addDescription(element, forPacks, forOs, null);
 
         // ----------------------------------------------------
         // get the validator and processor if they are defined
@@ -1108,12 +1160,12 @@
         constraints.position = TwoColumnConstraints.WEST;
 
         uiElements
-                .add(new Object[] { null, FIELD_LABEL, null, constraints, label, forPacks, forOs});
+                .add(new Object[] { null, null, FIELD_LABEL, null, constraints, label, forPacks, forOs});
 
         TwoColumnConstraints constraints2 = new TwoColumnConstraints();
         constraints2.position = TwoColumnConstraints.EAST;
 
-        uiElements.add(new Object[] { null, RULE_FIELD, variable, constraints2, field, forPacks,
+        uiElements.add(new Object[] { null, null, RULE_FIELD, variable, constraints2, field, forPacks,
                 forOs, null, null, message});
     }
 
@@ -1166,7 +1218,7 @@
         }
 
         idata.setVariable(variable, ruleField.getText());
-        entries.add(new TextValuePair(variable, ruleField.getText()));
+        //entries.add(new TextValuePair(variable, ruleField.getText())); 
         return (true);
     }
 
@@ -1233,7 +1285,7 @@
         // elements if it exists.
         // ----------------------------------------------------
         element = spec.getFirstChildNamed(DESCRIPTION);
-        addDescription(element, forPacks, forOs);
+        addDescription(element, forPacks, forOs, null);
 
         // ----------------------------------------------------
         // construct the UI element and add it to the list
@@ -1245,12 +1297,12 @@
         constraints.position = TwoColumnConstraints.WEST;
 
         uiElements
-                .add(new Object[] { null, FIELD_LABEL, null, constraints, label, forPacks, forOs});
+                .add(new Object[] { null, null, FIELD_LABEL, null, constraints, label, forPacks, forOs});
 
         TwoColumnConstraints constraints2 = new TwoColumnConstraints();
         constraints2.position = TwoColumnConstraints.EAST;
 
-        uiElements.add(new Object[] { null, TEXT_FIELD, variable, constraints2, field, forPacks,
+        uiElements.add(new Object[] { null, null, TEXT_FIELD, variable, constraints2, field, forPacks,
                 forOs});
     }
 
@@ -1284,7 +1336,7 @@
         if ((variable == null) || (value == null)) { return (true); }
 
         idata.setVariable(variable, value);
-        entries.add(new TextValuePair(variable, value));
+        // entries.add(new TextValuePair(variable, value));
         return (true);
     }
 
@@ -1411,18 +1463,18 @@
         // elements if it exists.
         // ----------------------------------------------------
         element = spec.getFirstChildNamed(DESCRIPTION);
-        addDescription(element, forPacks, forOs);
+        addDescription(element, forPacks, forOs, null);
 
         TwoColumnConstraints constraints = new TwoColumnConstraints();
         constraints.position = TwoColumnConstraints.WEST;
 
         uiElements
-                .add(new Object[] { null, FIELD_LABEL, null, constraints, label, forPacks, forOs});
+                .add(new Object[] { null, null, FIELD_LABEL, null, constraints, label, forPacks, forOs});
 
         TwoColumnConstraints constraints2 = new TwoColumnConstraints();
         constraints2.position = TwoColumnConstraints.EAST;
 
-        uiElements.add(new Object[] { null, COMBO_FIELD, variable, constraints2, field, forPacks,
+        uiElements.add(new Object[] { null, null, COMBO_FIELD, variable, constraints2, field, forPacks,
                 forOs});
     }
 
@@ -1456,7 +1508,7 @@
         if ((variable == null) || (value == null)) { return true; }
 
         idata.setVariable(variable, value);
-        entries.add(new TextValuePair(variable, value));
+        // entries.add(new TextValuePair(variable, value));
         return true;
     }
 
@@ -1508,7 +1560,7 @@
         // elements if it exists.
         // ----------------------------------------------------
         element = spec.getFirstChildNamed(DESCRIPTION);
-        addDescription(element, forPacks, forOs);
+        addDescription(element, forPacks, forOs, null);
 
         // ----------------------------------------------------
         // extract the specification details
@@ -1546,7 +1598,7 @@
                 }
 
                 buttonGroups.add(group);
-                uiElements.add(new Object[] { null, RADIO_FIELD, variable, constraints, choice,
+                uiElements.add(new Object[] { null, null, RADIO_FIELD, variable, constraints, choice,
                         forPacks, forOs, value, null, null, group});
             }
         }
@@ -1584,7 +1636,7 @@
         }
 
         idata.setVariable(variable, value);
-        entries.add(new TextValuePair(variable, value));
+        // entries.add(new TextValuePair(variable, value));
         return (true);
     }
 
@@ -1632,7 +1684,7 @@
         // elements if it exists.
         // ----------------------------------------------------
         element = spec.getFirstChildNamed(DESCRIPTION);
-        addDescription(element, forPacks, forOs);
+        addDescription(element, forPacks, forOs, null);
 
         // ----------------------------------------------------
         // get the validator and processor if they are defined
@@ -1694,13 +1746,13 @@
                 TwoColumnConstraints constraints = new TwoColumnConstraints();
                 constraints.position = TwoColumnConstraints.WEST;
 
-                uiElements.add(new Object[] { null, FIELD_LABEL, null, constraints, label,
+                uiElements.add(new Object[] { null, null, FIELD_LABEL, null, constraints, label,
                         forPacks, forOs});
 
                 TwoColumnConstraints constraints2 = new TwoColumnConstraints();
                 constraints2.position = TwoColumnConstraints.EAST;
 
-                uiElements.add(new Object[] { null, PWD_FIELD, variable, constraints2, field,
+                uiElements.add(new Object[] { null, null, PWD_FIELD, variable, constraints2, field,
                         forPacks, forOs, null, null, message, group});
                 group.addField(field);
             }
@@ -1749,10 +1801,37 @@
         }
 
         idata.setVariable(variable, group.getPassword());
-        entries.add(new TextValuePair(variable, group.getPassword()));
+        // entries.add(new TextValuePair(variable, group.getPassword()));
         return (true);
     }
-
+    protected boolean isFieldSuppressed( Vector suppressions ) { // ###ead
+       boolean fRet = false;
+       for( int i = 0; suppressions != null &&  i < suppressions.size( ); ++i ) {
+          TextValuePair tvp = (TextValuePair)suppressions.elementAt(i);
+          String var = tvp.toString();
+          String val = idata.getVariable( var );
+          if( val.equalsIgnoreCase( tvp.getValue() )) {
+             fRet = true;
+             break;
+          }
+       }
+       return fRet;
+    }
+    protected Vector getFieldSuppressionList( XMLElement spec ) { // ###ead
+       Vector supps = null;
+       XMLElement suppress = spec.getFirstChildNamed( SUPPRESS );
+       if( suppress != null ) {
+          Vector whens = suppress.getChildrenNamed( WHEN );
+          for( int i = 0; i < whens.size(); ++i ) {
+             if( supps == null ) supps = new Vector();
+             XMLElement when = (XMLElement)whens.elementAt(i);
+             String var = when.getAttribute( VARIABLE );
+             String val = when.getAttribute( VALUE );
+             supps.add( new TextValuePair( var, val ));
+          }
+       }
+       return supps;
+    }
     /*--------------------------------------------------------------------------*/
     /**
      * Adds a chackbox to the list of UI elements.
@@ -1770,7 +1849,7 @@
         String falseValue = null;
         String variable = spec.getAttribute(VARIABLE);
         XMLElement detail = spec.getFirstChildNamed(SPEC);
-
+        Vector suppress = getFieldSuppressionList( spec ); // ###ead
         if (variable == null) { return; }
 
         if (detail != null)
@@ -1804,14 +1883,14 @@
         // elements if it exists.
         // ----------------------------------------------------
         XMLElement element = spec.getFirstChildNamed(DESCRIPTION);
-        addDescription(element, forPacks, forOs);
+        addDescription( element, forPacks, forOs, suppress );
 
         TwoColumnConstraints constraints = new TwoColumnConstraints();
         constraints.position = TwoColumnConstraints.BOTH;
         constraints.stretch = true;
         constraints.indent = true;
 
-        uiElements.add(new Object[] { null, CHECK_FIELD, variable, constraints, checkbox, forPacks,
+        uiElements.add(new Object[] { suppress, null, CHECK_FIELD, variable, constraints, checkbox, forPacks,
                 forOs, trueValue, falseValue});
     }
 
@@ -1857,12 +1936,12 @@
         if (box.isSelected())
         {
             idata.setVariable(variable, trueValue);
-            entries.add(new TextValuePair(variable, trueValue));
+            // entries.add(new TextValuePair(variable, trueValue));
         }
         else
         {
             idata.setVariable(variable, falseValue);
-            entries.add(new TextValuePair(variable, falseValue));
+            // entries.add(new TextValuePair(variable, falseValue));
         }
 
         return (true);
@@ -2006,12 +2085,12 @@
         // elements if it exists.
         // ----------------------------------------------------
         element = spec.getFirstChildNamed(DESCRIPTION);
-        addDescription(element, forPacks, forOs);
+        addDescription(element, forPacks, forOs, null );
 
         TwoColumnConstraints westconstraint1 = new TwoColumnConstraints();
         westconstraint1.position = TwoColumnConstraints.WEST;
 
-        uiElements.add(new Object[] { null, FIELD_LABEL, null, westconstraint1, label, forPacks,
+        uiElements.add(new Object[] { null, null, FIELD_LABEL, null, westconstraint1, label, forPacks,
                 forOs});
 
         TwoColumnConstraints eastconstraint1 = new TwoColumnConstraints();
@@ -2035,7 +2114,7 @@
 
         if (tooltiptext.length() > 0) combobox.setToolTipText(tooltiptext.toString());
 
-        uiElements.add(new Object[] { null, SEARCH_FIELD, variable, eastconstraint1, combobox,
+        uiElements.add(new Object[] { null, null, SEARCH_FIELD, variable, eastconstraint1, combobox,
                 forPacks, forOs});
 
         JPanel buttonPanel = new JPanel();
@@ -2059,7 +2138,7 @@
         TwoColumnConstraints eastonlyconstraint = new TwoColumnConstraints();
         eastonlyconstraint.position = TwoColumnConstraints.EASTONLY;
 
-        uiElements.add(new Object[] { null, SEARCH_BUTTON_FIELD, null, eastonlyconstraint,
+        uiElements.add(new Object[] { null, null, SEARCH_BUTTON_FIELD, null, eastonlyconstraint,
                 buttonPanel, forPacks, forOs});
 
         searchFields.add(new SearchField(filename, check_filename, parentFrame, combobox,
@@ -2104,7 +2183,7 @@
         if ((variable == null) || (value == null)) { return (true); }
 
         idata.setVariable(variable, value);
-        entries.add(new TextValuePair(variable, value));
+        // entries.add(new TextValuePair(variable, value));
         return (true);
     }
 
@@ -2119,8 +2198,8 @@
     {
         Vector forPacks = spec.getChildrenNamed(SELECTEDPACKS);
         Vector forOs = spec.getChildrenNamed(OS);
-
-        addDescription(spec, forPacks, forOs);
+        Vector suppress = getFieldSuppressionList( spec );
+        addDescription(spec, forPacks, forOs, suppress );
     }
 
     /*--------------------------------------------------------------------------*/
@@ -2142,7 +2221,7 @@
         constraints.stretch = true;
 
         uiElements
-                .add(new Object[] { null, SPACE_FIELD, null, constraints, panel, forPacks, forOs});
+                .add(new Object[] { null, null, SPACE_FIELD, null, constraints, panel, forPacks, forOs});
     }
 
     /*--------------------------------------------------------------------------*/
@@ -2179,7 +2258,7 @@
         constraints.position = TwoColumnConstraints.BOTH;
         constraints.stretch = true;
 
-        uiElements.add(new Object[] { null, DIVIDER_FIELD, null, constraints, panel, forPacks,
+        uiElements.add(new Object[] { null, null, DIVIDER_FIELD, null, constraints, panel, forPacks,
                 forOs});
     }
 
@@ -2190,7 +2269,7 @@
      * @param spec a <code>XMLElement</code> containing the specification for the description.
      */
     /*--------------------------------------------------------------------------*/
-    protected void addDescription(XMLElement spec, Vector forPacks, Vector forOs)
+    protected void addDescription(XMLElement spec, Vector forPacks, Vector forOs, Vector suppress )
     {
         String description;
         TwoColumnConstraints constraints = new TwoColumnConstraints();
@@ -2225,7 +2304,7 @@
 
                 MultiLineLabel label = new MultiLineLabel(description, justify);
 
-                uiElements.add(new Object[] { null, DESCRIPTION, null, constraints, label,
+                uiElements.add(new Object[] { suppress, null, DESCRIPTION, null, constraints, label,
                         forPacks, forOs});
             }
         }



Mime
View raw message