Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.lib / org.gvsig.expressionevaluator.lib.impl / src / main / java / org / gvsig / expressionevaluator / impl / ExpressionEvaluatorImplLibrary.java @ 44592

History | View | Annotate | Download (2.83 KB)

1
package org.gvsig.expressionevaluator.impl;
2

    
3
import org.cresques.ProjectionLibrary;
4
import org.gvsig.expressionevaluator.DataTypes;
5
import org.gvsig.expressionevaluator.ExpressionEvaluatorLibrary;
6
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
7
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
8
import org.gvsig.expressionevaluator.impl.coercion.CoerceToExpression;
9
import org.gvsig.expressionevaluator.impl.coercion.CoerceToString;
10
import org.gvsig.expressionevaluator.impl.grammars.BasicGrammarFactory;
11
import org.gvsig.expressionevaluator.impl.symboltable.BasicImageSymbolTableFactory;
12
import org.gvsig.expressionevaluator.impl.symboltable.FoldersSymbolTableFactory;
13
import org.gvsig.expressionevaluator.impl.symboltable.OGCSymbolTableFactory;
14
import org.gvsig.expressionevaluator.impl.symboltable.ProgrammingSymbolTableFactory;
15
import org.gvsig.expressionevaluator.impl.symboltable.SQLSymbolTableFactory;
16
import org.gvsig.expressionevaluator.impl.symboltable.UtilsSymbolTableFactory;
17
import org.gvsig.fmap.geom.GeometryLibrary;
18
import org.gvsig.tools.ToolsLibrary;
19
import org.gvsig.tools.ToolsLocator;
20
import org.gvsig.tools.dataTypes.DataTypesManager;
21
import org.gvsig.tools.library.AbstractLibrary;
22
import org.gvsig.tools.library.LibraryException;
23
import org.gvsig.tools.script.impl.DummyScriptManager;
24

    
25
public class ExpressionEvaluatorImplLibrary extends AbstractLibrary {
26

    
27
    @Override
28
    public void doRegistration() {
29
        registerAsImplementationOf(ExpressionEvaluatorLibrary.class);
30
        require(ToolsLibrary.class);
31
        require(ProjectionLibrary.class);
32
        require(GeometryLibrary.class);        
33
    }
34

    
35
    @Override
36
    protected void doInitialize() throws LibraryException {
37
        ExpressionEvaluatorLocator.registerManager(DefaultExpressionEvaluatorManager.class);
38
    }
39

    
40
    @Override
41
    protected void doPostInitialize() throws LibraryException {
42
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
43
        
44
        manager.registerSymbolTable(new SQLSymbolTableFactory());
45
        manager.registerSymbolTable(new OGCSymbolTableFactory());
46
        manager.registerSymbolTable(new UtilsSymbolTableFactory());
47
        manager.registerSymbolTable(new BasicImageSymbolTableFactory());
48
        manager.registerSymbolTable(new ProgrammingSymbolTableFactory());
49
        manager.registerSymbolTable(new FoldersSymbolTableFactory());
50

    
51
        manager.registerGrammar(new BasicGrammarFactory());
52
        
53
        DefaultExpression.registerPersistence();
54

    
55
        DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager();
56

    
57
        dataTypesManager.setCoercion(DataTypes.EXPRESSION, new CoerceToExpression());
58
        dataTypesManager.addCoercion(DataTypes.STRING,new CoerceToString());
59
        
60
        ToolsLocator.registerScriptManager(DefaultExpressionEvaluatorManager.class);
61
    }
62
}
63