Project

General

Profile

1
package eu.dnetlib.actionmanager.blackboard;
2

    
3
import eu.dnetlib.actionmanager.rmi.ActionManagerException;
4
import eu.dnetlib.enabling.tools.blackboard.AbstractBlackboardJobListener;
5
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
6
import org.apache.commons.logging.Log;
7
import org.apache.commons.logging.LogFactory;
8

    
9
public class BlackboardJobListener extends AbstractBlackboardJobListener {
10

    
11
	private static final Log log = LogFactory.getLog(BlackboardJobListener.class);
12

    
13
	private JobCallback callback;
14

    
15
	public BlackboardJobListener(final JobCallback callback) {
16
		super();
17
		this.callback = callback;
18
	}
19

    
20
	@Override
21
	protected void onDone(final BlackboardJob job) {
22
		try {
23
			if (callback != null) {
24
				callback.onDone(job.getParameters());
25
			}
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
				callback.onFailed(new ActionManagerException(job.getError()));
36
			}
37
		} catch (Exception e) {
38
			log.error("fail to run a callback function");
39
		}
40
	}
41
}
(3-3/7)