com.izforge.izpack.panels
Class UserInputPanelConsoleHelper

java.lang.Object
  extended by com.izforge.izpack.installer.PanelConsoleHelper
      extended by com.izforge.izpack.panels.UserInputPanelConsoleHelper
All Implemented Interfaces:
PanelConsole

public class UserInputPanelConsoleHelper
extends PanelConsoleHelper
implements PanelConsole

The user input panel console helper class.

Author:
Mounir El Hajj

Nested Class Summary
static class UserInputPanelConsoleHelper.Choice
           
static class UserInputPanelConsoleHelper.Input
           
static class UserInputPanelConsoleHelper.Password
           
private  class UserInputPanelConsoleHelper.RevalidationTriggeredException
           
 
Field Summary
protected static java.lang.String ATTRIBUTE_CONDITIONID_NAME
           
private static java.lang.String CHECK_FIELD
           
private static java.lang.String CHOICE
           
private static java.lang.String COMBO_FIELD
           
private static java.lang.String DESCRIPTION
           
private static java.lang.String DIR
           
(package private) static java.lang.String DISPLAY_FORMAT
           
private static java.lang.String DIVIDER
           
private static UserInputPanelConsoleHelper.Input DIVIDER_INPUT_FIELD
           
private static java.lang.String FAMILY
           
private static java.lang.String FIELD_NODE_ID
           
private static java.lang.String FILE
           
private static java.lang.String INSTANCE_IDENTIFIER
           
private static int instanceCount
           
protected  int instanceNumber
           
(package private) static java.lang.String LAYOUT
           
 java.util.List<UserInputPanelConsoleHelper.Input> listInputs
           
private static java.lang.String NAME
           
private static java.lang.String NODE_ID
           
private static java.lang.String OS
           
protected static java.lang.String PANEL_IDENTIFIER
           
private static java.lang.String PASSWORD
           
(package private) static java.lang.String PLAIN_STRING
           
private static java.lang.String PWD
           
private static java.lang.String RADIO_FIELD
           
(package private) static java.lang.String RESULT_FORMAT
           
private static java.lang.String RULE_FIELD
           
private static java.lang.String SELECTEDPACKS
           
private static java.lang.String SET
           
private static java.lang.String SPACE
           
private static UserInputPanelConsoleHelper.Input SPACE_INTPUT_FIELD
           
private static java.lang.String SPEC
           
private static java.lang.String SPEC_FILE_NAME
           
(package private) static java.lang.String SPECIAL_SEPARATOR
           
private static java.lang.String STATIC_TEXT
           
private static java.lang.String TEXT
           
private static java.lang.String TEXT_FIELD
           
private static java.lang.String TITLE_FIELD
           
private static java.lang.String TRUE
           
private static java.lang.String TYPE_ATTRIBUTE
           
private static java.lang.String VALUE
           
private static java.lang.String VARIABLE
           
 
Constructor Summary
UserInputPanelConsoleHelper()
           
 
Method Summary
private  java.util.List<ValidatorContainer> analyzeValidator(IXMLElement specElement, AutomatedInstallData idata)
           
 boolean collectInputs(AutomatedInstallData idata)
           
 UserInputPanelConsoleHelper.Input getInputFromField(IXMLElement field, AutomatedInstallData idata)
           
private  java.lang.String getText(IXMLElement element, AutomatedInstallData idata)
          Extracts the text from an IXMLElement.
private  boolean itemRequiredFor(java.util.Vector<IXMLElement> packs, AutomatedInstallData idata)
          Verifies if an item is required for any of the packs listed.
 boolean itemRequiredForOs(java.util.Vector<IXMLElement> os)
          Verifies if an item is required for the operating system the installer executed.
(package private)  boolean processCheckField(UserInputPanelConsoleHelper.Input input, AutomatedInstallData idata)
           
(package private)  boolean processComboRadioField(UserInputPanelConsoleHelper.Input input, AutomatedInstallData idata)
           
(package private)  boolean processPasswordField(UserInputPanelConsoleHelper.Input input, AutomatedInstallData idata)
           
(package private)  boolean processSimpleField(UserInputPanelConsoleHelper.Input input, AutomatedInstallData idata)
           
