2424import javax .sql .DataSource ;
2525
2626import org .eclipse .daanse .jdbc .db .dialect .api .Dialect ;
27- import org .eclipse .daanse .jdbc .db .dialect .api .DialectResolver ;
27+ import org .eclipse .daanse .jdbc .db .dialect .api .DialectFactory ;
2828import org .eclipse .daanse .mdx .parser .api .MdxParserProvider ;
2929import org .eclipse .daanse .olap .api .AggregationFactory ;
3030import org .eclipse .daanse .olap .api .ConfigConstants ;
3131import org .eclipse .daanse .olap .api .ConnectionProps ;
3232import org .eclipse .daanse .olap .api .Context ;
3333import org .eclipse .daanse .olap .api .Evaluator ;
3434import org .eclipse .daanse .olap .api .Statement ;
35- import org .eclipse .daanse .olap .api .calc .compiler .ExpressionCompiler ;
36-
37- import org .eclipse .daanse .olap .api .aggregator .Aggregator ;
3835import org .eclipse .daanse .olap .api .aggregator .CustomAggregatorFactory ;
36+ import org .eclipse .daanse .olap .api .calc .compiler .ExpressionCompiler ;
3937import org .eclipse .daanse .olap .api .calc .compiler .ExpressionCompilerFactory ;
4038import org .eclipse .daanse .olap .api .function .FunctionService ;
4139import org .eclipse .daanse .olap .common .ExecuteDurationUtil ;
4240import org .eclipse .daanse .olap .core .LoggingEventBus ;
41+ import org .eclipse .daanse .olap .server .ExecutionImpl ;
4342import org .eclipse .daanse .rolap .api .RolapContext ;
44- import org .eclipse .daanse .rolap .aggregator .AvgAggregator ;
45- import org .eclipse .daanse .rolap .aggregator .CountAggregator ;
46- import org .eclipse .daanse .rolap .aggregator .DistinctCountAggregator ;
47- import org .eclipse .daanse .rolap .aggregator .MaxAggregator ;
48- import org .eclipse .daanse .rolap .aggregator .MinAggregator ;
49- import org .eclipse .daanse .rolap .aggregator .SumAggregator ;
50- import org .eclipse .daanse .rolap .aggregator .experimental .NoneAggregator ;
51- import org .eclipse .daanse .rolap .aggregator .experimental .IppAggregator ;
52- import org .eclipse .daanse .rolap .aggregator .experimental .RndAggregator ;
5343import org .eclipse .daanse .rolap .mapping .api .CatalogMappingSupplier ;
5444import org .eclipse .daanse .rolap .mapping .api .model .AccessRoleMapping ;
5545import org .eclipse .daanse .rolap .mapping .api .model .CatalogMapping ;
7767import mondrian .rolap .RolapResultShepherd ;
7868import mondrian .rolap .agg .AggregationManager ;
7969import mondrian .rolap .aggregator .AggregationFactoryImpl ;
80- import org .eclipse .daanse .olap .server .ExecutionImpl ;
8170
8271@ Component (service = Context .class , scope = ServiceScope .SINGLETON )
8372public class BasicContext extends AbstractRolapContext implements RolapContext {
8473
8574 public static final String PID = "org.eclipse.daanse.rolap.core.BasicContext" ;
8675
87- public static final String REF_NAME_DIALECT_RESOLVER = "dialectResolver " ;
76+ public static final String REF_NAME_DIALECT_FACTORY = "dialectFactory " ;
8877 public static final String REF_NAME_DATA_SOURCE = "dataSource" ;
8978 public static final String REF_NAME_CATALOG_MAPPING_SUPPLIER = "catalogMappingSuppier" ;
9079 public static final String REF_NAME_ROLAP_CONTEXT_MAPPING_SUPPLIER = "rolapContextMappingSuppliers" ;
@@ -99,8 +88,8 @@ public class BasicContext extends AbstractRolapContext implements RolapContext {
9988 @ Reference (name = REF_NAME_DATA_SOURCE , target = UnresolvableNamespace .UNRESOLVABLE_FILTER )
10089 private DataSource dataSource = null ;
10190
102- @ Reference (name = REF_NAME_DIALECT_RESOLVER )
103- private DialectResolver dialectResolver = null ;
91+ @ Reference (name = REF_NAME_DIALECT_FACTORY )
92+ private DialectFactory dialectFactory = null ;
10493
10594 @ Reference (name = REF_NAME_CATALOG_MAPPING_SUPPLIER , target = UnresolvableNamespace .UNRESOLVABLE_FILTER , cardinality = ReferenceCardinality .MANDATORY )
10695 private CatalogMappingSupplier catalogMappingSupplier ;
@@ -148,7 +137,7 @@ public void activate1() throws Exception {
148137 queryLimitSemaphore = new Semaphore (getConfigValue (ConfigConstants .QUERY_LIMIT , ConfigConstants .QUERY_LIMIT_DEFAULT_VALUE ,Integer .class ));
149138
150139 try (Connection connection = dataSource .getConnection ()) {
151- Optional <Dialect > optionalDialect = dialectResolver . resolve ( dataSource );
140+ Optional <Dialect > optionalDialect = dialectFactory . tryCreateDialect ( connection );
152141 dialect = optionalDialect .orElseThrow (() -> new Exception (ERR_MSG_DIALECT_INIT ));
153142 aggregationFactory = new AggregationFactoryImpl (dialect , this .getCustomAggregators ());
154143 }
0 commit comments