
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