/** * Refreshes property values of the given report parameter by the given parameter definition and * cached parameter definition. If values in cached parameter definition is null or values in * cached parameter definition are not equal to values in parameter defnition, update values in * given report parameter. * * @param reportParam the report parameter * @param paramDefn the ODA parameter definition * @param cachedParamDefn the cached ODA parameter definition in designerValues * @param dataType the updated data type * @param setHandle the ROM data set that has the corresponding data set parameter * @throws SemanticException if value in the data set design is invalid */ void updateLinkedReportParameter( AbstractScalarParameterHandle reportParam, ParameterDefinition paramDefn, ParameterDefinition cachedParamDefn, OdaDataSetHandle setHandle) throws SemanticException { if (paramDefn == null) return; CommandStack cmdStack = reportParam.getModuleHandle().getCommandStack(); try { cmdStack.startTrans(null); updateAbstractScalarParameter(reportParam, paramDefn, cachedParamDefn, setHandle); } catch (SemanticException e) { cmdStack.rollback(); throw e; } cmdStack.commit(); }