public boolean processRequest(String[] processArray, Properties requestProperties, RequestDispatcher dispatcher)
			throws Exception {
		timesProcessed++;

		//success is defined by a successful redirect
		Object result = null;

		try {
			result = dispatcher.handleInvocation(command, requestProperties);
			if (result != null) {
				requestProperties.put("result", result);
			}
		} catch (Exception e) {
			return handleException(processArray, requestProperties, dispatcher, e);
		} catch (Throwable t) {
			System.out.println(new LogEntry("exception occurred in mvc invocation", t));
			throw new RuntimeException("unable to invoke assembly", t);
			//TODO provide string explaining invocationType
/*			throw new ConfigurationException("unable to invoke module '" + moduleId + "' with command-ID '"
					+ commandIdentifier + "' and parameters ("
					+ CollectionSupport.format(requestProperties, ",") + ") for arguments ("
					+ ArraySupport.format(arguments, ",") + ") invocation type=" + invocationType + "", t);
*/
		}

		Iterator i = results.iterator();

		while (i.hasNext()) {
			InvocationResultExpression r = (InvocationResultExpression) i.next();

			if (r.isMatch(result)) {
				return r.processRequest(processArray, requestProperties, dispatcher);
			}
		}
		return false;
	}
public boolean processRequest ( String [ ] processArray , Properties requestProperties , RequestDispatcher dispatcher ) throws Exception { timesProcessed ++ ; Object result = null ; try { result = dispatcher . handleInvocation ( command , requestProperties ) ; if ( result != null ) { requestProperties . put ( "result" , result ) ; } } catch ( Exception e ) { return handleException ( processArray , requestProperties , dispatcher , e ) ; } catch ( Throwable t ) { System . out . println ( new LogEntry ( "exception occurred in mvc invocation" , t ) ) ; throw new RuntimeException ( "unable to invoke assembly" , t ) ; } Iterator i = results . iterator ( ) ; while ( i . hasNext ( ) ) { InvocationResultExpression r = ( InvocationResultExpression ) i . next ( ) ; if ( r . isMatch ( result ) ) { return r . processRequest ( processArray , requestProperties , dispatcher ) ; } } return false ; }
@param processArray
@param requestProperties
@param dispatcher
@return
@throws ConfigurationException