Search in sources :

Example 1 with IInvocationCallbackService

use of org.jowidgets.invocation.common.api.IInvocationCallbackService in project jo-client-platform by jo-source.

the class MethodImpl method invoke.

@Override
public void invoke(final Object invocationId, final Object parameter) {
    final IInvocationCallbackService invocationCallbackService = invocationServer.getInvocationCallbackService();
    cancelService.registerInvocation(invocationId);
    final IInvocationCallback<Object> invocationCallback = new IInvocationCallback<Object>() {

        @Override
        public void addCancelListener(final ICancelListener cancelListener) {
            cancelService.registerCancelListener(invocationId, cancelListener);
        }

        @Override
        public void finished(final Object result) {
            invocationCallbackService.finished(invocationId, result);
            cancelService.unregisterInvocation(invocationId);
        }

        @Override
        public void exeption(final Throwable exception) {
            invocationCallbackService.exeption(invocationId, exception);
            cancelService.unregisterInvocation(invocationId);
        }
    };
    final IInterimResponseCallback<Object> interimResponseCallback = new IInterimResponseCallback<Object>() {

        @Override
        public void response(final Object progress) {
            invocationCallbackService.interimResponse(invocationId, progress);
        }
    };
    final IInterimRequestCallback<Object, Object> interimRequestCallback = new IInterimRequestCallback<Object, Object>() {

        @Override
        public void request(final IInterimResponseCallback<Object> callback, final Object question) {
            final Object requestId = responseService.register(callback);
            invocationCallbackService.interimRequest(invocationId, requestId, question);
        }
    };
    try {
        methodInvocationService.invoke(invocationCallback, interimResponseCallback, interimRequestCallback, parameter);
    } catch (final Exception e) {
        invocationCallback.exeption(e);
    }
}
Also used : IInterimResponseCallback(org.jowidgets.invocation.service.common.api.IInterimResponseCallback) IInterimRequestCallback(org.jowidgets.invocation.service.common.api.IInterimRequestCallback) IInvocationCallback(org.jowidgets.invocation.service.common.api.IInvocationCallback) IInvocationCallbackService(org.jowidgets.invocation.common.api.IInvocationCallbackService) ICancelListener(org.jowidgets.invocation.service.common.api.ICancelListener)

Aggregations

IInvocationCallbackService (org.jowidgets.invocation.common.api.IInvocationCallbackService)1 ICancelListener (org.jowidgets.invocation.service.common.api.ICancelListener)1 IInterimRequestCallback (org.jowidgets.invocation.service.common.api.IInterimRequestCallback)1 IInterimResponseCallback (org.jowidgets.invocation.service.common.api.IInterimResponseCallback)1 IInvocationCallback (org.jowidgets.invocation.service.common.api.IInvocationCallback)1