root / org.gvsig.proj / branches / refactor2018 / org.gvsig.proj / org.gvsig.proj.swing / org.gvsig.proj.swing.impl / src / main / java / org / gvsig / proj / swing / impl / tree / GroupLoader.java @ 852
History | View | Annotate | Download (834 Bytes)
1 |
package org.gvsig.proj.swing.impl.tree; |
---|---|
2 |
|
3 |
import java.util.ArrayList; |
4 |
import java.util.concurrent.ExecutionException; |
5 |
|
6 |
import javax.swing.SwingWorker; |
7 |
import javax.swing.tree.TreeNode; |
8 |
|
9 |
import org.slf4j.Logger; |
10 |
import org.slf4j.LoggerFactory; |
11 |
|
12 |
public abstract class GroupLoader extends SwingWorker<ArrayList<TreeNode>, TreeNode> { |
13 |
private static Logger logger = LoggerFactory.getLogger(GroupLoader.class); |
14 |
protected AsyncLoadedGroup caller;
|
15 |
public GroupLoader(AsyncLoadedGroup caller) {
|
16 |
this.caller = caller;
|
17 |
} |
18 |
|
19 |
@Override
|
20 |
protected void done() { |
21 |
super.done();
|
22 |
if (!isCancelled()) {
|
23 |
try {
|
24 |
ArrayList<TreeNode> result = get(); |
25 |
this.caller.loaded(result, this); |
26 |
} catch (InterruptedException | ExecutionException e) { |
27 |
logger.debug(e.getMessage(), e); |
28 |
} |
29 |
} |
30 |
else {
|
31 |
this.caller.cancelled(this); |
32 |
} |
33 |
} |
34 |
} |