1 19 20 package com.izforge.izpack.panels; 21 22 import com.izforge.izpack.installer.InstallData; 23 import com.izforge.izpack.installer.InstallerFrame; 24 25 43 public class ConditionalUserInputPanel extends UserInputPanel 44 { 45 46 private static final long serialVersionUID = 3257283617406465844L; 47 48 54 public ConditionalUserInputPanel(InstallerFrame parent, InstallData installData) 55 { 56 super(parent, installData); 57 } 58 59 62 public void panelActivate() 63 { 64 String compareToValue = idata.getVariable("compareToValue." + instanceNumber); 66 String compareToVariable = idata.getVariable("compareToVariable." + instanceNumber); 67 String compareToOperator = idata.getVariable("compareToOperator." + instanceNumber); 68 String compareValue = null; 69 70 if (null != compareToVariable) 72 { 73 compareValue = idata.getVariable(compareToVariable); 74 } 75 76 if ("=".equalsIgnoreCase(compareToOperator)) 77 { 78 if (((null != compareToValue) && compareToValue.equalsIgnoreCase(compareValue)) 80 || ((null != compareValue) && compareValue.equalsIgnoreCase(compareToValue))) 81 { 82 super.panelActivate(); 83 } 84 else 85 { 86 parent.skipPanel(); 87 } 88 } 89 else if ("!=".equalsIgnoreCase(compareToOperator)) 90 { 91 if (((null != compareToValue) && !compareToValue.equalsIgnoreCase(compareValue)) 93 || ((null != compareValue) && !compareValue.equalsIgnoreCase(compareToValue))) 94 { 95 super.panelActivate(); 96 } 97 else 98 { 99 parent.skipPanel(); 100 } 101 } 102 else 103 { 104 emitError("Invalid operator specified for compareToOperator." + instanceNumber, 106 "Only '=' and '!=' are currently allowed!"); 107 parent.skipPanel(); 108 } 109 } 110 } 111 | Popular Tags |