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

com.jpattern.gwt.client.communication.direct.PutProxy Maven / Gradle / Ivy

package com.jpattern.gwt.client.communication.direct;

import com.jpattern.gwt.client.ApplicationProxy;
import com.jpattern.gwt.client.communication.AProxy;
import com.jpattern.gwt.client.communication.ICallbackAction;
import com.jpattern.gwt.client.logger.ILogger;
import com.jpattern.shared.result.facade.ICommandFacadeResult;

/**
 * 
 * @author Francesco Cina'
 *
 * @param 
 */
public class PutProxy,Z> extends AProxy {

	private final String url;
	private final Z data;
	private final IServerCallPutAction serverCallPostAction;
	private final Class resultClass;
	private final Class dataClass;

	public PutProxy(IServerCallPutAction serverCallPostAction, Class resultClass, Class dataClass, ICallbackAction callbackAction, String url, Z data) {
		super(callbackAction);
		this.serverCallPostAction = serverCallPostAction;
		this.resultClass = resultClass;
		this.dataClass = dataClass;
		this.url=url;
		this.data = data;
	}
	
	@Override
	protected void execute(ICallbackAction callbackAction) throws Exception {
		ILogger logger = ApplicationProxy.getInstance().getApplicationProvider().getLoggerService().getLogger(this.getClass());
		
		logger.info("Begin execute - call URL " + url);

		try {
			callbackAction.onSuccess( serverCallPostAction.put(resultClass, dataClass, url, data) );
		} catch (Exception e) {
			callbackAction.onError(e);
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy