private void processReturnOperations ( final ResponseMessage response ) { final List < OperationMessage > ops = response . getOperations ( ) ; // If there are no observable effects, this will be null if ( ops == null ) { return ; } for ( final OperationMessage op : ops ) { final SimpleProxyId < ? > id = this . getId ( op ) ; WriteOperation [ ] toPropagate = null ; // May be null if the server is returning an unpersisted object final WriteOperation effect = op . getOperation ( ) ; if ( effect != null ) { switch ( effect ) { case DELETE : toPropagate = DELETE_ONLY ; break ; case PERSIST : toPropagate = PERSIST_AND_UPDATE ; break ; case UPDATE : toPropagate = UPDATE_ONLY ; break ; default : // Should never reach here throw new RuntimeException ( effect . toString ( ) ) ; } } this . processReturnOperation ( id , op , toPropagate ) ; } assert this . state . returnedProxies . size ( ) == ops . size ( ) ; }
Process an array of OperationMessages .