
com.jpattern.gwt.client.ManagedErrorService Maven / Gradle / Ivy
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