String fullyQualifiedServerURL = PentahoSystem.getApplicationContext().getFullyQualifiedServerURL();
HashMap<FactoryParameterKey, Object> helperObjects = new HashMap<FactoryParameterKey, Object>();
helperObjects.put( new FactoryParameterKey( "pentahoBaseURL" ), fullyQualifiedServerURL ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// trim out the server and port
helperObjects.put( new FactoryParameterKey( "serverBaseURL" ), getBaseServerURL( fullyQualifiedServerURL ) );
//$NON-NLS-1$
helperObjects.put(
new FactoryParameterKey( "solutionRoot" ), PentahoSystem.getApplicationContext().getSolutionPath( "" ) ); //$NON-NLS-1$ //$NON-NLS-2$
// get the host:port portion only
helperObjects.put( new FactoryParameterKey( "hostColonPort" ), getHostColonPort( fullyQualifiedServerURL ) ); //$NON-NLS-1$
// get the requestContextPath
helperObjects
.put(
new FactoryParameterKey( "requestContextPath" ),
PentahoRequestContextHolder.getRequestContext().getContextPath() ); //$NON-NLS-1$
Iterator it = getInputNames().iterator();
while ( it.hasNext() ) {
try {
String inputName = (String) it.next();
// do not store the data as it would always force a cache refresh and it has no bearing
// on how the report definition would be parsed
if ( AbstractJFreeReportComponent.DATACOMPONENT_DATAINPUT.equals( inputName ) ) {
continue;
}
String inputValue = getInputStringValue( inputName );
helperObjects.put( new FactoryParameterKey( inputName ), inputValue );
} catch ( Exception e ) {
//ignore
}
}