/* * This method apply the new value for the specified property * The oldValue can be wrong or null if a multiselection was performed * return true if the object is modified... */ private boolean applyNewParameterProperty( JRParameter param, String propertyName, Object oldValue, Object newValue) { if (propertyName == null) return false; boolean objectModified = true; if (propertyName.equals("parameterName")) { SubDataset paramSubdataset = Misc.getObjectSubDataset(getJrf().getReport(), param); if (paramSubdataset != null && newValue != null) { for (int i = 0; i < paramSubdataset.getParameters().size(); ++i) { JRParameter f = (JRParameter) paramSubdataset.getParameters().get(i); if (f.getName().equals(newValue)) { ((SheetProperty) this.getSheetProperty(propertyName)) .setLabelError( I18n.getString( "messages.jRParameterDialog.DuplicatedParameterName", "A parameter with this name already exists!")); ((SheetProperty) this.getSheetProperty(propertyName)).updateLabel(); return false; } } param.setName("" + newValue); ((SheetProperty) this.getSheetProperty(propertyName)).setLabelError(null); ((SheetProperty) this.getSheetProperty(propertyName)).updateLabel(); } } else if (propertyName.equals("parameterIsForPrompting")) { param.setIsForPrompting(((Boolean) newValue).booleanValue()); } else if (propertyName.equals("parameterDescription")) { if (newValue != null) { param.setDescription("" + newValue); } } else if (propertyName.equals("parameterProperties")) { if (newValue != null && newValue instanceof List) { param.setProperties((List) newValue); } } else if (propertyName.equals("parameterClassType")) { if (newValue != null) { param.setClassType("" + newValue); } } else if (propertyName.equals("parameterDefaultValueExpression")) { if (newValue != null) { param.setDefaultValueExpression("" + newValue); } ((SheetProperty) this.getSheetProperty(propertyName)).setLabelError(null); ((SheetProperty) this.getSheetProperty(propertyName)).updateLabel(); } return objectModified; }