label.couldnt_create_groovy_shell = Couldn't create the groovy Shell. Check the error log for the details of what went wrong.
error.unsupported_version_calcIdparam = Unsupported Version for calcIdparam {0}
error.implementation_error_cant_reorder_tree = Implementation Error: Can't reorder this tree. Not DefaultMutableTreeNode.
-error.invalid_value_for_option = Invalid value {0} for option {1}
error.implementation_error_cannot_import_vamsas_doc = Implementation Error - cannot import existing vamsas document into an existing session, Yet!
label.vamsas_doc_couldnt_be_opened_as_new_session = VAMSAS Document could not be opened as a new session - please choose another
error.implementation_error_vamsas_operation_not_init = Impementation error! Vamsas Operations when client not initialised and connected
label.hmmbuild_group = Build HMM from Selected Group
label.group_hmmbuild = Build HMM from Group
label.hmmsearch = hmmsearch
+label.installation = Installation
label.hmmer_location = HMMER Binaries Installation Location
label.cygwin_location = Cygwin Binaries Installation Location (Windows)
+label.information_annotation = Information Annotation
warn.null_hmm = Please ensure the alignment contains a hidden Markov model
label.ignore_below_background_frequency = Ignore Below Background Frequency
label.information_description = Information content, measured in bits
label.dom_score = Domain Score Threshold
label.number_of_results_desc = The maximum number of results that hmmsearch will return
label.auto_align_seqs_desc = If true, all fetched sequences will be aligned to the hidden Markov model with which the search was performed
-label.use_accessions_desc = If true, the accession number of each sequence is returned, rather than that sequences name
-label.seq_e_value_desc = The E-value cutoff for returned sequences
+label.use_accessions_desc = If true, the accession number of each sequence is returned, rather than that sequence's name
+label.seq_e_value_desc = The E-value cutoff for returned sequences (hmmsearch -E)
label.seq_score_desc = The score threshold for returned sequences
-label.dom_e_value_desc = The E-value cutoff for returned domains
+label.dom_e_value_desc = The E-value cutoff for returned domains (hmmsearch -domE)
label.dom_score_desc = The score threshold for returned domains
label.not_enough_sequences = There are not enough sequences to run {0}
label.add_database = Add Database
label.couldnt_create_groovy_shell = No es posible crear el shell de Groovy. Compruebe el fichero de log para conocer los detalles.
error.unsupported_version_calcIdparam = Versión no soportada de {0}
error.implementation_error_cant_reorder_tree = Error de implementación: no es posible reordenar este árbol. No DefaultMutableTreeNode.
-error.invalid_value_for_option = Valor no válido de {0} para la opción {1}
error.implementation_error_cannot_import_vamsas_doc = Error de implementación - todavía no es posible importar el documento VAMSAS existente en una sesión existente.
label.vamsas_doc_couldnt_be_opened_as_new_session = El documento VAMSAS no ha podido abrirse como una nueva sesión. Por favor, escoja otra.
error.implementation_error_vamsas_operation_not_init = ¡Error de implementación! Operaciones VAMSAS cuando el cliente no estaba inicializado ni conectado
import jalview.ws.params.ParameterI;
import jalview.ws.params.ValueConstrainI;
import jalview.ws.params.ValueConstrainI.ValueType;
+import jalview.ws.params.simple.BooleanOption;
import jalview.ws.params.simple.LogarithmicParameter;
import java.awt.BorderLayout;
}
else
{
- throw new Error(MessageManager.formatMessage(
- "error.invalid_value_for_option", new String[]
- { string, option.getName() }));
+ throw new Error(String.format("Invalid value '%s' for option '%s'",
+ string, option.getName()));
}
-
}
if (option.isRequired() && !cb.enabled.isSelected())
{
*/
public class Preferences extends GPreferences
{
+ public static final String HMMSEARCH_SEQCOUNT = "HMMSEARCH_SEQCOUNT";
+
+ public static final String HMMINFO_GLOBAL_BACKGROUND = "HMMINFO_GLOBAL_BACKGROUND";
+
+ public static final String HMMALIGN_TRIM_TERMINI = "HMMALIGN_TRIM_TERMINI";
+
public static final String ENABLE_SPLIT_FRAME = "ENABLE_SPLIT_FRAME";
public static final String SCALE_PROTEIN_TO_CDNA = "SCALE_PROTEIN_TO_CDNA";
/*
* Set HMMER tab defaults
*/
- hmmrTrimTermini.setSelected(Cache.getDefault("TRIM_TERMINI", false));
- if (Cache.getDefault("USE_UNIPROT", false))
+ hmmrTrimTermini.setSelected(Cache.getDefault(HMMALIGN_TRIM_TERMINI, false));
+ if (Cache.getDefault(HMMINFO_GLOBAL_BACKGROUND, false))
{
hmmerBackgroundUniprot.setSelected(true);
}
hmmerBackgroundAlignment.setSelected(true);
}
hmmerSequenceCount
- .setText(Cache.getProperty("SEQUENCES_TO_KEEP"));
+ .setText(Cache.getProperty(HMMSEARCH_SEQCOUNT));
hmmerPath.setText(Cache.getProperty(HMMER_PATH));
hmmerPath.addActionListener(new ActionListener()
{
validateHmmerPath();
}
});
- cygwinPath.setText(Cache.getProperty(CYGWIN_PATH));
- cygwinPath.addActionListener(new ActionListener()
+ if (cygwinPath != null)
{
- @Override
- public void actionPerformed(ActionEvent e)
+ cygwinPath.setText(Cache.getProperty(CYGWIN_PATH));
+ cygwinPath.addActionListener(new ActionListener()
{
- validateCygwinPath();
- }
- });
- cygwinPath.addFocusListener(new FocusAdapter()
- {
- @Override
- public void focusLost(FocusEvent e)
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ validateCygwinPath();
+ }
+ });
+ cygwinPath.addFocusListener(new FocusAdapter()
{
- validateCygwinPath();
- }
- });
+ @Override
+ public void focusLost(FocusEvent e)
+ {
+ validateCygwinPath();
+ }
+ });
+ }
/*
* Set Visual tab defaults
/*
* Save HMMER settings
*/
- Cache.applicationProperties.setProperty("TRIM_TERMINI",
+ Cache.applicationProperties.setProperty(HMMALIGN_TRIM_TERMINI,
Boolean.toString(hmmrTrimTermini.isSelected()));
- Cache.applicationProperties.setProperty("USE_UNIPROT",
+ Cache.applicationProperties.setProperty(HMMINFO_GLOBAL_BACKGROUND,
Boolean.toString(hmmerBackgroundUniprot.isSelected()));
- Cache.applicationProperties.setProperty("SEQUENCES_TO_KEEP",
+ Cache.applicationProperties.setProperty(HMMSEARCH_SEQCOUNT,
hmmerSequenceCount.getText());
Cache.setOrRemove(HMMER_PATH, hmmerPath.getText());
- Cache.setOrRemove(CYGWIN_PATH, cygwinPath.getText());
+ if (cygwinPath != null)
+ {
+ Cache.setOrRemove(CYGWIN_PATH, cygwinPath.getText());
+ }
AlignFrame[] frames = Desktop.getAlignFrames();
if (frames != null && frames.length > 0)
{
}
}
- hmmrTrimTermini.setSelected(Cache.getDefault("TRIM_TERMINI", false));
- if (Cache.getDefault("USE_UNIPROT", false))
+ hmmrTrimTermini.setSelected(Cache.getDefault(HMMALIGN_TRIM_TERMINI, false));
+ if (Cache.getDefault(HMMINFO_GLOBAL_BACKGROUND, false))
{
hmmerBackgroundUniprot.setSelected(true);
}
hmmerBackgroundAlignment.setSelected(true);
}
hmmerSequenceCount
- .setText(Cache.getProperty("SEQUENCES_TO_KEEP"));
+ .setText(Cache.getProperty(HMMSEARCH_SEQCOUNT));
hmmerPath.setText(Cache.getProperty(HMMER_PATH));
/*
public class WsJobParameters extends JPanel implements ItemListener,
ActionListener, DocumentListener, OptsParametersContainerI
{
+ private static final int PREFERRED_WIDTH = 540;
+
+ private static final int DEFAULT_HEIGHT = 640;
+
URL linkImageURL = getClass().getResource("/images/link.gif");
private static final String SVC_DEF = "Defaults"; // this is the null
this(service, null);
}
- public WsJobParameters(JFrame parent, ParamDatastoreI store,
- WsParamSetI preset,
+ public WsJobParameters(ParamDatastoreI store, WsParamSetI preset,
List<ArgumentI> args)
{
super();
public WsJobParameters(Jws2Instance service, WsParamSetI preset)
{
- this(null, service, preset, null);
+ this(service, preset, null);
}
/**
*
- * @param desktop
- * - if null, create new JFrame outside of desktop
* @param service
* @param preset
*/
- public WsJobParameters(JFrame parent, Jws2Instance service,
+ public WsJobParameters(Jws2Instance service,
WsParamSetI preset, List<Argument> jobArgset)
{
- this(parent, null, service, preset, jobArgset);
+ this(null, service, preset, jobArgset);
}
/**
*
- * @param parent
* @param paramStorei
* @param service
* @param preset
* @param jobArgset
*/
- public WsJobParameters(JFrame parent, ParamDatastoreI paramStorei,
- Jws2Instance service, WsParamSetI preset,
- List<Argument> jobArgset)
+ public WsJobParameters(ParamDatastoreI paramStorei, Jws2Instance service,
+ WsParamSetI preset, List<Argument> jobArgset)
{
super();
jbInit();
this.paramStore = paramStorei;
- if (paramStore == null)
+ if (paramStore == null && service != null)
{
paramStore = service.getParamStore();
}
this.service = service;
// argSetModified(false);
// populate parameter table
- initForService(service, preset, jobArgset);
+ initForService(preset, jobArgset);
// display in new JFrame attached to parent.
validate();
}
paramList.setBorder(
new TitledBorder(MessageManager.getString("label.parameters")));
paramList.setOpaque(true);
- JPanel bjo = new JPanel(new BorderLayout()),
- bjp = new JPanel(new BorderLayout());
+ JPanel bjo = new JPanel(new BorderLayout());
+ JPanel bjp = new JPanel(new BorderLayout());
bjo.add(jobOptions, BorderLayout.CENTER);
bjp.add(paramList, BorderLayout.CENTER);
bjp.setOpaque(true);
dialogpanel.add(canceljob);
// JAL-1580: setMaximumSize() doesn't work, so just size for the worst case:
// check for null is for JUnit usage
- final int windowHeight = Desktop.instance == null ? 540
+ final int windowHeight = Desktop.instance == null ? DEFAULT_HEIGHT
: Desktop.instance.getHeight();
- setPreferredSize(new Dimension(540, windowHeight));
+ // setPreferredSize(new Dimension(PREFERRED_WIDTH, windowHeight));
add(dialogpanel, BorderLayout.SOUTH);
validate();
}
*/
boolean settingDialog = false;
- void initForService(Jws2Instance service, WsParamSetI jabap,
- List<Argument> jabajobArgset)
+ void initForService(WsParamSetI jabap, List<Argument> jabajobArgset)
{
WsParamSetI p = null;
List<ArgumentI> jobArgset = null;
settingDialog = false;
}
- @SuppressWarnings("unchecked")
private void updateTable(WsParamSetI p, List<ArgumentI> jobArgset)
{
boolean setDefaultParams = false;
FlowLayout fl = new FlowLayout(FlowLayout.LEFT);
int sep = fl.getVgap();
boolean fh = true;
- int os = 0,
- s = jobOptions.getBorder().getBorderInsets(jobOptions).bottom
- + jobOptions.getBorder().getBorderInsets(jobOptions).top
- + 2 * sep;
- /**
- * final height for viewport
- */
- int finalh = s;
+ int s = jobOptions.getBorder().getBorderInsets(jobOptions).bottom
+ + jobOptions.getBorder().getBorderInsets(jobOptions).top
+ + 2 * sep;
+
int panewidth = paramPane.getViewport().getSize().width - 120
- jobOptions.getBorder().getBorderInsets(jobOptions).left
+ jobOptions.getBorder().getBorderInsets(jobOptions).right;
- int w = 2 * fl.getHgap()
- + (MAX_OPTWIDTH > OptsAndParamsPage.PARAM_WIDTH ? MAX_OPTWIDTH
- : OptsAndParamsPage.PARAM_WIDTH);
- int hgap = fl.getHgap(), cw = hgap;
+ // int w = 2 * fl.getHgap()
+ // + (MAX_OPTWIDTH > OptsAndParamsPage.PARAM_WIDTH ? MAX_OPTWIDTH
+ // : OptsAndParamsPage.PARAM_WIDTH);
+ int hgap = fl.getHgap();
+ int cw = hgap;
if (opanp.getOptSet().size() > 0)
{
}
if (fh)
{
- finalh += pbox.getSize().height + fl.getVgap();
+ // finalh += pbox.getSize().height + fl.getVgap();
fh = false;
}
}
}
if (fh)
{
- finalh += pbox.getSize().height + fl.getVgap();
+ // finalh += pbox.getSize().height + fl.getVgap();
fh = false;
}
import jalview.bin.Cache;
import jalview.gui.Preferences;
import jalview.util.MessageManager;
+import jalview.viewmodel.AlignmentViewport;
import jalview.ws.params.ArgumentI;
import jalview.ws.params.ParamDatastoreI;
import jalview.ws.params.WsParamSetI;
private static final String HMMSEARCH = "hmmsearch";
- String name;
+ private String name;
- List<WsParamSetI> presets = new ArrayList<>();
+ private List<WsParamSetI> presets = new ArrayList<>();
- private HMMERParamStore(String nam)
+ private AlignmentViewport viewport;
+
+ private HMMERParamStore(String nam, AlignmentViewport av)
{
+ this.viewport = av;
this.name = nam;
}
- public static HMMERParamStore forBuild()
+ public static HMMERParamStore forBuild(AlignmentViewport viewport)
{
- return new HMMERParamStore(HMMBUILD);
+ return new HMMERParamStore(HMMBUILD, viewport);
}
- public static HMMERParamStore forAlign()
+ public static HMMERParamStore forAlign(AlignmentViewport viewport)
{
- return new HMMERParamStore(HMMALIGN);
+ return new HMMERParamStore(HMMALIGN, viewport);
}
- public static HMMERParamStore forSearch()
+ public static HMMERParamStore forSearch(AlignmentViewport viewport)
{
- return new HMMERParamStore(HMMSEARCH);
+ return new HMMERParamStore(HMMSEARCH, viewport);
}
@Override
return args;
}
+ /**
+ * Answers default parameters for hmmsearch, taking into account any
+ * configured as user preferences
+ *
+ * @param args
+ */
private void getHMMSearchParams(List<ArgumentI> args)
{
args.add(new IntegerParameter(
0d, 0d, 10000d));
*/
args.add(new LogarithmicParameter(
- MessageManager.getString("label.dom_e_value_desc"),
+ MessageManager.getString("label.dom_e_value"),
MessageManager.getString("label.dom_e_value_desc"), false, -3d,
-37.92977945, 1d, 10d));
/*
*/
}
+ /**
+ * Answers default parameters for hmmalign, taking into account any configured
+ * as user preferences
+ *
+ * @param args
+ */
private void getHMMAlignParams(List<ArgumentI> args)
{
+ boolean def = Cache.getDefault(Preferences.HMMALIGN_TRIM_TERMINI,
+ false);
args.add(new BooleanOption(
MessageManager.getString("label.trim_termini"),
MessageManager.getString("label.trim_termini_desc"),
- false, false, true, null));
+ false, false, def, null));
}
+ /**
+ * Answers default parameters for hmmbuild, taking into account any configured
+ * as user preferences
+ *
+ * @param args
+ */
private void getHMMBuildParams(List<ArgumentI> args)
{
args.add(new StringParameter(MessageManager.getString("label.hmm_name"),
MessageManager.getString("label.hmm_name_desc"), true, ""));
// todo only enable Use Reference Annotation if RF is present
- args.add(new BooleanOption(
- MessageManager.getString("label.use_reference"),
- MessageManager.getString("label.use_reference_desc"), true,
- true, true, null));
+ if (viewport.hasReferenceAnnotation())
+ {
+ args.add(new BooleanOption(
+ MessageManager.getString("label.use_reference"),
+ MessageManager.getString("label.use_reference_desc"), true,
+ true, true, null));
+ }
Collection<String> options = new ArrayList<>();
options.add(MessageManager.getString("label.alignment"));
import javax.swing.AbstractButton;
import javax.swing.AbstractCellEditor;
import javax.swing.BorderFactory;
+import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JButton;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
+import net.miginfocom.swing.MigLayout;
+
/**
* Base class for the Preferences panel.
*
/*
* hmmer tab and components
*/
- protected JPanel hmmerTab = new JPanel();
+ protected JPanel hmmerTab;
- protected JCheckBox hmmrTrimTermini = new JCheckBox();
+ protected JCheckBox hmmrTrimTermini;
- protected AbstractButton hmmerBackgroundUniprot = new JCheckBox();
+ protected AbstractButton hmmerBackgroundUniprot;
- protected AbstractButton hmmerBackgroundAlignment = new JCheckBox();
+ protected AbstractButton hmmerBackgroundAlignment;
- protected JTextField hmmerSequenceCount = new JTextField();
+ protected JTextField hmmerSequenceCount;
- protected JTextField hmmerPath = new JTextField();
+ protected JTextField hmmerPath;
- protected JTextField cygwinPath = new JTextField();
+ protected JTextField cygwinPath;
/*
* DAS Settings tab
*/
private JPanel initHMMERTab()
{
- hmmerTab.setLayout(null);
- final int lineSpacing = 20;
+ hmmerTab = new JPanel();
+ hmmerTab.setLayout(new BoxLayout(hmmerTab, BoxLayout.Y_AXIS));
+ hmmerTab.setLayout(new MigLayout("flowy"));
/*
* path to hmmer binaries folder
*/
+ JPanel installationPanel = new JPanel(new MigLayout("flowy"));
+ // new FlowLayout(FlowLayout.LEFT));
+ JvSwingUtils.createTitledBorder(installationPanel,
+ MessageManager.getString("label.installation"), true);
+ hmmerTab.add(installationPanel);
JLabel hmmerLocation = new JLabel(
MessageManager.getString("label.hmmer_location"));
hmmerLocation.setFont(LABEL_FONT);
- int xPos = 22;
- int yPos = 10;
- hmmerLocation.setBounds(new Rectangle(xPos, yPos, 250, 23));
- yPos += lineSpacing;
- hmmerPath.setBounds(new Rectangle(xPos, yPos, 300, 23));
+ final int pathFieldLength = 40;
+ hmmerPath = new JTextField(pathFieldLength);
hmmerPath.addMouseListener(new MouseAdapter()
{
@Override
}
}
});
- hmmerTab.add(hmmerLocation);
- hmmerTab.add(hmmerPath);
+ installationPanel.add(hmmerLocation);
+ installationPanel.add(hmmerPath);
/*
* path to Cygwin binaries folder (for Windows)
JLabel cygwinLocation = new JLabel(
MessageManager.getString("label.cygwin_location"));
cygwinLocation.setFont(LABEL_FONT);
- yPos += lineSpacing * 2;
- cygwinLocation.setBounds(new Rectangle(xPos, yPos, 250, 23));
- yPos += lineSpacing;
- cygwinPath.setBounds(new Rectangle(xPos, yPos, 300, 23));
+ cygwinPath = new JTextField(pathFieldLength);
cygwinPath.addMouseListener(new MouseAdapter()
{
@Override
}
}
});
- hmmerTab.add(cygwinLocation);
- hmmerTab.add(cygwinPath);
+ installationPanel.add(cygwinLocation);
+ installationPanel.add(cygwinPath);
}
/*
* preferences for hmmalign
*/
- yPos += lineSpacing * 2;
- JPanel alignOptions = new JPanel(new FlowLayout(FlowLayout.LEFT));
- JvSwingUtils.createTitledBorder(alignOptions,
+ JPanel alignOptionsPanel = new JPanel(new MigLayout());
+ // new FlowLayout(FlowLayout.LEFT));
+ JvSwingUtils.createTitledBorder(alignOptionsPanel,
MessageManager.getString("label.hmmalign_label"), true);
- yPos += lineSpacing;
+ hmmerTab.add(alignOptionsPanel);
+ hmmrTrimTermini = new JCheckBox();
hmmrTrimTermini.setFont(LABEL_FONT);
hmmrTrimTermini.setText(MessageManager.getString("label.trim_termini"));
- alignOptions.add(hmmrTrimTermini);
- hmmerTab.add(alignOptions);
- alignOptions.setBounds(new Rectangle(xPos, yPos, 300, 43));
+ alignOptionsPanel.add(hmmrTrimTermini);
/*
* preferences for hmmsearch
*/
- yPos += lineSpacing * 3;
- JPanel searchOptions = new JPanel(new FlowLayout(FlowLayout.LEFT));
+ JPanel searchOptions = new JPanel(new MigLayout());
+ // FlowLayout(FlowLayout.LEFT));
JvSwingUtils.createTitledBorder(searchOptions,
MessageManager.getString("label.hmmsearch_label"), true);
- searchOptions.setBounds(new Rectangle(xPos, yPos, 300, 43));
+ hmmerTab.add(searchOptions);
JLabel sequencesToKeep = new JLabel(
MessageManager.getString("label.no_of_sequences"));
sequencesToKeep.setFont(LABEL_FONT);
- // hmmerSequenceCount.setBounds(new Rectangle(xPos + 250, yPos, 60, 23));
searchOptions.add(sequencesToKeep);
+ hmmerSequenceCount = new JTextField(5);
searchOptions.add(hmmerSequenceCount);
- hmmerTab.add(searchOptions);
-
- ButtonGroup backgroundFreqSource = new ButtonGroup();
- backgroundFreqSource.add(hmmerBackgroundUniprot);
- backgroundFreqSource.add(hmmerBackgroundAlignment);
- backgroundFreqSource.setSelected(hmmerBackgroundUniprot.getModel(), true);
/*
* preferences for Information Content annotation
*/
- yPos += lineSpacing * 3;
- hmmerBackgroundUniprot.setText(MessageManager.getString("label.freq_uniprot"));
+ // JPanel dummy = new JPanel(new FlowLayout(FlowLayout.LEFT));
+ JPanel annotationOptions = new JPanel(new MigLayout("left"));
+ JvSwingUtils.createTitledBorder(annotationOptions,
+ MessageManager.getString("label.information_annotation"), true);
+ // dummy.add(annotationOptions);
+ hmmerTab.add(annotationOptions);
+ ButtonGroup backgroundOptions = new ButtonGroup();
+ hmmerBackgroundUniprot = new JRadioButton(
+ MessageManager.getString("label.freq_uniprot"));
hmmerBackgroundUniprot.setFont(LABEL_FONT);
- hmmerBackgroundUniprot.setBounds(new Rectangle(xPos, yPos, 255, 23));
-
- yPos += lineSpacing;
- hmmerBackgroundAlignment.setText(MessageManager.getString("label.freq_alignment"));
+ hmmerBackgroundAlignment = new JRadioButton(
+ MessageManager.getString("label.freq_alignment"));
hmmerBackgroundAlignment.setFont(LABEL_FONT);
- hmmerBackgroundAlignment.setBounds(new Rectangle(xPos, yPos, 300, 23));
-
- hmmerTab.add(hmmerBackgroundUniprot);
- hmmerTab.add(hmmerBackgroundAlignment);
+ backgroundOptions.add(hmmerBackgroundUniprot);
+ backgroundOptions.add(hmmerBackgroundAlignment);
+ backgroundOptions.setSelected(hmmerBackgroundUniprot.getModel(), true);
+ // disable buttons for now as annotation only uses Uniprot background
+ hmmerBackgroundAlignment.setEnabled(false);
+ hmmerBackgroundUniprot.setEnabled(false);
+ annotationOptions.add(hmmerBackgroundUniprot, "wrap");
+ annotationOptions.add(hmmerBackgroundAlignment);
return hmmerTab;
}
}
WsJobParameters jobParams = (preset == null && paramset != null
&& paramset.size() > 0)
- ? new WsJobParameters(null, sh, null, paramset)
+ ? new WsJobParameters(sh, null, paramset)
: new WsJobParameters(sh, preset);
if (adjustingExisting)
{
*/
package jalview.ws.params.simple;
-import jalview.ws.params.OptionI;
-
import java.net.URL;
import java.util.Arrays;
-public class BooleanOption extends Option implements OptionI
+public class BooleanOption extends Option
{
public BooleanOption(String name, String descr, boolean required,
boolean defVal, boolean val, URL link)
{
-
- super(name, descr, required, (defVal ? name : ""), (val ? name : ""),
- Arrays.asList(new String[]
- { name }), link);
+ super(name, descr, required, (defVal ? name : null),
+ (val ? name : null),
+ Arrays.asList(name), link);
}
}