/* * 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 applyNewVariableProperty( JRVariable variable, String propertyName, Object oldValue, Object newValue) { if (propertyName == null) return false; boolean objectModified = true; if (propertyName.equals("variableName")) { SubDataset paramSubdataset = Misc.getObjectSubDataset(getJrf().getReport(), variable); if (paramSubdataset != null && newValue != null) { for (int i = 0; i < paramSubdataset.getVariables().size(); ++i) { JRVariable f = (JRVariable) paramSubdataset.getVariables().get(i); if (f.getName().equals(newValue)) { ((SheetProperty) this.getSheetProperty(propertyName)) .setLabelError( I18n.getString( "messages.JRVariableDialog.DuplicatedVariableName", "A variable with this name already exists!")); ((SheetProperty) this.getSheetProperty(propertyName)).updateLabel(); return false; } } variable.setName("" + newValue); ((SheetProperty) this.getSheetProperty(propertyName)).setLabelError(null); ((SheetProperty) this.getSheetProperty(propertyName)).updateLabel(); } } else if (propertyName.equals("variableClassType")) { if (newValue != null) { variable.setClassType("" + newValue); } } else if (propertyName.equals("variableCalculationType")) { if (newValue != null) { variable.setCalculation("" + newValue); } } else if (propertyName.equals("variableResetType")) { if (newValue != null) { variable.setResetType("" + newValue); } if (newValue != null && newValue.equals("Group")) { spVariableResetGroup.setReadOnly(false); variable.setResetGroup(spVariableResetGroup.getValue() + ""); } else { spVariableResetGroup.setReadOnly(true); variable.setResetGroup(""); } spVariableResetGroup.updateLabel(); } else if (propertyName.equals("variableResetGroup")) { variable.setResetGroup((newValue == null) ? "" : "" + newValue); } else if (propertyName.equals("variableIncrementType")) { if (newValue != null) { variable.setIncrementType("" + newValue); } if (newValue != null && newValue.equals("Group")) { spVariableIncrementGroup.setReadOnly(false); variable.setResetGroup(spVariableIncrementGroup.getValue() + ""); } else { spVariableIncrementGroup.setReadOnly(true); variable.setIncrementGroup(""); } spVariableIncrementGroup.updateLabel(); } else if (propertyName.equals("variableIncrementGroup")) { variable.setIncrementGroup((newValue == null) ? "" : "" + newValue); } else if (propertyName.equals("variableIncrementerClass")) { variable.setIncrementerFactoryClass((newValue == null) ? "" : "" + newValue); } else if (propertyName.equals("variableExpression")) { if (newValue != null) { variable.setExpression("" + newValue); } ((SheetProperty) this.getSheetProperty(propertyName)).setLabelError(null); ((SheetProperty) this.getSheetProperty(propertyName)).updateLabel(); } else if (propertyName.equals("variableInitialValueExpression")) { if (newValue != null) { variable.setInitialValueExpression("" + newValue); } ((SheetProperty) this.getSheetProperty(propertyName)).setLabelError(null); ((SheetProperty) this.getSheetProperty(propertyName)).updateLabel(); } return objectModified; }