root / trunk / libraries / libExpressions / src / main / java / org / gvsig / expresions / EvalOperatorsTask.java @ 23299
History | View | Annotate | Download (2.91 KB)
1 |
package org.gvsig.expresions; |
---|---|
2 |
|
3 |
import java.util.ArrayList; |
4 |
import java.util.Iterator; |
5 |
|
6 |
import org.apache.bsf.BSFManager; |
7 |
import org.gvsig.baseclasses.IOperator; |
8 |
import org.gvsig.gui.EvalExpressionDialog; |
9 |
|
10 |
import com.iver.andami.PluginServices; |
11 |
import com.iver.andami.messages.NotificationManager; |
12 |
import com.iver.cit.gvsig.fmap.layers.FLyrVect; |
13 |
import com.iver.cit.gvsig.project.documents.table.gui.Table; |
14 |
import com.iver.utiles.extensionPoints.ExtensionPoint; |
15 |
import com.iver.utiles.extensionPoints.ExtensionPoints; |
16 |
import com.iver.utiles.extensionPoints.ExtensionPointsSingleton; |
17 |
import com.iver.utiles.swing.threads.AbstractMonitorableTask; |
18 |
|
19 |
public class EvalOperatorsTask extends AbstractMonitorableTask{ |
20 |
private ExtensionPoint extensionPoint;
|
21 |
private Table table=null; |
22 |
private FLyrVect lyr;
|
23 |
public static final String JYTHON="jython"; |
24 |
public static BSFManager interpreter=new BSFManager(); |
25 |
private static ArrayList<IOperator> operators=new ArrayList<IOperator>(); |
26 |
public EvalOperatorsTask(FLyrVect lyr){
|
27 |
this.lyr = lyr;
|
28 |
setInitialStep(0);
|
29 |
setDeterminatedProcess(true);
|
30 |
setStatusMessage(PluginServices.getText(this, "charging_operators")+"..."); |
31 |
ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance(); |
32 |
extensionPoint =(ExtensionPoint)extensionPoints.get("ColumnOperatorsExtension");
|
33 |
setFinalStep(extensionPoint.size()+1);
|
34 |
} |
35 |
public void run() throws Exception { |
36 |
NotificationManager.addInfo(PluginServices.getText(this,"charging_operators")); |
37 |
long t1=System.currentTimeMillis(); |
38 |
Iterator iterator = extensionPoint.keySet().iterator();
|
39 |
while (iterator.hasNext()) {
|
40 |
try {
|
41 |
if (isCanceled())
|
42 |
return;
|
43 |
IOperator operator = (IOperator)extensionPoint.create((String)iterator.next());
|
44 |
|
45 |
operator.eval(interpreter); |
46 |
operators.add(operator); |
47 |
reportStep(); |
48 |
setNote(operator.getClass().getName()); |
49 |
} catch (InstantiationException e) { |
50 |
e.printStackTrace(); |
51 |
} catch (IllegalAccessException e) { |
52 |
e.printStackTrace(); |
53 |
} catch (ClassCastException e) { |
54 |
e.printStackTrace(); |
55 |
} |
56 |
} |
57 |
long t2=System.currentTimeMillis(); |
58 |
System.out.println("Tiempo en evaluar y crear del extension point = "+(t2-t1) ); |
59 |
long t3=System.currentTimeMillis(); |
60 |
System.out.println("Tiempo en a?adir los operadores correctos = "+(t3-t2) ); |
61 |
reportStep(); |
62 |
} |
63 |
public void finished() { |
64 |
if (isCanceled())
|
65 |
return;
|
66 |
NotificationManager.addInfo(PluginServices.getText(this,"charged_operators")); |
67 |
EvalExpressionDialog eed=new EvalExpressionDialog(lyr,interpreter,operators);
|
68 |
// EvalExpressionDialog eed=new EvalExpressionDialog(table,interpreter,operators);
|
69 |
PluginServices.getMDIManager().addWindow(eed); |
70 |
} |
71 |
|
72 |
} |