(package private)  boolean processTextField(UserInputPanelConsoleHelper.Input input, AutomatedInstallData idata)
           
 boolean runConsole(AutomatedInstallData idata)
          Asks the panel to run in interactive console mode
 boolean runConsoleFromPropertiesFile(AutomatedInstallData installData, java.util.Properties p)
          Asks the panel to run and do its work, given a set of properties to use as variables
 boolean runGeneratePropertiesFile(AutomatedInstallData installData, java.io.PrintWriter printWriter)
          Asks the panel to return all inputed fields/variables in a string with a properties file style
 
Methods inherited from class com.izforge.izpack.installer.PanelConsoleHelper
askEndOfConsolePanel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instanceNumber

protected int instanceNumber

instanceCount

private static int instanceCount

SPEC_FILE_NAME

private static final java.lang.String SPEC_FILE_NAME
See Also:
Constant Field Values

NODE_ID

private static final java.lang.String NODE_ID
See Also:
Constant Field Values

INSTANCE_IDENTIFIER

private static final java.lang.String INSTANCE_IDENTIFIER
See Also:
Constant Field Values

PANEL_IDENTIFIER

protected static final java.lang.String PANEL_IDENTIFIER
See Also:
Constant Field Values

FIELD_NODE_ID

private static final java.lang.String FIELD_NODE_ID
See Also:
Constant Field Values

ATTRIBUTE_CONDITIONID_NAME

protected static final java.lang.String ATTRIBUTE_CONDITIONID_NAME
See Also:
Constant Field Values

VARIABLE

private static final java.lang.String VARIABLE
See Also:
Constant Field Values

SET

private static final java.lang.String SET
See Also:
Constant Field Values

TEXT

private static final java.lang.String TEXT
See Also:
Constant Field Values

SPEC

private static final java.lang.String SPEC
See Also:
Constant Field Values

PWD

private static final java.lang.String PWD
See Also:
Constant Field Values

TYPE_ATTRIBUTE

private static final java.lang.String TYPE_ATTRIBUTE
See Also:
Constant Field Values

TEXT_FIELD

private static final java.lang.String TEXT_FIELD
See Also:
Constant Field Values

COMBO_FIELD

private static final java.lang.String COMBO_FIELD
See Also:
Constant Field Values

STATIC_TEXT

private static final java.lang.String STATIC_TEXT
See Also:
Constant Field Values

CHOICE

private static final java.lang.String CHOICE
See Also:
Constant Field Values

DIR

private static final java.lang.String DIR
See Also:
Constant Field Values

FILE

private static final java.lang.String FILE
See Also:
Constant Field Values

PASSWORD

private static final java.lang.String PASSWORD
See Also:
Constant Field Values

VALUE

private static final java.lang.String VALUE
See Also:
Constant Field Values

RADIO_FIELD

private static final java.lang.String RADIO_FIELD
See Also:
Constant Field Values

TITLE_FIELD

private static final java.lang.String TITLE_FIELD
See Also:
Constant Field Values

CHECK_FIELD

private static final java.lang.String CHECK_FIELD
See Also:
Constant Field Values

RULE_FIELD

private static final java.lang.String RULE_FIELD
See Also:
Constant Field Values

SPACE

private static final java.lang.String SPACE
See Also:
Constant Field Values

DIVIDER

private static final java.lang.String DIVIDER
See Also:
Constant Field Values

DISPLAY_FORMAT

static final java.lang.String DISPLAY_FORMAT
See Also:
Constant Field Values

PLAIN_STRING

static final java.lang.String PLAIN_STRING
See Also:
Constant Field Values

SPECIAL_SEPARATOR

static final java.lang.String SPECIAL_SEPARATOR
See Also:
Constant Field Values

LAYOUT

static final java.lang.String LAYOUT
See Also:
Constant Field Values

RESULT_FORMAT

static final java.lang.String RESULT_FORMAT
See Also:
Constant Field Values

DESCRIPTION

private static final java.lang.String DESCRIPTION
See Also:
Constant Field Values

TRUE

private static final java.lang.String TRUE
See Also:
Constant Field Values

