Importing the DEE

Import the DEE Library

Any of the source dependencies must be included in your project’s POM. You can check Atoti Data Connectors Requirements to ensure your project meets the minimum Atoti Server version requirements. You must also include one dependency for each source you wish to add. All supported sources can be found at Atoti Data Connectors Module Structure.

<!-- CSV data extraction support -->
<dependency>
    <groupId>com.activeviam.io</groupId>
    <artifactId>data-connectors-csv</artifactId>
    <version>${dataconnectors.version}</version>
</dependency>
<!-- In-Memory data extraction support -->
<dependency>
    <groupId>com.activeviam.io</groupId>
    <artifactId>data-connectors-core</artifactId>
    <version>${dataconnectors.version}</version>
</dependency>

Maven Property Management

The external properties are retrieved using the Spring @Value mechanism. For it to work in your project you need to ensure you have the following code in your main Spring Config class.

@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
	final PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
	propertySourcesPlaceholderConfigurer.setIgnoreUnresolvablePlaceholders(true);
	return propertySourcesPlaceholderConfigurer;
}

Importing Configurations

The library offers more verbose calls to the different services exposed by the cube (Queries, Streaming, Json, Xmla, HealthEvent). This is done by additional SpanContext of events using the APM. The DEE library provides the necessary Spring Config files you need to use to enable the DEE in your project so no additional Configuration is required for this additional level of monitoring.

All-In-One Configuration

All config files can easily be added by simply adding the target-specific configuration to your application’s spring config. These config files contain all config files needed for DEE.

Source Target Configuration Class
Local CSV File CsvDataExtractionEngineConfig.class
In Memory InMemoryDataExtractionEngineConfig.class

Example of what your application config should look like:

@Configuration
@Import({
		// Import the Source-Specific Data Extraction Engine
		CsvDataExtractionEngineConfig.class
})
public class ApplicationConfig {
    //...
}

Individual Configuration Files

Optionally, users can import specific configs, below are configs for the CSV target:

CSV Specific Implementation Description
CsvDataExtractionServicesConfig Registers the services for the Data Extraction Engine (ILocalDataExtractionService) and Enhanced Drill-Through ILocalEnhancedDrillthroughService
CsvDataExtractionRestServicesConfig Exposes the services so they can be accessible using REST (work in progress)