1 |
35869
|
claudio.at
|
package eu.dnetlib.msro.workflows.dedup;
|
2 |
35866
|
claudio.at
|
|
3 |
|
|
import org.apache.commons.collections.CollectionUtils;
|
4 |
|
|
import org.apache.commons.logging.Log;
|
5 |
|
|
import org.apache.commons.logging.LogFactory;
|
6 |
|
|
|
7 |
|
|
import com.googlecode.sarasvati.Arc;
|
8 |
|
|
import com.googlecode.sarasvati.Engine;
|
9 |
|
|
import com.googlecode.sarasvati.NodeToken;
|
10 |
|
|
|
11 |
|
|
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
|
12 |
36632
|
claudio.at
|
import eu.dnetlib.msro.workflows.dedup.conf.DedupConfigurationOrchestration;
|
13 |
35866
|
claudio.at
|
import eu.dnetlib.msro.workflows.nodes.blackboard.BlackboardWorkflowJobListener;
|
14 |
|
|
|
15 |
36240
|
claudio.at
|
public class DedupDuplicateScanJobNode extends DedupConfigurationAwareJobNode {
|
16 |
35866
|
claudio.at
|
|
17 |
|
|
private static final Log log = LogFactory.getLog(DedupDuplicateScanJobNode.class); // NOPMD by marko on 11/24/08 5:02 PM
|
18 |
|
|
|
19 |
|
|
private class DedupBlackboardWorkflowJobListener extends BlackboardWorkflowJobListener {
|
20 |
|
|
|
21 |
|
|
public DedupBlackboardWorkflowJobListener(final Engine engine, final NodeToken token) {
|
22 |
|
|
super(engine, token);
|
23 |
|
|
}
|
24 |
|
|
|
25 |
|
|
@Override
|
26 |
|
|
protected void onDone(final BlackboardJob job) {
|
27 |
|
|
|
28 |
36632
|
claudio.at
|
final DedupConfigurationOrchestration confs = dedupConfigurations(getToken());
|
29 |
35866
|
claudio.at
|
|
30 |
36632
|
claudio.at
|
confs.getConfigurations().poll();
|
31 |
35866
|
claudio.at
|
|
32 |
36632
|
claudio.at
|
log.info("checking dedup configs queue, size: " + confs.getConfigurations().size());
|
33 |
35866
|
claudio.at
|
|
34 |
36632
|
claudio.at
|
if (CollectionUtils.isEmpty(confs.getConfigurations())) {
|
35 |
35866
|
claudio.at
|
log.info("dedup similarity scan done");
|
36 |
|
|
super.complete(job, "done");
|
37 |
|
|
} else {
|
38 |
36630
|
claudio.at
|
log.debug("remaining confs: " + confs);
|
39 |
35866
|
claudio.at
|
|
40 |
36417
|
claudio.at
|
getToken().getEnv().setAttribute(getDedupConfigSequenceParam(), confs.toString());
|
41 |
35866
|
claudio.at
|
|
42 |
|
|
super.complete(job, Arc.DEFAULT_ARC);
|
43 |
|
|
}
|
44 |
|
|
}
|
45 |
|
|
}
|
46 |
|
|
|
47 |
|
|
@Override
|
48 |
|
|
protected BlackboardWorkflowJobListener generateBlackboardListener(final Engine engine, final NodeToken token) {
|
49 |
|
|
return new DedupBlackboardWorkflowJobListener(engine, token);
|
50 |
|
|
}
|
51 |
|
|
|
52 |
|
|
}
|