package hk.hku.cecid.ebms.spa.task;
import hk.hku.cecid.ebms.pkg.EbxmlMessage;
import hk.hku.cecid.ebms.spa.EbmsProcessor;
import hk.hku.cecid.piazza.commons.module.EventModule;
public class EbmsEventModule extends EventModule<EbmsEventListener> {
public EbmsEventModule(String descriptorLocation, ClassLoader loader) {
super(descriptorLocation, loader);
}
public EbmsEventModule(String descriptorLocation, boolean shouldInitialize) {
super(descriptorLocation, shouldInitialize);
}
public EbmsEventModule(String descriptorLocation, ClassLoader loader, boolean shouldInitialize) {
super(descriptorLocation, loader, shouldInitialize);
}
public EbmsEventModule(String descriptorLocation) {
super(descriptorLocation);
}
public void fireMessageSent(EbxmlMessage requestMessage) {
int listenerCount = eventListenerList.size();
for (int i=0; i<listenerCount; ++i) {
try {
EbmsProcessor.core.log.info(
"Trigger event listener - " + eventListenerList.get(i).getClass().getName());
eventListenerList.get(i).messageSent(requestMessage);
} catch (Throwable e) {
getLogger().error("Error occurs when event listener processes message sent event", e);
}
}
}
public void fireMessageReceived(EbxmlMessage requestMessage) {
int listenerCount = eventListenerList.size();
for (int i=0; i<listenerCount; ++i) {
try {
EbmsProcessor.core.log.info(
"Trigger event listener - " + eventListenerList.get(i).getClass().getName());
eventListenerList.get(i).messageReceived(requestMessage);
} catch (Exception e) {
EbmsProcessor.core.log.error("Error occurs when event listener processes message received event", e);
}
}
}
public void fireResponseReceived(EbxmlMessage acknowledgement) {
int listenerCount = eventListenerList.size();
for (int i=0; i<listenerCount; ++i) {
try {
EbmsProcessor.core.log.info(
"Trigger event listener - " + eventListenerList.get(i).getClass().getName());
eventListenerList.get(i).responseReceived(acknowledgement);
} catch (Exception e) {
EbmsProcessor.core.log.error("Error occurs when event listener processes message received event", e);
}
}
}
public void fireErrorOccurred(EbxmlMessage errorMessage) {
int listenerCount = eventListenerList.size();
for (int i=0; i<listenerCount; ++i) {
try {
EbmsProcessor.core.log.info(
"Trigger event listener - " + eventListenerList.get(i).getClass().getName());
eventListenerList.get(i).errorOccurred(errorMessage);
} catch (Exception e) {
EbmsProcessor.core.log.error("Error occurs when event listener processes error occurred event", e);
}
}
}
}