}
// set parameter override value
if (param.getModify().equals("subscribe")) {
this.parameterOverrides.put(param.getName(),
new BooleanAttribute(true));
} else {
this.parameterOverrides.put(param.getName(),
new BooleanAttribute(false));
}
}
}
}
if (step.getPreferences() != null) {
for (CPDPreference pref : step.getPreferences()) {
// if this parameter doesn't currently have a value, check
// for a default in the CPD
if (!this.portletPreferences.containsKey(pref.getName())
|| this.portletPreferences.get(pref.getName()).getValue().size() == 0
|| (this.portletPreferences.get(pref.getName()).getValue().size() == 1 && this.portletPreferences.get(pref.getName()).getValue().get(0).trim().equals(""))) {
if (!this.portletPreferences.containsKey(pref.getName())) {
this.portletPreferences.put(pref.getName(), new StringListAttribute());
}
// use the default value if one exists
if (pref.getDefaultValues() != null && pref.getDefaultValues().size() > 0) {
for (String value : pref.getDefaultValues()) {
this.portletPreferences.get(pref.getName()).getValue().add(value);
}
}
// otherwise look for a default in the type restriction
else if (pref.getType() != null
&& pref.getType().getRestriction() != null
&& pref.getType().getRestriction().getDefaultValues() != null
&& pref.getType().getRestriction().getDefaultValues().size() > 0) {
for (String value : pref.getType().getRestriction().getDefaultValues()) {
this.portletPreferences.get(pref.getName()).getValue().add(value);
}
}
// set parameter override value
if (pref.getModify().equals("subscribe")) {
this.parameterOverrides.put(pref.getName(),
new BooleanAttribute(true));
} else {
this.parameterOverrides.put(pref.getName(),
new BooleanAttribute(false));
}
}
}
}
}