All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jpattern.gwt.client.communication.AServerCallCommand Maven / Gradle / Ivy

package com.jpattern.gwt.client.communication;

import com.jpattern.gwt.client.command.ACommand;
import com.jpattern.gwt.client.logger.ILogger;
import com.jpattern.gwt.client.util.GenericWrapper;
import com.jpattern.shared.result.facade.ICommandFacadeResult;
import com.jpattern.shared.result.ErrorMessage;
import com.jpattern.shared.result.IResult;

/**
 * 
 * @author Francesco Cina'
 *
 * 07/mag/2011
 */
public abstract class AServerCallCommand> extends ACommand {

	
	
	final class ServerCommandCallBack implements ICallbackAction {

		private final IResult commandResult;
		private final GenericWrapper callResult;
		private final ILogger logger;

		public ServerCommandCallBack(IResult commandResult, GenericWrapper callResult) {
			this.logger = getProvider().getLoggerService().getLogger(this.getClass());
			this.commandResult = commandResult;
			this.callResult = callResult;
		}

		@Override
		public void onSuccess(T result) {
			logger.debug("onSuccess ServerCallCommand callback called: " + result.getReturnedObject());
			callResult.setValue(result);
			if (!result.getErrorMessages().isEmpty()) {
				commandResult.getErrorMessages().addAll(result.getErrorMessages());
			}
			callback(commandResult);
		}

		@Override
		public void onError(Throwable exception) {
			commandResult.getErrorMessages().add(new ErrorMessage("Exception on ServerCallCommand callbak", exception.getMessage()));
			logger.error("Exception on ServerCallCommand callbak", exception);
			callback(commandResult);
		}
		
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy