From 582dddf17d8c2af5f00ac15e90dd39562e5e34b8 Mon Sep 17 00:00:00 2001 From: vran Date: Sun, 8 May 2022 22:34:43 +0800 Subject: [PATCH] refactor: rename plugin module to meta --- build.gradle | 1 - .../converter/DocumentPojoConverter.java | 5 ++ .../java/com/databasir/core/Databasir.java | 43 ++----------- .../com/databasir/core/DatabasirConfig.java | 13 ---- .../ColumnMetaProvider.java} | 6 +- .../DatabaseMetaProvider.java} | 6 +- .../ForeignKeyMetaProvider.java} | 6 +- .../IndexMetaProvider.java} | 6 +- .../core/meta/provider/MetaProviders.java | 60 +++++++++++++++++++ .../TableMetaProvider.java} | 6 +- .../TriggerMetaProvider.java} | 6 +- .../condition/Condition.java | 2 +- .../condition/TableCondition.java | 2 +- .../jdbc/JdbcColumnMetaProvider.java} | 8 +-- .../jdbc/JdbcDatabaseMetaProvider.java} | 16 ++--- .../jdbc/JdbcForeignKeyMetaProvider.java} | 8 +-- .../jdbc/JdbcIndexMetaProvider.java} | 8 +-- .../jdbc/JdbcTableMetaProvider.java} | 26 ++++---- .../jdbc/JdbcTriggerMetaProvider.java} | 8 +-- .../mysql/MysqlTableTriggerMetaProvider.java} | 8 +-- 20 files changed, 131 insertions(+), 113 deletions(-) rename meta/src/main/java/com/databasir/core/meta/{repository/ColumnMetaRepository.java => provider/ColumnMetaProvider.java} (55%) rename meta/src/main/java/com/databasir/core/meta/{repository/DatabaseMetaRepository.java => provider/DatabaseMetaProvider.java} (56%) rename meta/src/main/java/com/databasir/core/meta/{repository/ForeignKeyMetaRepository.java => provider/ForeignKeyMetaProvider.java} (56%) rename meta/src/main/java/com/databasir/core/meta/{repository/IndexMetaRepository.java => provider/IndexMetaProvider.java} (55%) create mode 100644 meta/src/main/java/com/databasir/core/meta/provider/MetaProviders.java rename meta/src/main/java/com/databasir/core/meta/{repository/TableMetaRepository.java => provider/TableMetaProvider.java} (55%) rename meta/src/main/java/com/databasir/core/meta/{repository/TriggerMetaRepository.java => provider/TriggerMetaProvider.java} (55%) rename meta/src/main/java/com/databasir/core/meta/{repository => provider}/condition/Condition.java (94%) rename meta/src/main/java/com/databasir/core/meta/{repository => provider}/condition/TableCondition.java (92%) rename meta/src/main/java/com/databasir/core/meta/{repository/impl/jdbc/JdbcColumnMetaRepository.java => provider/jdbc/JdbcColumnMetaProvider.java} (95%) rename meta/src/main/java/com/databasir/core/meta/{repository/impl/jdbc/JdbcDatabaseMetaRepository.java => provider/jdbc/JdbcDatabaseMetaProvider.java} (78%) rename meta/src/main/java/com/databasir/core/meta/{repository/impl/jdbc/JdbcForeignKeyMetaRepository.java => provider/jdbc/JdbcForeignKeyMetaProvider.java} (92%) rename meta/src/main/java/com/databasir/core/meta/{repository/impl/jdbc/JdbcIndexMetaRepository.java => provider/jdbc/JdbcIndexMetaProvider.java} (89%) rename meta/src/main/java/com/databasir/core/meta/{repository/impl/jdbc/JdbcTableMetaRepository.java => provider/jdbc/JdbcTableMetaProvider.java} (71%) rename meta/src/main/java/com/databasir/core/meta/{repository/impl/jdbc/JdbcTriggerMetaRepository.java => provider/jdbc/JdbcTriggerMetaProvider.java} (56%) rename meta/src/main/java/com/databasir/core/meta/{repository/impl/extension/MysqlTableTriggerMetaRepository.java => provider/mysql/MysqlTableTriggerMetaProvider.java} (90%) diff --git a/build.gradle b/build.gradle index 000960c..78f7c55 100644 --- a/build.gradle +++ b/build.gradle @@ -55,7 +55,6 @@ subprojects { implementation "com.alibaba:easyexcel:${easyExcelVersion}" implementation "org.freemarker:freemarker:${freemarkerVersion}" implementation "commons-io:commons-io:${commonsIoVersion}" - } test { diff --git a/core/src/main/java/com/databasir/core/domain/document/converter/DocumentPojoConverter.java b/core/src/main/java/com/databasir/core/domain/document/converter/DocumentPojoConverter.java index f18b199..24053bf 100644 --- a/core/src/main/java/com/databasir/core/domain/document/converter/DocumentPojoConverter.java +++ b/core/src/main/java/com/databasir/core/domain/document/converter/DocumentPojoConverter.java @@ -7,6 +7,8 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.ReportingPolicy; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.stream.Collectors; @@ -61,6 +63,9 @@ public interface DocumentPojoConverter { TableTriggerDocumentPojo toTriggerPojo(Integer databaseDocumentId, Integer tableDocumentId, TriggerMeta meta); + default LocalDateTime toLocalDateTime(String dateTime) { + return LocalDateTime.parse(dateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } default List toForeignKeyPojo(Integer docId, Integer tableMetaId, diff --git a/meta/src/main/java/com/databasir/core/Databasir.java b/meta/src/main/java/com/databasir/core/Databasir.java index d1a4426..36ea9f9 100644 --- a/meta/src/main/java/com/databasir/core/Databasir.java +++ b/meta/src/main/java/com/databasir/core/Databasir.java @@ -1,9 +1,8 @@ package com.databasir.core; import com.databasir.core.meta.data.DatabaseMeta; -import com.databasir.core.meta.repository.*; -import com.databasir.core.meta.repository.condition.Condition; -import com.databasir.core.meta.repository.impl.jdbc.*; +import com.databasir.core.meta.provider.MetaProviders; +import com.databasir.core.meta.provider.condition.Condition; import com.databasir.core.render.Render; import com.databasir.core.render.RenderConfig; import lombok.Getter; @@ -27,7 +26,9 @@ public class Databasir { .ignoreTableNameRegex(config.getIgnoreTableNameRegex()) .ignoreTableColumnNameRegex(config.getIgnoreTableColumnNameRegex()) .build(); - return config.getDatabaseMetaRepository().select(connection, condition); + return MetaProviders + .of(connection) + .select(connection, condition); } public void renderAsMarkdown(DatabaseMeta meta, OutputStream out) throws IOException { @@ -43,40 +44,6 @@ public class Databasir { } public static Databasir of(DatabasirConfig config) { - TriggerMetaRepository triggerMetaRepository = config.getTriggerMetaRepository(); - if (triggerMetaRepository == null) { - triggerMetaRepository = new JdbcTriggerMetaRepository(); - } - IndexMetaRepository indexMetaRepository = config.getIndexMetaRepository(); - if (indexMetaRepository == null) { - indexMetaRepository = new JdbcIndexMetaRepository(); - } - ColumnMetaRepository columnMetaRepository = config.getColumnMetaRepository(); - if (columnMetaRepository == null) { - columnMetaRepository = new JdbcColumnMetaRepository(); - } - ForeignKeyMetaRepository foreignKeyMetaRepository = config.getForeignKeyMetaRepository(); - if (foreignKeyMetaRepository == null) { - foreignKeyMetaRepository = new JdbcForeignKeyMetaRepository(); - } - TableMetaRepository tableMetaRepository = config.getTableMetaRepository(); - if (tableMetaRepository == null) { - tableMetaRepository = new JdbcTableMetaRepository( - columnMetaRepository, - indexMetaRepository, - triggerMetaRepository, - foreignKeyMetaRepository - ); - } - DatabaseMetaRepository databaseMetaRepository = config.getDatabaseMetaRepository(); - if (databaseMetaRepository == null) { - databaseMetaRepository = new JdbcDatabaseMetaRepository(tableMetaRepository); - } - config.setTriggerMetaRepository(triggerMetaRepository); - config.setIndexMetaRepository(indexMetaRepository); - config.setColumnMetaRepository(columnMetaRepository); - config.setTableMetaRepository(tableMetaRepository); - config.setDatabaseMetaRepository(databaseMetaRepository); return new Databasir(config); } diff --git a/meta/src/main/java/com/databasir/core/DatabasirConfig.java b/meta/src/main/java/com/databasir/core/DatabasirConfig.java index 744d0a0..8e973ff 100644 --- a/meta/src/main/java/com/databasir/core/DatabasirConfig.java +++ b/meta/src/main/java/com/databasir/core/DatabasirConfig.java @@ -1,6 +1,5 @@ package com.databasir.core; -import com.databasir.core.meta.repository.*; import lombok.Getter; import lombok.Setter; @@ -11,18 +10,6 @@ import java.util.HashSet; @Setter public class DatabasirConfig { - private IndexMetaRepository indexMetaRepository; - - private TriggerMetaRepository triggerMetaRepository; - - private ColumnMetaRepository columnMetaRepository; - - private ForeignKeyMetaRepository foreignKeyMetaRepository; - - private TableMetaRepository tableMetaRepository; - - private DatabaseMetaRepository databaseMetaRepository; - private Collection ignoreTableNameRegex = new HashSet<>(); private Collection ignoreTableColumnNameRegex = new HashSet<>(); diff --git a/meta/src/main/java/com/databasir/core/meta/repository/ColumnMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/ColumnMetaProvider.java similarity index 55% rename from meta/src/main/java/com/databasir/core/meta/repository/ColumnMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/ColumnMetaProvider.java index fbf3829..51e0b00 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/ColumnMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/ColumnMetaProvider.java @@ -1,12 +1,12 @@ -package com.databasir.core.meta.repository; +package com.databasir.core.meta.provider; import com.databasir.core.meta.data.ColumnMeta; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.condition.TableCondition; import java.sql.Connection; import java.util.List; -public interface ColumnMetaRepository { +public interface ColumnMetaProvider { List selectColumns(Connection connection, TableCondition condition); diff --git a/meta/src/main/java/com/databasir/core/meta/repository/DatabaseMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/DatabaseMetaProvider.java similarity index 56% rename from meta/src/main/java/com/databasir/core/meta/repository/DatabaseMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/DatabaseMetaProvider.java index b027c06..aeba7c3 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/DatabaseMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/DatabaseMetaProvider.java @@ -1,12 +1,12 @@ -package com.databasir.core.meta.repository; +package com.databasir.core.meta.provider; import com.databasir.core.meta.data.DatabaseMeta; -import com.databasir.core.meta.repository.condition.Condition; +import com.databasir.core.meta.provider.condition.Condition; import java.sql.Connection; import java.util.Optional; -public interface DatabaseMetaRepository { +public interface DatabaseMetaProvider { Optional select(Connection connection, Condition condition); diff --git a/meta/src/main/java/com/databasir/core/meta/repository/ForeignKeyMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/ForeignKeyMetaProvider.java similarity index 56% rename from meta/src/main/java/com/databasir/core/meta/repository/ForeignKeyMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/ForeignKeyMetaProvider.java index 42f0f5f..b81d295 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/ForeignKeyMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/ForeignKeyMetaProvider.java @@ -1,12 +1,12 @@ -package com.databasir.core.meta.repository; +package com.databasir.core.meta.provider; import com.databasir.core.meta.data.ForeignKeyMeta; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.condition.TableCondition; import java.sql.Connection; import java.util.List; -public interface ForeignKeyMetaRepository { +public interface ForeignKeyMetaProvider { List selectForeignKeys(Connection connection, TableCondition condition); diff --git a/meta/src/main/java/com/databasir/core/meta/repository/IndexMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/IndexMetaProvider.java similarity index 55% rename from meta/src/main/java/com/databasir/core/meta/repository/IndexMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/IndexMetaProvider.java index f62ca3b..83a9da1 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/IndexMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/IndexMetaProvider.java @@ -1,12 +1,12 @@ -package com.databasir.core.meta.repository; +package com.databasir.core.meta.provider; import com.databasir.core.meta.data.IndexMeta; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.condition.TableCondition; import java.sql.Connection; import java.util.List; -public interface IndexMetaRepository { +public interface IndexMetaProvider { List selectIndexes(Connection connection, TableCondition condition); } diff --git a/meta/src/main/java/com/databasir/core/meta/provider/MetaProviders.java b/meta/src/main/java/com/databasir/core/meta/provider/MetaProviders.java new file mode 100644 index 0000000..8f798c7 --- /dev/null +++ b/meta/src/main/java/com/databasir/core/meta/provider/MetaProviders.java @@ -0,0 +1,60 @@ +package com.databasir.core.meta.provider; + +import com.databasir.core.meta.provider.jdbc.*; +import com.databasir.core.meta.provider.mysql.MysqlTableTriggerMetaProvider; +import lombok.extern.slf4j.Slf4j; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.SQLException; + +@Slf4j +public class MetaProviders { + + public static DatabaseMetaProvider jdbc() { + var columnMetaProvider = new JdbcColumnMetaProvider(); + var foreignKeyMetaProvider = new JdbcForeignKeyMetaProvider(); + var indexMetaProvider = new JdbcIndexMetaProvider(); + var triggerMetaProvider = new JdbcTriggerMetaProvider(); + var tableMetaProvider = new JdbcTableMetaProvider( + columnMetaProvider, + indexMetaProvider, + triggerMetaProvider, + foreignKeyMetaProvider + ); + return new JdbcDatabaseMetaProvider(tableMetaProvider); + } + + public static DatabaseMetaProvider of(Connection connection) { + String url; + try { + DatabaseMetaData metaData = connection.getMetaData(); + url = metaData.getURL(); + } catch (SQLException e) { + log.warn("failed to get connect url, {}, fallback to jdbc provider", e.getMessage()); + return jdbc(); + } + if (url.contains(":sqlserver:")) { + return jdbc(); + } + if (url.contains(":mysql:")) { + return mysql(); + } + return jdbc(); + } + + private static DatabaseMetaProvider mysql() { + var columnMetaProvider = new JdbcColumnMetaProvider(); + var foreignKeyMetaProvider = new JdbcForeignKeyMetaProvider(); + var indexMetaProvider = new JdbcIndexMetaProvider(); + var triggerMetaProvider = new MysqlTableTriggerMetaProvider(); + var tableMetaProvider = new JdbcTableMetaProvider( + columnMetaProvider, + indexMetaProvider, + triggerMetaProvider, + foreignKeyMetaProvider + ); + return new JdbcDatabaseMetaProvider(tableMetaProvider); + } + +} diff --git a/meta/src/main/java/com/databasir/core/meta/repository/TableMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/TableMetaProvider.java similarity index 55% rename from meta/src/main/java/com/databasir/core/meta/repository/TableMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/TableMetaProvider.java index e651272..168699c 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/TableMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/TableMetaProvider.java @@ -1,12 +1,12 @@ -package com.databasir.core.meta.repository; +package com.databasir.core.meta.provider; import com.databasir.core.meta.data.TableMeta; -import com.databasir.core.meta.repository.condition.Condition; +import com.databasir.core.meta.provider.condition.Condition; import java.sql.Connection; import java.util.List; -public interface TableMetaRepository { +public interface TableMetaProvider { List selectTables(Connection connection, Condition condition); diff --git a/meta/src/main/java/com/databasir/core/meta/repository/TriggerMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/TriggerMetaProvider.java similarity index 55% rename from meta/src/main/java/com/databasir/core/meta/repository/TriggerMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/TriggerMetaProvider.java index f7acaf0..640f6c3 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/TriggerMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/TriggerMetaProvider.java @@ -1,12 +1,12 @@ -package com.databasir.core.meta.repository; +package com.databasir.core.meta.provider; import com.databasir.core.meta.data.TriggerMeta; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.condition.TableCondition; import java.sql.Connection; import java.util.List; -public interface TriggerMetaRepository { +public interface TriggerMetaProvider { List selectTriggers(Connection connection, TableCondition condition); diff --git a/meta/src/main/java/com/databasir/core/meta/repository/condition/Condition.java b/meta/src/main/java/com/databasir/core/meta/provider/condition/Condition.java similarity index 94% rename from meta/src/main/java/com/databasir/core/meta/repository/condition/Condition.java rename to meta/src/main/java/com/databasir/core/meta/provider/condition/Condition.java index 0d962fa..d2d457f 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/condition/Condition.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/condition/Condition.java @@ -1,4 +1,4 @@ -package com.databasir.core.meta.repository.condition; +package com.databasir.core.meta.provider.condition; import lombok.Builder; import lombok.Getter; diff --git a/meta/src/main/java/com/databasir/core/meta/repository/condition/TableCondition.java b/meta/src/main/java/com/databasir/core/meta/provider/condition/TableCondition.java similarity index 92% rename from meta/src/main/java/com/databasir/core/meta/repository/condition/TableCondition.java rename to meta/src/main/java/com/databasir/core/meta/provider/condition/TableCondition.java index dba3828..21cdcd3 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/condition/TableCondition.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/condition/TableCondition.java @@ -1,4 +1,4 @@ -package com.databasir.core.meta.repository.condition; +package com.databasir.core.meta.provider.condition; import lombok.Getter; import lombok.NonNull; diff --git a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcColumnMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcColumnMetaProvider.java similarity index 95% rename from meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcColumnMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcColumnMetaProvider.java index 1209e2b..3675caa 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcColumnMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcColumnMetaProvider.java @@ -1,8 +1,8 @@ -package com.databasir.core.meta.repository.impl.jdbc; +package com.databasir.core.meta.provider.jdbc; import com.databasir.core.meta.data.ColumnMeta; -import com.databasir.core.meta.repository.ColumnMetaRepository; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.ColumnMetaProvider; +import com.databasir.core.meta.provider.condition.TableCondition; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -15,7 +15,7 @@ import java.util.List; @Slf4j @RequiredArgsConstructor -public class JdbcColumnMetaRepository implements ColumnMetaRepository { +public class JdbcColumnMetaProvider implements ColumnMetaProvider { @Override public List selectColumns(Connection connection, TableCondition tableCondition) { diff --git a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcDatabaseMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcDatabaseMetaProvider.java similarity index 78% rename from meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcDatabaseMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcDatabaseMetaProvider.java index 0220ab6..ee2b0df 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcDatabaseMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcDatabaseMetaProvider.java @@ -1,10 +1,10 @@ -package com.databasir.core.meta.repository.impl.jdbc; +package com.databasir.core.meta.provider.jdbc; import com.databasir.core.meta.data.DatabaseMeta; import com.databasir.core.meta.data.TableMeta; -import com.databasir.core.meta.repository.DatabaseMetaRepository; -import com.databasir.core.meta.repository.TableMetaRepository; -import com.databasir.core.meta.repository.condition.Condition; +import com.databasir.core.meta.provider.DatabaseMetaProvider; +import com.databasir.core.meta.provider.TableMetaProvider; +import com.databasir.core.meta.provider.condition.Condition; import lombok.RequiredArgsConstructor; import java.sql.Connection; @@ -16,9 +16,9 @@ import java.util.Objects; import java.util.Optional; @RequiredArgsConstructor -public class JdbcDatabaseMetaRepository implements DatabaseMetaRepository { +public class JdbcDatabaseMetaProvider implements DatabaseMetaProvider { - private final TableMetaRepository tableMetaRepository; + private final TableMetaProvider tableMetaProvider; @Override public Optional select(Connection connection, Condition condition) { @@ -28,7 +28,7 @@ public class JdbcDatabaseMetaRepository implements DatabaseMetaRepository { while (catalogs.next()) { String catalogName = catalogs.getString("TABLE_CAT"); if (Objects.equals(condition.getDatabaseName(), catalogName)) { - List tableDocs = tableMetaRepository.selectTables(connection, condition); + List tableDocs = tableMetaProvider.selectTables(connection, condition); DatabaseMeta meta = DatabaseMeta.builder() .productName(metaData.getDatabaseProductName()) .productVersion(metaData.getDatabaseProductVersion()) @@ -44,7 +44,7 @@ public class JdbcDatabaseMetaRepository implements DatabaseMetaRepository { while (schemas.next()) { String schemaName = schemas.getString("TABLE_SCHEM"); if (Objects.equals(condition.getSchemaName(), schemaName)) { - List tableDocs = tableMetaRepository.selectTables(connection, condition); + List tableDocs = tableMetaProvider.selectTables(connection, condition); DatabaseMeta meta = DatabaseMeta.builder() .productName(metaData.getDatabaseProductName()) .productVersion(metaData.getDatabaseProductVersion()) diff --git a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcForeignKeyMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcForeignKeyMetaProvider.java similarity index 92% rename from meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcForeignKeyMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcForeignKeyMetaProvider.java index 6bbdc4f..08e2759 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcForeignKeyMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcForeignKeyMetaProvider.java @@ -1,8 +1,8 @@ -package com.databasir.core.meta.repository.impl.jdbc; +package com.databasir.core.meta.provider.jdbc; import com.databasir.core.meta.data.ForeignKeyMeta; -import com.databasir.core.meta.repository.ForeignKeyMetaRepository; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.ForeignKeyMetaProvider; +import com.databasir.core.meta.provider.condition.TableCondition; import lombok.extern.slf4j.Slf4j; import java.sql.Connection; @@ -13,7 +13,7 @@ import java.util.ArrayList; import java.util.List; @Slf4j -public class JdbcForeignKeyMetaRepository implements ForeignKeyMetaRepository { +public class JdbcForeignKeyMetaProvider implements ForeignKeyMetaProvider { @Override public List selectForeignKeys(Connection connection, TableCondition condition) { diff --git a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcIndexMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcIndexMetaProvider.java similarity index 89% rename from meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcIndexMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcIndexMetaProvider.java index 3d91e64..3a8ddf5 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcIndexMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcIndexMetaProvider.java @@ -1,8 +1,8 @@ -package com.databasir.core.meta.repository.impl.jdbc; +package com.databasir.core.meta.provider.jdbc; import com.databasir.core.meta.data.IndexMeta; -import com.databasir.core.meta.repository.IndexMetaRepository; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.IndexMetaProvider; +import com.databasir.core.meta.provider.condition.TableCondition; import lombok.extern.slf4j.Slf4j; import java.sql.Connection; @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.*; @Slf4j -public class JdbcIndexMetaRepository implements IndexMetaRepository { +public class JdbcIndexMetaProvider implements IndexMetaProvider { @Override public List selectIndexes(Connection connection, TableCondition condition) { try { diff --git a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcTableMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcTableMetaProvider.java similarity index 71% rename from meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcTableMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcTableMetaProvider.java index 1d329bf..edf6c70 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcTableMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcTableMetaProvider.java @@ -1,10 +1,10 @@ -package com.databasir.core.meta.repository.impl.jdbc; +package com.databasir.core.meta.provider.jdbc; import com.databasir.core.meta.data.ColumnMeta; import com.databasir.core.meta.data.TableMeta; -import com.databasir.core.meta.repository.*; -import com.databasir.core.meta.repository.condition.Condition; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.*; +import com.databasir.core.meta.provider.condition.Condition; +import com.databasir.core.meta.provider.condition.TableCondition; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -16,15 +16,15 @@ import java.util.List; @RequiredArgsConstructor @Slf4j -public class JdbcTableMetaRepository implements TableMetaRepository { +public class JdbcTableMetaProvider implements TableMetaProvider { - private final ColumnMetaRepository columnMetaRepository; + private final ColumnMetaProvider columnMetaProvider; - private final IndexMetaRepository indexMetaRepository; + private final IndexMetaProvider indexMetaProvider; - private final TriggerMetaRepository triggerMetaRepository; + private final TriggerMetaProvider triggerMetaProvider; - private final ForeignKeyMetaRepository foreignKeyMetaRepository; + private final ForeignKeyMetaProvider foreignKeyMetaProvider; @Override public List selectTables(Connection connection, Condition condition) { @@ -51,7 +51,7 @@ public class JdbcTableMetaRepository implements TableMetaRepository { String tableType = tablesResult.getString("TABLE_TYPE"); String tableComment = tablesResult.getString("REMARKS"); TableCondition tableCondition = TableCondition.of(condition, tableName); - List columns = columnMetaRepository.selectColumns(connection, tableCondition); + List columns = columnMetaProvider.selectColumns(connection, tableCondition); if (columns.isEmpty()) { if (log.isWarnEnabled()) { log.warn("ignored table: " + databaseName + "." + tableName @@ -64,9 +64,9 @@ public class JdbcTableMetaRepository implements TableMetaRepository { .type(tableType) .comment(tableComment) .columns(columns) - .foreignKeys(foreignKeyMetaRepository.selectForeignKeys(connection, tableCondition)) - .indexes(indexMetaRepository.selectIndexes(connection, tableCondition)) - .triggers(triggerMetaRepository.selectTriggers(connection, tableCondition)) + .foreignKeys(foreignKeyMetaProvider.selectForeignKeys(connection, tableCondition)) + .indexes(indexMetaProvider.selectIndexes(connection, tableCondition)) + .triggers(triggerMetaProvider.selectTriggers(connection, tableCondition)) .build(); tableMetas.add(tableMeta); } diff --git a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcTriggerMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcTriggerMetaProvider.java similarity index 56% rename from meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcTriggerMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcTriggerMetaProvider.java index 8aa2e2a..10c59f3 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/impl/jdbc/JdbcTriggerMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/jdbc/JdbcTriggerMetaProvider.java @@ -1,14 +1,14 @@ -package com.databasir.core.meta.repository.impl.jdbc; +package com.databasir.core.meta.provider.jdbc; import com.databasir.core.meta.data.TriggerMeta; -import com.databasir.core.meta.repository.TriggerMetaRepository; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.TriggerMetaProvider; +import com.databasir.core.meta.provider.condition.TableCondition; import java.sql.Connection; import java.util.Collections; import java.util.List; -public class JdbcTriggerMetaRepository implements TriggerMetaRepository { +public class JdbcTriggerMetaProvider implements TriggerMetaProvider { @Override public List selectTriggers(Connection connection, TableCondition condition) { diff --git a/meta/src/main/java/com/databasir/core/meta/repository/impl/extension/MysqlTableTriggerMetaRepository.java b/meta/src/main/java/com/databasir/core/meta/provider/mysql/MysqlTableTriggerMetaProvider.java similarity index 90% rename from meta/src/main/java/com/databasir/core/meta/repository/impl/extension/MysqlTableTriggerMetaRepository.java rename to meta/src/main/java/com/databasir/core/meta/provider/mysql/MysqlTableTriggerMetaProvider.java index b29cccb..290848f 100644 --- a/meta/src/main/java/com/databasir/core/meta/repository/impl/extension/MysqlTableTriggerMetaRepository.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/mysql/MysqlTableTriggerMetaProvider.java @@ -1,8 +1,8 @@ -package com.databasir.core.meta.repository.impl.extension; +package com.databasir.core.meta.provider.mysql; import com.databasir.core.meta.data.TriggerMeta; -import com.databasir.core.meta.repository.TriggerMetaRepository; -import com.databasir.core.meta.repository.condition.TableCondition; +import com.databasir.core.meta.provider.TriggerMetaProvider; +import com.databasir.core.meta.provider.condition.TableCondition; import lombok.extern.slf4j.Slf4j; import java.sql.Connection; @@ -14,7 +14,7 @@ import java.util.Collections; import java.util.List; @Slf4j -public class MysqlTableTriggerMetaRepository implements TriggerMetaRepository { +public class MysqlTableTriggerMetaProvider implements TriggerMetaProvider { @Override public List selectTriggers(Connection connection, TableCondition condition) {