public int execute() {
PentahoSystem.systemEntryPoint();
try {
StandaloneSession session = new StandaloneSession( userId );
solutionEngine = PentahoSystem.get( SolutionEngine.class, session );
solutionEngine.init( session );
SimpleParameterProvider parameterProvider = new SimpleParameterProvider( parameters );
HashMap<String, IParameterProvider> parameterProviderMap = new HashMap<String, IParameterProvider>();
parameterProviderMap.put( IParameterProvider.SCOPE_REQUEST, parameterProvider );
IPentahoRequestContext requestContext = PentahoRequestContextHolder.getRequestContext();
IPentahoUrlFactory urlFactory = new SimpleUrlFactory( requestContext.getContextPath() );
String processName = description;
boolean persisted = false;
List messages = new ArrayList();
outputStream = new ByteArrayOutputStream( 0 );
SimpleOutputHandler outputHandler = null;
if ( outputStream != null ) {
outputHandler = new SimpleOutputHandler( outputStream, false );
outputHandler.setOutputPreference( IOutputHandler.OUTPUT_TYPE_DEFAULT );
}
solutionEngine.execute( actionSequence, processName, false, true, null, persisted, parameterProviderMap,
outputHandler, null, urlFactory, messages );
} finally {
PentahoSystem.systemExitPoint();
}
return solutionEngine.getStatus();
}