public static ScriptParameterType get(String s) { if (StringUtils.isEmpty(s) == true) { return null; } for (final ScriptParameterType type : ScriptParameterType.values()) { if (s.equals(type.name()) == true) { return type; } } throw new IllegalArgumentException("Unknown ScriptParameterType: '" + s + "'"); }
public String getAsString() { final StringBuffer buf = new StringBuffer(); buf.append("[").append(parameterName).append(',').append(type).append(','); if (type.isIn(ScriptParameterType.TASK, ScriptParameterType.USER) == true) { buf.append(intValue); } else { buf.append(getValue()); } buf.append(']'); return buf.toString(); }
private void addParameterSettings(final int idx) { final FieldsetPanel fs = gridBuilder.newFieldset(getString("scripting.script.parameterName") + " " + idx); final String parameterType = "parameter" + idx + "Type"; final String parameterName = "parameter" + idx + "Name"; final MaxLengthTextField name = new MaxLengthTextField(fs.getTextFieldId(), new PropertyModel<String>(data, parameterName)); WicketUtils.setSize(name, 20); fs.add(name); // DropDownChoice type final LabelValueChoiceRenderer<ScriptParameterType> typeChoiceRenderer = new LabelValueChoiceRenderer<ScriptParameterType>(this, ScriptParameterType.values()); final DropDownChoice<ScriptParameterType> typeChoice = new DropDownChoice<ScriptParameterType>(fs.getDropDownChoiceId(), new PropertyModel<ScriptParameterType>(data, parameterType), typeChoiceRenderer.getValues(), typeChoiceRenderer); typeChoice.setNullValid(true); typeChoice.setRequired(false); fs.add(typeChoice); }
@Test public void get() { ScriptParameterType type = ScriptParameterType.get("DECIMAL"); assertEquals(ScriptParameterType.DECIMAL, type); try { type = ScriptParameterType.get("UNKNOWN"); fail("Exception should be thrown because of unknown parameter type."); } catch (final IllegalArgumentException ex) { // OK } } }
@Override public String toString() { final ToStringBuilder tos = new ToStringBuilder(this); tos.append(parameterName); tos.append(type); if (type.isIn(ScriptParameterType.TASK, ScriptParameterType.USER) == true) { tos.append(intValue); } else { tos.append(getValue()); } return tos.toString(); } }