Project

General

Profile

1 43883 claudio.at
package eu.dnetlib.actionmanager.blackboard;
2 26600 sandro.lab
3 40089 claudio.at
import eu.dnetlib.actionmanager.rmi.ActionManagerException;
4
import eu.dnetlib.enabling.tools.blackboard.AbstractBlackboardJobListener;
5
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
6 26600 sandro.lab
import org.apache.commons.logging.Log;
7
import org.apache.commons.logging.LogFactory;
8
9 43883 claudio.at
public class BlackboardJobListener extends AbstractBlackboardJobListener {
10 26600 sandro.lab
11 43883 claudio.at
	private static final Log log = LogFactory.getLog(BlackboardJobListener.class);
12 26600 sandro.lab
13 43883 claudio.at
	private JobCallback callback;
14 26600 sandro.lab
15 43883 claudio.at
	public BlackboardJobListener(final JobCallback callback) {
16 26600 sandro.lab
		super();
17
		this.callback = callback;
18
	}
19
20
	@Override
21
	protected void onDone(final BlackboardJob job) {
22
		try {
23
			if (callback != null) {
24 40089 claudio.at
				callback.onDone(job.getParameters());
25 26600 sandro.lab
			}
26
		} catch (Exception e) {
27
			log.error("fail to run a callback function");
28
		}
29
	}
30
31
	@Override
32
	protected void onFailed(final BlackboardJob job) {
33
		try {
34
			if (callback != null) {
35 40089 claudio.at
				callback.onFailed(new ActionManagerException(job.getError()));
36 26600 sandro.lab
			}
37
		} catch (Exception e) {
38
			log.error("fail to run a callback function");
39
		}
40
	}
41
}