Project

General

Profile

1
package eu.dnetlib.data.actionmanager.blackboard;
2

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

    
9
/**
10
 * Created by claudio on 13/06/16.
11
 */
12
public class ActionManagerBlackboardJobListener extends AbstractBlackboardJobListener {
13

    
14
	private static final Log log = LogFactory.getLog(ActionManagerBlackboardJobListener.class);
15

    
16
	private ActionManagerBlackboardCallback callback;
17

    
18
	public ActionManagerBlackboardJobListener(final ActionManagerBlackboardCallback callback) {
19
		super();
20
		this.callback = callback;
21
	}
22

    
23
	@Override
24
	protected void onDone(final BlackboardJob job) {
25
		try {
26
			if (callback != null) {
27
				callback.onDone(job.getParameters());
28
			}
29
		} catch (Exception e) {
30
			log.error("fail to run a callback function");
31
		}
32
	}
33

    
34
	@Override
35
	protected void onFailed(final BlackboardJob job) {
36
		try {
37
			if (callback != null) {
38
				callback.onFailed(new ActionManagerException(job.getError()));
39
			}
40
		} catch (Exception e) {
41
			log.error("fail to run a callback function");
42
		}
43
	}
44

    
45
}
(4-4/7)