diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/MySpringConfiguration.java b/pdb-ui/src/main/java/org/lucares/pdbui/MySpringConfiguration.java index bd764da..f5a9b10 100644 --- a/pdb-ui/src/main/java/org/lucares/pdbui/MySpringConfiguration.java +++ b/pdb-ui/src/main/java/org/lucares/pdbui/MySpringConfiguration.java @@ -1,5 +1,13 @@ package org.lucares.pdbui; +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.lucares.performance.db.PerformanceDb; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableAsync; @@ -9,4 +17,14 @@ import org.springframework.scheduling.annotation.EnableAsync; @ComponentScan("org.lucares.pdbui") public class MySpringConfiguration { + private static final Logger LOGGER = LoggerFactory.getLogger(MySpringConfiguration.class); + + @Bean + PerformanceDb performanceDb(@Value("${db.base}") final String dbBaseDir) { + final Path dataDirectory = Paths.get(dbBaseDir); + + LOGGER.info("using database in {}", dataDirectory.toAbsolutePath()); + + return new PerformanceDb(dataDirectory); + } } diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/PdbController.java b/pdb-ui/src/main/java/org/lucares/pdbui/PdbController.java index 3c6c70d..df245d8 100644 --- a/pdb-ui/src/main/java/org/lucares/pdbui/PdbController.java +++ b/pdb-ui/src/main/java/org/lucares/pdbui/PdbController.java @@ -17,6 +17,7 @@ import org.lucares.pdbui.domain.AutocompleteResponse; import org.lucares.pdbui.domain.PlotRequest; import org.lucares.pdbui.domain.PlotResponse; import org.lucares.performance.db.CollectionUtils; +import org.lucares.performance.db.PerformanceDb; import org.lucares.recommind.logs.DataSeries; import org.lucares.recommind.logs.InternalPlottingException; import org.lucares.recommind.logs.NoDataPointsException; @@ -46,9 +47,9 @@ public class PdbController implements HardcodedValues, CollectionUtils { private static final DateTimeFormatter DATE_FORMAT_END = DateTimeFormatter.ofPattern("yyyy-MM-dd 23:59:59"); private final Plotter plotter; - private final PdbRepository db; + private final PerformanceDb db; - public PdbController(final PdbRepository db, final Plotter plotter) { + public PdbController(final PerformanceDb db, final Plotter plotter) { this.db = db; this.plotter = plotter; } @@ -113,7 +114,7 @@ public class PdbController implements HardcodedValues, CollectionUtils { ) @ResponseBody List fields() { - final List fields = db.getDb().getFields(); + final List fields = db.getFields(); return fields; } @@ -128,7 +129,7 @@ public class PdbController implements HardcodedValues, CollectionUtils { @RequestParam(name = "query") final String query) { try { - final List fields = db.getDb().getFieldsValues(query, fieldName); + final List fields = db.getFieldsValues(query, fieldName); return fields; } catch (final FieldNotExistsException e) { diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/PdbRepository.java b/pdb-ui/src/main/java/org/lucares/pdbui/PdbRepository.java deleted file mode 100644 index a7b927e..0000000 --- a/pdb-ui/src/main/java/org/lucares/pdbui/PdbRepository.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.lucares.pdbui; - -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; - -import org.lucares.ludb.Proposal; -import org.lucares.performance.db.PerformanceDb; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.DisposableBean; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Repository; - -@Repository -public class PdbRepository implements DisposableBean { - private static final Logger LOGGER = LoggerFactory.getLogger(PdbRepository.class); - - private final PerformanceDb db; - - public PdbRepository(@Value("${db.base}") final String dbBaseDir) { - final Path dataDirectory = Paths.get(dbBaseDir); - - LOGGER.info("using database in {}", dataDirectory.toAbsolutePath()); - - this.db = new PerformanceDb(dataDirectory); - } - - public PerformanceDb getDb() { - return db; - } - - public List autocomplete(final String query, final int caretIndex) { - return db.autocomplete(query, caretIndex); - } - - @Override - public void destroy() { - db.close(); - } -} diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/PlotterBeanFactory.java b/pdb-ui/src/main/java/org/lucares/pdbui/PlotterBeanFactory.java index 85a860d..3f2dd1f 100644 --- a/pdb-ui/src/main/java/org/lucares/pdbui/PlotterBeanFactory.java +++ b/pdb-ui/src/main/java/org/lucares/pdbui/PlotterBeanFactory.java @@ -19,9 +19,9 @@ public class PlotterBeanFactory extends AbstractFactoryBean implements private final Path outputDir; @Autowired - public PlotterBeanFactory(final PdbRepository dbRepository, @Value("${" + TMP_DIR + "}") final String tmpDir, + public PlotterBeanFactory(final PerformanceDb db, @Value("${" + TMP_DIR + "}") final String tmpDir, @Value("${" + PATH_GENERATED_IMAGES + "}") final String outputDir) { - this.db = dbRepository.getDb(); + this.db = db; this.tmpDir = Paths.get(tmpDir); this.outputDir = Paths.get(outputDir); } diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/TcpIngestor.java b/pdb-ui/src/main/java/org/lucares/pdbui/TcpIngestor.java index ca2e293..9854303 100644 --- a/pdb-ui/src/main/java/org/lucares/pdbui/TcpIngestor.java +++ b/pdb-ui/src/main/java/org/lucares/pdbui/TcpIngestor.java @@ -167,8 +167,8 @@ public class TcpIngestor implements Ingestor, AutoCloseable, DisposableBean { } @Autowired - public TcpIngestor(final PdbRepository pdbRepository) { - db = pdbRepository.getDb(); + public TcpIngestor(final PerformanceDb db) { + this.db = db; } @Async