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

View differences:

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