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

com.jpattern.gwt.client.ManagedErrorService Maven / Gradle / Ivy

There is a newer version: 2.45.7
Show newest version
package com.jpattern.gwt.client;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.jpattern.gwt.client.event.AOnErrorAction;
import com.jpattern.gwt.client.event.IEvent;
import com.jpattern.gwt.client.event.IEventCallback;
import com.jpattern.gwt.client.logger.ILogger;
import com.jpattern.gwt.client.presenter.IPresenter;
import com.jpattern.shared.result.IErrorMessage;

/**
 * 
 * @author Francesco Cina'
 *
 * 21/set/2011
 */
public class ManagedErrorService extends AManagedErrorService {

	private Map> errorActionMap = new HashMap>();
	private final IApplicationProvider provider;
	private final ILogger logger;
	
	public ManagedErrorService(IApplicationProvider provider) {
		this.provider = provider;
		this.logger = provider.getLoggerService().getLogger(getClass());
	}
	
	@Override
	public void register(String errorCodeTrigger, AOnErrorAction onErrorAction) {
		logger.debug("register", "Register errorCodeTrigger: [" + errorCodeTrigger + "]");
		onErrorAction.setProvider(provider);
		if (!errorActionMap.containsKey(errorCodeTrigger)) {
			errorActionMap.put(errorCodeTrigger, new ArrayList());
		}
		errorActionMap.get(errorCodeTrigger).add(onErrorAction);
	}

	@Override
	public  void launch(IErrorMessage errorMessage, IPresenter presenter, IEvent event, IEventCallback eventCallback ) {
		String errorCode = errorMessage.getName();
		if (errorActionMap.containsKey(errorCode)) {
			logger.debug("launch", "Launch errorCodeTrigger: [" + errorCode + "]");
			for ( AOnErrorAction onErrorAction : errorActionMap.get(errorCode) ) {
				onErrorAction.launch(errorMessage, presenter, event, eventCallback);
			}
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy