/** * Updates values in InputParameterAttributes to the given report parameter. * * @param dataAttrs the latest input parameter attributes * @param cachedDataAttrs the cached input parameter attributes * @param reportParam the report parameter * @param setHandle the ROM data set that has the corresponding data set parameter * @throws SemanticException */ private void updateInputParameterAttrsToReportParam( InputParameterAttributes inputParamAttrs, InputParameterAttributes cachedInputParamAttrs, AbstractScalarParameterHandle reportParam, OdaDataSetHandle setHandle) throws SemanticException { if (inputParamAttrs == null) return; InputParameterUIHints paramUiHints = inputParamAttrs.getUiHints(); if (paramUiHints != null && reportParam.getContainer() instanceof ParameterGroupHandle) { ParameterGroupHandle paramGroup = (ParameterGroupHandle) reportParam.getContainer(); InputParameterUIHints cachedParamUiHints = cachedInputParamAttrs == null ? null : cachedInputParamAttrs.getUiHints(); String cachedGroupPromptDisplayName = cachedParamUiHints == null ? null : cachedParamUiHints.getGroupPromptDisplayName(); String groupPromptDisplayName = paramUiHints.getGroupPromptDisplayName(); if (cachedGroupPromptDisplayName == null || !cachedGroupPromptDisplayName.equals(groupPromptDisplayName)) { paramGroup.setDisplayName(groupPromptDisplayName); paramGroup.setDisplayNameKey(paramUiHints.getGroupPromptDisplayNameKey()); } } updateInputElementAttrsToReportParam( inputParamAttrs.getElementAttributes(), cachedInputParamAttrs == null ? null : cachedInputParamAttrs.getElementAttributes(), reportParam, setHandle); }