}
configure.output(text);
}
// Capture the value for the item property
PropertySet.Property prop = script.getProperty(item.getPropName());
Value value = null;
Value defaultValue = prop.getDefaultValue();
do {
String info = prop.getType().describe(defaultValue);
String input = configure.input(prop.getDescription() + " " + info + ":");
if (input == null) {
throw new ConfigureException("Unexpected EOF on input");
}
if (input.length() == 0) {
if (defaultValue != null) {
configure.debug("Using default");
value = defaultValue;
}
} else {
value = prop.getType().fromInput(input);
}
// Loop until we get a permissible value.
} while (value == null);
prop.setValue(value);
configure.output("");
if (item.getChanged() != null) {
// Display message if property value has changed.
String oldValue = (defaultValue == null) ? "" : defaultValue.getText();
String newValue = value.getText();
if (!oldValue.equals(newValue)) {
configure.output(item.getChanged());
configure.output("");
}