Newer
Older
cactus / src / main / java / com / cube / CubeApplication.java
@agalyaramadoss agalyaramadoss on 16 Feb 1 KB version update with 21
package com.cube;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import com.cube.storage.LSMStorageEngine;
import com.cube.cql.QueryExecutor;
import com.cube.sql.SQLExecutor;

import java.io.IOException;

/**
 * Cube Database - Main Application
 */
@SpringBootApplication
public class CubeApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(CubeApplication.class, args);
    }
    
    @Bean
    public LSMStorageEngine storageEngine() throws IOException {
        String dataDir = System.getProperty("cube.datadir", "/tmp/cube-data");
        return new LSMStorageEngine(dataDir);
    }
    
    @Bean
    public QueryExecutor queryExecutor(LSMStorageEngine storageEngine) {
        return new QueryExecutor(storageEngine);
    }
    
    @Bean
    public SQLExecutor sqlExecutor(QueryExecutor queryExecutor, LSMStorageEngine storageEngine) {
        return new SQLExecutor(queryExecutor, storageEngine);
    }
}