@ Override public final Object command ( final OCommandRequestText iCommand ) { try { while ( true ) { try { final OCommandExecutor executor = OCommandManager . instance ( ) . getExecutor ( iCommand ) ; // COPY THE CONTEXT FROM THE REQUEST executor . setContext ( iCommand . getContext ( ) ) ; executor . setProgressListener ( iCommand . getProgressListener ( ) ) ; executor . parse ( iCommand ) ; return executeCommand ( iCommand , executor ) ; } catch ( final ORetryQueryException ignore ) { if ( iCommand instanceof OQueryAbstract ) { final OQueryAbstract query = ( OQueryAbstract ) iCommand ; query . reset ( ) ; } } } } catch ( final RuntimeException ee ) { throw logAndPrepareForRethrow ( ee ) ; } catch ( final Error ee ) { throw logAndPrepareForRethrow ( ee , false ) ; } catch ( final Throwable t ) { throw logAndPrepareForRethrow ( t ) ; } }
Executes the command request and return the result back .