@Override public void complete ( final Future<M> future ) { logger.debug ( "Request completed" ); try { final M result = future.get (); sendMessage ( handle ( new Response ( this.request ), result ) ); } catch ( final Exception e ) { logger.info ( "Request failure", e ); sendMessage ( new ErrorResponse ( new Response ( this.request ), makeErrorInformation ( e ) ) ); } }
@Override public IoBuffer encodeMessage ( final BinaryContext context, final Object objectMessage ) throws Exception { final org.eclipse.scada.ca.data.message.ErrorResponse value = (org.eclipse.scada.ca.data.message.ErrorResponse)objectMessage; final IoBuffer data = IoBuffer.allocate ( 64 ); data.setAutoExpand ( true ); // encode message base data.putInt ( MESSAGE_CODE ); // number of fields data.put ( (byte)2 ); // encode attributes org.eclipse.scada.core.protocol.ngp.codec.Structures.encodeResponse ( context, data, (byte)1, value.getResponse () ); org.eclipse.scada.core.protocol.ngp.codec.Structures.encodeErrorInformation ( context, data, (byte)2, value.getErrorInformation () ); data.flip (); return data; }
@Override public void complete ( final Future<ResponseMessage> future ) { try { final ResponseMessage result = future.get (); if ( responseClazz.isAssignableFrom ( result.getClass () ) ) { asyncSetResult ( handleResponse ( responseClazz.cast ( result ) ) ); } else if ( result instanceof ErrorResponse ) { asyncSetError ( new OperationException ( ( (ErrorResponse)result ).getErrorInformation ().getMessage () ) ); } else { asyncSetError ( new OperationException ( String.format ( "Wrong reply in message. Expected: %s, Received: %s", responseClazz.getClass (), result.getClass () ) ) ); } } catch ( final Exception e ) { asyncSetError ( e ); } } } );
@Override public IoBuffer encodeMessage ( final BinaryContext context, final Object objectMessage ) throws Exception { final org.eclipse.scada.ca.data.message.ErrorResponse value = (org.eclipse.scada.ca.data.message.ErrorResponse)objectMessage; final IoBuffer data = IoBuffer.allocate ( 64 ); data.setAutoExpand ( true ); // encode message base data.putInt ( MESSAGE_CODE ); // number of fields data.put ( (byte)2 ); // encode attributes org.eclipse.scada.core.protocol.ngp.codec.Structures.encodeResponse ( context, data, (byte)1, value.getResponse () ); org.eclipse.scada.core.protocol.ngp.codec.Structures.encodeErrorInformation ( context, data, (byte)2, value.getErrorInformation () ); data.flip (); return data; }
@Override public void complete ( final Future<ResponseMessage> future ) { try { final ResponseMessage result = future.get (); if ( responseClazz.isAssignableFrom ( result.getClass () ) ) { asyncSetResult ( handleResponse ( responseClazz.cast ( result ) ) ); } else if ( result instanceof ErrorResponse ) { asyncSetError ( new OperationException ( ( (ErrorResponse)result ).getErrorInformation ().getMessage () ) ); } else { asyncSetError ( new OperationException ( String.format ( "Wrong reply in message. Expected: %s, Received: %s", responseClazz.getClass (), result.getClass () ) ) ); } } catch ( final Exception e ) { asyncSetError ( e ); } } } );
@Override public void complete ( final Future<M> future ) { logger.debug ( "Request completed" ); try { final M result = future.get (); sendMessage ( handle ( new Response ( this.request ), result ) ); } catch ( final Exception e ) { logger.info ( "Request failure", e ); sendMessage ( new ErrorResponse ( new Response ( this.request ), makeErrorInformation ( e ) ) ); } }
return new org.eclipse.scada.ca.data.message.ErrorResponse ( response, errorInformation );
return new org.eclipse.scada.ca.data.message.ErrorResponse ( response, errorInformation );