if ( listItem instanceof IActionSequence ) {
validateComponents( (IActionSequence) listItem, execListener );
} else if ( listItem instanceof ISolutionActionDefinition ) {
ISolutionActionDefinition actionDef = (ISolutionActionDefinition) listItem;
if ( RuntimeContext.debug ) {
debug( Messages.getInstance().getString(
"RuntimeContext.DEBUG_VALIDATING_COMPONENT", actionDef.getComponentName() ) ); //$NON-NLS-1$
}
IComponent component = null;
try {
component = resolveComponent( actionDef, instanceId, processId, session );
component.setLoggingLevel( loggingLevel );
// allow the ActionDefinition to cache the component
actionDef.setComponent( component );
paramManager.setCurrentParameters( actionDef );
/*
* We need to catch checked and unchecked exceptions here so we can create an ActionSequeceException with
* contextual information, including the root cause. Allowing unchecked exceptions to pass through would
* prevent valuable feedback in the log or response.
*/
} catch ( Throwable ex ) {
ActionDefinition actionDefinition = new ActionDefinition( (Element) actionDef.getNode(), null );
throw new ActionValidationException( Messages.getInstance().getErrorString(
"RuntimeContext.ERROR_0009_COULD_NOT_CREATE_COMPONENT", actionDef.getComponentName().trim() ), ex, //$NON-NLS-1$
session.getName(), instanceId, getActionSequence().getSequenceName(), actionDefinition.getDescription(),
actionDefinition.getComponentName() );
}
int validateResult = IRuntimeContext.RUNTIME_CONTEXT_VALIDATE_OK;