Revision 43987 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultExpressionBuilderConfig.java
DefaultExpressionBuilderConfig.java | ||
---|---|---|
6 | 6 |
import java.util.List; |
7 | 7 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
8 | 8 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager; |
9 |
import org.gvsig.expressionevaluator.MutableSymbolTable; |
|
9 | 10 |
import org.gvsig.expressionevaluator.SymbolTable; |
10 | 11 |
import org.gvsig.expressionevaluator.swing.Element; |
11 | 12 |
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig; |
... | ... | |
21 | 22 |
private List<Element> elements; |
22 | 23 |
private int limit; |
23 | 24 |
private HashMap<String, SymbolTable> symbolTables; |
24 |
private final ExpressionEvaluatorSwingManager manager;
|
|
25 |
private ExpressionEvaluatorSwingManager manager; |
|
25 | 26 |
private boolean scriptsEnabled = true; |
26 | 27 |
|
27 | 28 |
public DefaultExpressionBuilderConfig(ExpressionEvaluatorSwingManager manager) { |
28 | 29 |
this.manager = manager; |
29 |
this.limit = 1000;
|
|
30 |
this.limit = 30;
|
|
30 | 31 |
initSymbolTables(); |
31 | 32 |
} |
32 | 33 |
|
33 | 34 |
private void initSymbolTables() { |
34 | 35 |
ExpressionEvaluatorManager theManager = ExpressionEvaluatorLocator.getManager(); |
35 |
this.addSymbolTable(theManager.getSymbolTable("SQL")); |
|
36 |
this.addSymbolTable(theManager.getSymbolTable("OGC")); |
|
36 |
for (SymbolTable symbolTable : theManager.getSymbolTables()) { |
|
37 |
if( theManager.isAutoload(symbolTable) ) { |
|
38 |
this.addSymbolTable(symbolTable); |
|
39 |
} |
|
40 |
} |
|
37 | 41 |
} |
38 | 42 |
|
39 | 43 |
@Override |
... | ... | |
48 | 52 |
public Collection<SymbolTable> getSymbolTables() { |
49 | 53 |
return Collections.unmodifiableCollection(this.symbolTables.values()); |
50 | 54 |
} |
55 |
|
|
56 |
@Override |
|
57 |
public void addSymbolTable(String name) { |
|
58 |
ExpressionEvaluatorManager theManager = ExpressionEvaluatorLocator.getManager(); |
|
59 |
SymbolTable symbolTable = theManager.getSymbolTable(name); |
|
60 |
if( symbolTable == null ) { |
|
61 |
throw new IllegalArgumentException("Can't locate symbol table '"+name+"'."); |
|
62 |
} |
|
63 |
addSymbolTable(symbolTable); |
|
64 |
} |
|
51 | 65 |
|
52 | 66 |
@Override |
53 | 67 |
public void addSymbolTable(SymbolTable symbolTable) { |
... | ... | |
55 | 69 |
return; |
56 | 70 |
} |
57 | 71 |
if( this.elements!=null ) { |
58 |
throw new RuntimeException();
|
|
72 |
throw new IllegalStateException("Can not add symbol tables once the elements are built.");
|
|
59 | 73 |
} |
60 | 74 |
if( this.symbolTables == null ) { |
61 | 75 |
this.symbolTables = new HashMap<>(); |
Also available in: Unified diff