NAME

private static final java.lang.String NAME
See Also:
Constant Field Values

FAMILY

private static final java.lang.String FAMILY
See Also:
Constant Field Values

OS

private static final java.lang.String OS
See Also:
Constant Field Values

SELECTEDPACKS

private static final java.lang.String SELECTEDPACKS
See Also:
Constant Field Values

SPACE_INTPUT_FIELD

private static UserInputPanelConsoleHelper.Input SPACE_INTPUT_FIELD

DIVIDER_INPUT_FIELD

private static UserInputPanelConsoleHelper.Input DIVIDER_INPUT_FIELD

listInputs

public java.util.List<UserInputPanelConsoleHelper.Input> listInputs
Constructor Detail

UserInputPanelConsoleHelper

public UserInputPanelConsoleHelper()
Method Detail

analyzeValidator

private java.util.List<ValidatorContainer> analyzeValidator(IXMLElement specElement,
                                                            AutomatedInstallData idata)

runConsoleFromPropertiesFile

public boolean runConsoleFromPropertiesFile(AutomatedInstallData installData,
                                            java.util.Properties p)
Description copied from interface: PanelConsole
Asks the panel to run and do its work, given a set of properties to use as variables

Specified by:
runConsoleFromPropertiesFile in interface PanelConsole
Parameters:
installData - The installation data
p - The the properties

runGeneratePropertiesFile

public boolean runGeneratePropertiesFile(AutomatedInstallData installData,
                                         java.io.PrintWriter printWriter)
Description copied from interface: PanelConsole
Asks the panel to return all inputed fields/variables in a string with a properties file style

Specified by:
runGeneratePropertiesFile in interface PanelConsole
Parameters:
installData - The installation data

runConsole

public boolean runConsole(AutomatedInstallData idata)
Description copied from interface: PanelConsole
Asks the panel to run in interactive console mode

Specified by:
runConsole in interface PanelConsole
Parameters:
idata - The installation data *

collectInputs

public boolean collectInputs(AutomatedInstallData idata)

processSimpleField

boolean processSimpleField(UserInputPanelConsoleHelper.Input input,
                           AutomatedInstallData idata)

processPasswordField

boolean processPasswordField(UserInputPanelConsoleHelper.Input input,
                             AutomatedInstallData idata)

processTextField

boolean processTextField(UserInputPanelConsoleHelper.Input input,
                         AutomatedInstallData idata)

processComboRadioField

boolean processComboRadioField(UserInputPanelConsoleHelper.Input input,
                               AutomatedInstallData idata)

processCheckField

boolean processCheckField(UserInputPanelConsoleHelper.Input input,
                          AutomatedInstallData idata)

getInputFromField

public UserInputPanelConsoleHelper.Input getInputFromField(IXMLElement field,
                                                           AutomatedInstallData idata)

itemRequiredFor

private boolean itemRequiredFor(java.util.Vector<IXMLElement> packs,
                                AutomatedInstallData idata)
Verifies if an item is required for any of the packs listed. An item is required for a pack in the list if that pack is actually selected for installation.

Note:
If the list of selected packs is empty then true is always returnd. The same is true if the packs list is empty.

Parameters:
packs - a Vector of Strings. Each of the strings denotes a pack for which an item should be created if the pack is actually installed.
Returns:
true if the item is required for at least one pack in the list, otherwise returns false.

itemRequiredForOs

public boolean itemRequiredForOs(java.util.Vector<IXMLElement> os)
Verifies if an item is required for the operating system the installer executed. The configuration for this feature is:
<os family="unix"/>

Note:
If the list of the os is empty then true is always returnd.

Parameters:
os - The Vector of Strings. containing the os names
Returns:
true if the item is required for the os, otherwise returns false.

getText

private java.lang.String getText(IXMLElement element,
                                 AutomatedInstallData idata)
Extracts the text from an IXMLElement. The text must be defined in the resource file under the key defined in the id attribute or as value of the attribute txt.

Parameters:
element - the IXMLElement from which to extract the text.
idata - installer data
Returns:
The text defined in the IXMLElement. If no text can be located, null is returned.