private Class<?> findParameterClass( ReportParameterDefinition definition, String parameterName ) { for ( int i = 0; i < definition.getParameterCount(); i++ ) { ParameterDefinitionEntry entry = definition.getParameterDefinition( i ); if ( parameterName.equals( entry.getName() ) ) { return entry.getValueType(); } } return null; } }
for ( int i = 0; i < definition.getParameterCount(); i++ ) { ParameterDefinitionEntry entry = definition.getParameterDefinition( i ); ValueMetaInterface valueMeta = new ValueMetaString( entry.getName() ); valueMeta.setComments( getParameterDefinitionEntryTypeDescription( entry ) ); r.addValueMeta( valueMeta );
String computeLabel( final ParameterDefinitionEntry entry ) { final String swingLabel = entry.getParameterAttribute( ParameterAttributeNames.Swing.NAMESPACE, ParameterAttributeNames.Swing.LABEL, parameterContext ); if ( swingLabel != null ) { return swingLabel; } String coreLabel = entry.getTranslatedParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.LABEL, parameterContext ); return coreLabel == null ? entry.getName() : coreLabel; }
public Object getMetaAttribute( final String domain, final String name, final Class type, final DataAttributeContext context, final Object defaultValue ) { if ( domain == null ) { throw new NullPointerException(); } if ( name == null ) { throw new NullPointerException(); } if ( context == null ) { throw new NullPointerException(); } if ( MetaAttributeNames.Core.NAMESPACE.equals( domain ) ) { if ( MetaAttributeNames.Core.NAME.equals( name ) ) { return entry.getName(); } if ( MetaAttributeNames.Core.SOURCE.equals( name ) ) { return MetaAttributeNames.Core.SOURCE_VALUE_PARAMETER; } if ( MetaAttributeNames.Core.TYPE.equals( name ) ) { return entry.getValueType(); } } final Object override = entry.getParameterAttribute( domain, name, parameterContext ); if ( override != null ) { return override; } return globalAttributes.getMetaAttribute( domain, name, type, context, defaultValue ); }
private Map<String, ParameterDefinitionEntry> normalizeParameterDefinitions( final ParameterDataRow parameters, final ParameterDefinitionEntry[] parameterDefinitionEntries ) { final String[] parameterNames = parameters.getColumnNames(); final HashMap<String, ParameterDefinitionEntry> map = new HashMap<String, ParameterDefinitionEntry>(); if ( parameterDefinitionEntries != null ) { for ( int i = 0; i < parameterDefinitionEntries.length; i++ ) { final ParameterDefinitionEntry entry = parameterDefinitionEntries[i]; map.put( entry.getName(), entry ); } } for ( int i = 0; i < parameterNames.length; i++ ) { final String name = parameterNames[i]; if ( map.containsKey( name ) ) { continue; } final Object value = parameters.get( name ); if ( value != null ) { map.put( name, new PlainParameter( name, value.getClass() ) ); } else { map.put( name, new PlainParameter( name, Object.class ) ); } } return map; }
private void addToPanel( final ParameterDefinitionEntry entry, final int gridY, final JComponent editor ) { final JLabel label = new JLabel( computeLabel( entry ) ); final JLabel errorLabel = new JLabel(); errorLabels.put( entry.getName(), errorLabel );
protected void processParameters( final ParameterDataRow parameters, final ParameterDefinitionEntry[] parameterDefinitionEntries, final ReportEnvironment reportEnvironment, final DefaultDataAttributes globalAttributes, final DataSchemaRule[] indirectRules, final DataSchemaRule[] directRules, final DefaultDataSchema schema ) throws ReportDataFactoryException { final Map<String, ParameterDefinitionEntry> map = normalizeParameterDefinitions( parameters, parameterDefinitionEntries ); for ( final Map.Entry<String, ParameterDefinitionEntry> entry : map.entrySet() ) { final ParameterDefinitionEntry parameter = entry.getValue(); parameterDataAttributes.setup( parameter, globalAttributes, reportEnvironment, resourceManager ); final DefaultDataAttributes computedParameterDataAttributes = new DefaultDataAttributes(); computedParameterDataAttributes.merge( this.parameterDataAttributes, context ); applyRules( indirectRules, directRules, computedParameterDataAttributes ); schema.setAttributes( parameter.getName(), computedParameterDataAttributes ); } }
@Deprecated public static LinkedMap computeParameterValueSet( final MasterReport report ) { final LinkedMap retval = new LinkedMap(); retval.put( MasterReport.REPORT_DATE_PROPERTY, new Date() ); final ReportParameterValues reportParameterValues = report.getParameterValues(); final ParameterDefinitionEntry[] columnNames = report.getParameterDefinition().getParameterDefinitions(); for ( int i = 0; i < columnNames.length; i++ ) { final ParameterDefinitionEntry parameter = columnNames[i]; final String columnName = parameter.getName(); if ( columnName == null ) { continue; } retval.put( columnName, reportParameterValues.get( columnName ) ); } return retval; }
this.parameterName = entry.getName(); this.updateContext = updateContext; this.dateType = entry.getValueType(); new TextComponentEditHandler( entry.getValueType(), entry.getName(), dateField, updateContext, sdf ); dateField.getDocument().addDocumentListener( listener ); dateField.addActionListener( listener );
final Object o = computePostProcessingValue( result, parameterContext, parameterValues, entry, parameterValues.get( entry .getName() ), entry.getDefaultValue( parameterContext ) ); parameterValues.put( entry.getName(), o ); } catch ( ReportProcessingException e ) { if ( logger.isDebugEnabled() ) { logger.debug( "Unable to compute default value for parameter '" + entry.getName() + "'", e ); result.addError( entry.getName(), new ValidationMessage( Messages.getInstance( locale ).formatMessage( "FormulaParameterEvaluator.PostProcessingInitFailed", e.getLocalizedMessage() ) ) );
protected LinkedMap computeParameterValueMap( final MasterReport report ) { final LinkedMap retval = new LinkedMap(); retval.put( MasterReport.REPORT_DATE_PROPERTY, new Date() ); final ReportParameterValues reportParameterValues = report.getParameterValues(); final ParameterDefinitionEntry[] columnNames = report.getParameterDefinition().getParameterDefinitions(); for ( int i = 0; i < columnNames.length; i++ ) { final ParameterDefinitionEntry parameter = columnNames[i]; final String columnName = parameter.getName(); if ( columnName == null ) { continue; } retval.put( columnName, reportParameterValues.get( columnName ) ); } return retval; }
public TextAreaParameterComponent( final ParameterDefinitionEntry entry, final ParameterContext parameterContext, final ParameterUpdateContext updateContext ) { this.updateContext = updateContext; final String formatString = entry.getTranslatedParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DATA_FORMAT, parameterContext ); final String timeZoneSpec = entry.getParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.TIMEZONE, parameterContext ); final Locale locale = parameterContext.getResourceBundleFactory().getLocale(); final TimeZone timeZone = TextComponentEditHandler.createTimeZone( timeZoneSpec, parameterContext.getResourceBundleFactory() .getTimeZone() ); textArea = new JTextArea(); format = TextComponentEditHandler.createFormat( formatString, locale, timeZone, entry.getValueType() ); handler = new TextComponentEditHandler( entry.getValueType(), entry.getName(), textArea, updateContext, format ); textArea.getDocument().addDocumentListener( handler ); textArea.setColumns( 60 ); textArea.setRows( 10 ); setViewportView( textArea ); parameterName = entry.getName(); updateContext.addChangeListener( new TextUpdateHandler() ); }
@Before public void setUp() { ParameterDefinitionEntry entry = mock( ParameterDefinitionEntry.class ); ParameterContext parameterContext = mock( ParameterContext.class ); updateContext = mock( ParameterUpdateContext.class ); ResourceBundleFactory resourceBundleFactory = mock( ResourceBundleFactory.class ); Locale locale = new Locale( "test_test" ); doReturn( ENTRY_NAME ).when( entry ).getName(); doReturn( Number.class ).when( entry ).getValueType(); doReturn( "#,###,##0.00" ).when( entry ).getParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DATA_FORMAT, parameterContext ); doReturn( "#,###,##0.00" ).when( entry ).getTranslatedParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DATA_FORMAT, parameterContext ); doReturn( "utc" ).when( entry ).getParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.TIMEZONE, parameterContext ); doReturn( resourceBundleFactory ).when( parameterContext ).getResourceBundleFactory(); doReturn( locale ).when( resourceBundleFactory ).getLocale(); doReturn( TimeZone.getDefault() ).when( resourceBundleFactory ).getTimeZone(); comp = new TextFieldParameterComponent( entry, parameterContext, updateContext ); verify( updateContext ).addChangeListener( any( ChangeListener.class ) ); assertEquals( comp.getColumns(), 60 ); }
if ( error != null ) { if ( result != null ) { result.addError( entry.getName(), new ValidationMessage( Messages.getInstance( locale ).formatMessage( "FormulaParameterEvaluator.PostProcessingFormulaFailed", error.getLocalizedMessage() ) ) ); logger.debug( "Unable to compute default value for parameter '" + entry.getName() + "'", error ); final ErrorValue errorValue = (ErrorValue) value; if ( result != null ) { result.addError( entry.getName(), new ValidationMessage( Messages.getInstance( locale ).formatMessage( "FormulaParameterEvaluator.PostProcessingFormulaFailed", } catch ( BeanException e ) { if ( logger.isDebugEnabled() ) { logger.debug( "Unable to convert computed default value for parameter '" + entry.getName() + "'", e ); result.addError( entry.getName(), new ValidationMessage( Messages.getInstance( locale ).getString( "FormulaParameterEvaluator.ErrorConvertingValue" ) ) ); result.addError( entry.getName(), new ValidationMessage( "The post-processing result cannot be converted into the target-type." ) );
@Before public void setUp() { ParameterDefinitionEntry entry = mock( ParameterDefinitionEntry.class ); ParameterContext parameterContext = mock( ParameterContext.class ); updateContext = mock( ParameterUpdateContext.class ); ResourceBundleFactory resourceBundleFactory = mock( ResourceBundleFactory.class ); Locale locale = new Locale( "test_test" ); doReturn( ENTRY_NAME ).when( entry ).getName(); doReturn( Number.class ).when( entry ).getValueType(); doReturn( "#,###,##0.00" ).when( entry ).getParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DATA_FORMAT, parameterContext ); doReturn( "#,###,##0.00" ).when( entry ).getTranslatedParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DATA_FORMAT, parameterContext ); doReturn( "utc" ).when( entry ).getParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.TIMEZONE, parameterContext ); doReturn( resourceBundleFactory ).when( parameterContext ).getResourceBundleFactory(); doReturn( locale ).when( resourceBundleFactory ).getLocale(); doReturn( TimeZone.getDefault() ).when( resourceBundleFactory ).getTimeZone(); comp = new TextAreaParameterComponent( entry, parameterContext, updateContext ); verify( updateContext ).addChangeListener( any( ChangeListener.class ) ); JTextArea textArea = findTextArea( comp ); assertThat( textArea, is( notNullValue() ) ); assertThat( textArea.getColumns(), is( equalTo( 60 ) ) ); assertThat( textArea.getRows(), is( equalTo( 10 ) ) ); }
for ( int j = 0; j < parameterDefinitions.length; j++ ) { final ParameterDefinitionEntry definition = parameterDefinitions[j]; if ( readHandler.getPropertyName().equals( definition.getName() ) ) { foundParameter = true; break;
public TextFieldParameterComponent( final ParameterDefinitionEntry entry, final ParameterContext parameterContext, final ParameterUpdateContext updateContext ) { this.updateContext = updateContext; this.parameterName = entry.getName(); final String formatString = entry.getTranslatedParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DATA_FORMAT, parameterContext ); final String timeZoneSpec = entry.getParameterAttribute( ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.TIMEZONE, parameterContext ); final Locale locale = parameterContext.getResourceBundleFactory().getLocale(); final TimeZone timeZone = TextComponentEditHandler.createTimeZone( timeZoneSpec, parameterContext.getResourceBundleFactory() .getTimeZone() ); format = TextComponentEditHandler.createFormat( formatString, locale, timeZone, entry.getValueType() ); handler = new TextComponentEditHandler( entry.getValueType(), entry.getName(), this, updateContext, format ); setColumns( 60 ); getDocument().addDocumentListener( handler ); addActionListener( handler ); updateContext.addChangeListener( new TextUpdateHandler() ); }
logger.debug( "On Validate Single Parameter: " + parameterDefinitionEntry.getName() ); logger.debug( "On Validate Single Parameter: " + trustedParameterContext.getParameterData() ); logger.debug( "On Validate Single Parameter: " + untrustedValue ); logger.debug( "On Validate Single Parameter: ------------------------------" ); final String parameterName = parameterDefinitionEntry.getName(); final ReportParameterValues tempValue = new ReportParameterValues( trustedParameterContext.getTrustedValues() ); tempValue.put( parameterName, untrustedValue ); if ( parameterType.isInstance( computedValue ) == false ) { logger.warn( "Parameter validation error: Value cannot be matched due to invalid value type '" + parameterDefinitionEntry.getName() + "' with value '" + computedValue + "'" ); result.addError( parameterName, new ValidationMessage( Messages.getInstance( locale ).getString( "DefaultReportParameterValidator.ParameterIsInvalidType" ) ) );
public ValidationResult validate( ValidationResult result, final ReportParameterDefinition parameterDefinition, final ParameterContext parameterContext ) throws ReportProcessingException { if ( parameterContext == null ) { throw new NullPointerException(); } if ( parameterDefinition == null ) { throw new NullPointerException(); } if ( result == null ) { result = new ValidationResult(); } PerformanceLoggingStopWatch sw = parameterContext.getPerformanceMonitorContext().createStopWatch( PerformanceTags.REPORT_PARAMETER ); try { sw.start(); final TrustedParameterContext trustedParameterContext = new TrustedParameterContext( parameterContext ); final ParameterDefinitionEntry[] parameterDefinitionEntries = parameterDefinition.getParameterDefinitions(); for ( int i = 0; i < parameterDefinitionEntries.length; i++ ) { final ParameterDefinitionEntry parameterDefinitionEntry = parameterDefinitionEntries[i]; final String parameterName = parameterDefinitionEntry.getName(); final Object untrustedValue = parameterContext.getParameterData().get( parameterName ); validateSingleParameter( result, trustedParameterContext, parameterDefinitionEntry, untrustedValue ); } result.setParameterValues( trustedParameterContext.getTrustedValues() ); return result; } finally { sw.close(); } }