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 @ 47248

History | View | Annotate | Download (4.56 KB)

1
package org.gvsig.expressionevaluator.impl;
2

    
3
import org.gvsig.expressionevaluator.DataTypes;
4
import org.gvsig.expressionevaluator.ExpressionEvaluatorLibrary;
5
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
6
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
7
import org.gvsig.expressionevaluator.impl.coercion.CoerceJsonArrayToString;
8
import org.gvsig.expressionevaluator.impl.coercion.CoerceJsonObjectToString;
9
import org.gvsig.expressionevaluator.impl.coercion.CoerceToExpression;
10
import org.gvsig.expressionevaluator.impl.coercion.CoerceToJson.CoerceToJsonArray;
11
import org.gvsig.expressionevaluator.impl.coercion.CoerceToJson.CoerceToJsonObject;
12
import org.gvsig.expressionevaluator.impl.coercion.CoerceToString;
13
import org.gvsig.expressionevaluator.impl.grammars.BasicGrammarFactory;
14
import org.gvsig.expressionevaluator.impl.repr.ReprBoolean;
15
import org.gvsig.expressionevaluator.impl.repr.ReprCharSequence;
16
import org.gvsig.expressionevaluator.impl.repr.ReprDate;
17
import org.gvsig.expressionevaluator.impl.repr.ReprLocalDate;
18
import org.gvsig.expressionevaluator.impl.repr.ReprLocalDateTime;
19
import org.gvsig.expressionevaluator.impl.repr.ReprLocalTime;
20
import org.gvsig.expressionevaluator.impl.repr.ReprNumber;
21
import org.gvsig.expressionevaluator.impl.repr.ReprSQLDate;
22
import org.gvsig.expressionevaluator.impl.repr.ReprSQLTime;
23
import org.gvsig.expressionevaluator.impl.repr.ReprSQLTimestamp;
24
import org.gvsig.expressionevaluator.impl.symboltable.AggregateSymbolTableFactory;
25
import org.gvsig.expressionevaluator.impl.symboltable.BasicImageSymbolTableFactory;
26
import org.gvsig.expressionevaluator.impl.symboltable.BookmarksSymbolTableFactory;
27
import org.gvsig.expressionevaluator.impl.symboltable.FoldersSymbolTableFactory;
28
import org.gvsig.expressionevaluator.impl.symboltable.ProgrammingSymbolTableFactory;
29
import org.gvsig.expressionevaluator.impl.symboltable.SQLSymbolTableFactory;
30
import org.gvsig.expressionevaluator.impl.symboltable.UtilsSymbolTableFactory;
31
import org.gvsig.expressionevaluator.spi.BaseExpressionEvaluator;
32
import org.gvsig.tools.ToolsLibrary;
33
import org.gvsig.tools.ToolsLocator;
34
import org.gvsig.tools.dataTypes.DataTypesManager;
35
import org.gvsig.tools.library.AbstractLibrary;
36
import org.gvsig.tools.library.LibraryException;
37

    
38
public class ExpressionEvaluatorImplLibrary extends AbstractLibrary {
39

    
40
    @Override
41
    public void doRegistration() {
42
        registerAsImplementationOf(ExpressionEvaluatorLibrary.class);
43
        require(ToolsLibrary.class);
44
    }
45

    
46
    @Override
47
    protected void doInitialize() throws LibraryException {
48
        ExpressionEvaluatorLocator.registerManager(DefaultExpressionEvaluatorManager.class);
49
    }
50

    
51
    @Override
52
    protected void doPostInitialize() throws LibraryException {
53
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
54
        
55
        manager.registerSymbolTable(new SQLSymbolTableFactory());
56
        manager.registerSymbolTable(new UtilsSymbolTableFactory());
57
        manager.registerSymbolTable(new BasicImageSymbolTableFactory());
58
        manager.registerSymbolTable(new ProgrammingSymbolTableFactory());
59
        manager.registerSymbolTable(new FoldersSymbolTableFactory());
60
        manager.registerSymbolTable(new AggregateSymbolTableFactory());
61
        manager.registerSymbolTable(new BookmarksSymbolTableFactory());
62

    
63
        manager.registerGrammar(new BasicGrammarFactory());
64
        
65
        DefaultExpression.registerPersistence();
66
        BaseExpressionEvaluator.registerPersistence();
67

    
68
        DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager();
69

    
70
        dataTypesManager.addCoercion(DataTypes.EXPRESSION, new CoerceToExpression());
71
        dataTypesManager.addCoercion(DataTypes.STRING,new CoerceToString());
72
        dataTypesManager.addCoercion(DataTypes.STRING,new CoerceJsonObjectToString());
73
        dataTypesManager.addCoercion(DataTypes.STRING,new CoerceJsonArrayToString());
74
        dataTypesManager.addCoercion(DataTypes.JSONOBJECT, new CoerceToJsonObject());
75
        dataTypesManager.addCoercion(DataTypes.JSONARRAY, new CoerceToJsonArray());
76
        
77
        ToolsLocator.registerScriptManager(DefaultExpressionEvaluatorManager.class);
78
        
79
        ReprBoolean.selfRegister();
80
        ReprCharSequence.selfRegister();
81
        ReprNumber.selfRegister();
82
        ReprDate.selfRegister();
83
        ReprLocalDate.selfRegister();
84
        ReprLocalDateTime.selfRegister();
85
        ReprLocalTime.selfRegister();
86
        ReprSQLDate.selfRegister();
87
        ReprSQLTime.selfRegister();
88
        ReprSQLTimestamp.selfRegister();
89
        DefaultExpression.selfRegister();
90
        
91
    }
92
}
93