diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index ca5af78..6845ece 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -13,10 +13,10 @@ name: "CodeQL main" on: push: - branches: [ main ] + branches: [ main, develop ] pull_request: # The branches below must be a subset of the branches above - branches: [ main ] + branches: [ main, develop ] jobs: analyze: @@ -38,6 +38,12 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + - name: Set JDK Version + uses: actions/setup-java@v3 + with: + java-version: '16' + distribution: 'adopt' + # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@v2 diff --git a/.github/workflows/compute-covarage.yml b/.github/workflows/compute-covarage.yml index 4cc9aab..ffc56f6 100644 --- a/.github/workflows/compute-covarage.yml +++ b/.github/workflows/compute-covarage.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: - java-version: '11' + java-version: '16' distribution: 'adopt' - name: Build and test run: cd sqlschema2java-core && mvn clean test jacoco:report coveralls:report -DrepoToken=${{ secrets.coveralls_repo_token }} diff --git a/README.md b/README.md index 59f1f42..fedacf3 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,12 @@ # SQLSchema2Java [![Open Source Love svg1](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/) -[![Publish package to GitHub Packages](https://github.com/Sassine/sqlschema2java/actions/workflows/deploy.yml/badge.svg)](https://github.com/Sassine/sqlschema2java/actions/workflows/deploy.yml) +[![Coverage Status](https://coveralls.io/repos/github/Sassine/sqlschema2java/badge.svg?branch=main)](https://coveralls.io/github/Sassine/sqlschema2java?branch=main) [![CodeQL main](https://github.com/Sassine/sqlschema2java/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/Sassine/sqlschema2java/actions/workflows/codeql-analysis.yml) -[![GitHub release](https://img.shields.io/github/release/Sassine/sqlschema2java.svg)](https://GitHub.com/Sassine/sqlschema2java/releases/) -[![Coverage Status](https://coveralls.io/repos/github/Sassine/sqlschema2java/badge.svg?branch=main)](https://coveralls.io/github/Sassine/sqlschema2java?branch=main) +![Maven Central](https://img.shields.io/maven-central/v/dev.sassine.api/sqlschema2java-core?color=purple&label=SQLSchema2java%20-%20Core&logo=java&logoColor=red&style=flat-square) +![Maven Central](https://img.shields.io/maven-central/v/dev.sassine.api/sqlschema2java-maven-plugin?color=purple&label=SQLSchema2java%20-%20Maven-Plugin&logo=java&logoColor=red&style=flat-square) + ![Logo SQL2JAVA and website adress sassine.dev/sqlschema2java](https://sassine.dev/assets/images/SQLSchema2Java_Logo2.png) @@ -30,30 +31,24 @@ pom.xml dev.sassine.api sqlschema2java-maven-plugin - 1.0.0 + 1.0.0-beta - sqlschema2java + generate - /user/home/example.sql + ./example.sql dev.sassine.api true - false + false - - - github - GitHub Packages SQLSchema2Java - https://maven.pkg.github.com/Sassine/sqlschema2java - - + ``` ### Parameters | Name | required | type | description | @@ -61,7 +56,7 @@ pom.xml | sourceDirectory | true | String | SQL file path | | packageName | true | String | package name with points that will be generated | | useAutoIncrement| false | Boolean| disable or enable whether the primary key will have its value generated automatically | -| isPostgres| true | Boolean | disable or enable query conversion compatible with postgres database | +| usePostgreSQL | true | Boolean | disable or enable query conversion compatible with postgres database | ##### Run command diff --git a/sqlschema2java-core/pom.xml b/sqlschema2java-core/pom.xml index 69fc56d..9a6155a 100644 --- a/sqlschema2java-core/pom.xml +++ b/sqlschema2java-core/pom.xml @@ -55,15 +55,15 @@ 11 11 2.3.1 - 1.2.11 + 1.3.12 12.47.0 1.18.22 2.6.6 - 1.9 + 1.10.0 2.13.2 2.13.2 2.13.2 - 2.13.2.2 + 2.13.4.2 2.17.2 4.13.2 1.6.7 diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/DTOFactory.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/DTOFactory.java index 9320a38..2fb2994 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/DTOFactory.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/DTOFactory.java @@ -3,7 +3,6 @@ import static dev.sassine.api.structure.export.builder.function.ImportBeanFunction.importEntityClass; import static dev.sassine.api.structure.export.builder.function.ImportBeanFunction.importJavaTimeAndJSONDeserialize; import static dev.sassine.api.structure.export.builder.function.StoreClassFuncation.store; -import static java.lang.String.format; import static java.lang.reflect.Modifier.PUBLIC; import static org.apache.logging.log4j.LogManager.getLogger; @@ -33,12 +32,6 @@ public class DTOFactory implements Factory { private static final String PACKAGE_DTO_NAME = "dto"; private static final String METHOD_TO_ENTITY = "toEntity"; private static final String METHOD_RETURN_ENTITY = "return entity;"; - private static final String FORMAT_DTO_CLASSNAME = "%sDTO"; - private static final String FORMAT_ENTITY_CLASSNAME = "%sEntity"; - private static final String FORMAT_NEW_ENTITY_METHOD = "%s entity = new %s();"; - private static final String FORMAT_STRING_FIELDS = "\"%s\""; - private static final String FORMAT_PACKAGE_DOT_PACKAGE = "%s.%s"; - private static final String FORMAT_SET_VALUE = "entity.set%s(this.%s);"; private static final String PARAM_VALUE = "value"; @Override @@ -49,9 +42,7 @@ public void execute(EntityModel entityModel,boolean isAutoGenerated, String name ClassSourceGenerator clDTO = this.buildClassSource(nameClass); log.debug("ClassDTO builded"); importEntityClass(nameClass, packageName, gen); - String nameEntityClass = format(FORMAT_ENTITY_CLASSNAME, nameClass); - log.debug("Prepared EntityClassName ({})",nameEntityClass); - FunctionSourceGenerator fm = this.startFunctionMethod(nameEntityClass); + FunctionSourceGenerator fm = this.startFunctionMethod("%sEntity".formatted(nameClass)); log.debug("Started functionMethod toEntity"); log.debug("Prepare generate ({}) fields", entityModel.getFields().size()); entityModel.getFields().forEach(fieldModel -> { @@ -76,7 +67,7 @@ private void closeMethodFunction(FunctionSourceGenerator functionMethodToEntity) } private void addFunctionToMethodFunction(FunctionSourceGenerator functionMethodToEntity, FieldModel fieldModel) { - functionMethodToEntity.addBodyCodeLine(format(FORMAT_SET_VALUE, fieldModel.getCamelNameUpper(), fieldModel.getCamelName())); + functionMethodToEntity.addBodyCodeLine("entity.set%s(this.%s);".formatted(fieldModel.getCamelNameUpper(), fieldModel.getCamelName())); } private VariableSourceGenerator buildField(FieldModel fieldModel) { @@ -84,26 +75,27 @@ private VariableSourceGenerator buildField(FieldModel fieldModel) { .create(TypeDeclarationSourceGenerator.create(fieldModel.getType()), fieldModel.getCamelName()) .addModifier(Modifier.PRIVATE) .addAnnotation(AnnotationSourceGenerator.create(JsonProperty.class) - .addParameter(PARAM_VALUE,VariableSourceGenerator.create(format(FORMAT_STRING_FIELDS, fieldModel.getName())))); + .addParameter(PARAM_VALUE,VariableSourceGenerator.create("\"%s\"".formatted(fieldModel.getName())))); } private FunctionSourceGenerator startFunctionMethod(String nameEntityClass) { + log.debug("Prepared EntityClassName ({})",nameEntityClass); return FunctionSourceGenerator .create(METHOD_TO_ENTITY) .addModifier(PUBLIC).setReturnType(nameEntityClass) - .addBodyCodeLine(format(FORMAT_NEW_ENTITY_METHOD, nameEntityClass, nameEntityClass)); + .addBodyCodeLine("%s entity = new %s();".formatted(nameEntityClass, nameEntityClass)); } private ClassSourceGenerator buildClassSource(String nameClass) { return ClassSourceGenerator - .create(TypeDeclarationSourceGenerator.create(format(FORMAT_DTO_CLASSNAME, nameClass))) + .create(TypeDeclarationSourceGenerator.create("%sDTO".formatted(nameClass))) .addModifier(PUBLIC).addAnnotation(AnnotationSourceGenerator.create(Getter.class)) .addAnnotation(AnnotationSourceGenerator.create(Setter.class)) .addAnnotation(AnnotationSourceGenerator.create(NoArgsConstructor.class)); } private UnitSourceGenerator buildPackage(String packageName) { - return UnitSourceGenerator.create(format(FORMAT_PACKAGE_DOT_PACKAGE, packageName, PACKAGE_DTO_NAME)); + return UnitSourceGenerator.create("%s.%s".formatted(packageName, PACKAGE_DTO_NAME)); } } diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/EntityFactory.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/EntityFactory.java index e75b309..9b1ce4e 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/EntityFactory.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/EntityFactory.java @@ -5,7 +5,6 @@ import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_DATE; import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_DATE_TIME; import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_TIME; -import static java.lang.String.format; import static java.lang.reflect.Modifier.PRIVATE; import static java.lang.reflect.Modifier.PUBLIC; import static java.util.Objects.nonNull; @@ -42,9 +41,6 @@ public class EntityFactory implements Factory { private static final Logger log = getLogger(); private static final String PACKAGE_DOMAIN_NAME = "domain"; - private static final String FORMAT_ENTITY_CLASSNAME = "%sEntity"; - private static final String FORMAT_STRING_FIELDS = "\"%s\""; - private static final String FORMAT_PACKAGE_DOT_PACKAGE = "%s.%s"; private static final String PARAM_NULLABLE = "nullable"; private static final String PARAM_NAME = "name"; @@ -80,24 +76,24 @@ private void setDefaultValue(VariableSourceGenerator field, FieldModel fieldMode var value = defaultValueLocal.get(fieldModel.getType()); if(nonNull(value)) field.setValue(defaultValueLocal.get(fieldModel.getType())); field.addAnnotation(AnnotationSourceGenerator.create(ColumnDefault.class).addParameter("value", - VariableSourceGenerator.create(format(FORMAT_STRING_FIELDS, fieldModel.getDefaultValue())))); + VariableSourceGenerator.create(stringMarks(fieldModel.getDefaultValue())))); } } private ClassSourceGenerator buildClassSource(EntityModel entityModel, String nameClass) { return ClassSourceGenerator - .create(TypeDeclarationSourceGenerator.create(format(FORMAT_ENTITY_CLASSNAME, nameClass))) + .create(TypeDeclarationSourceGenerator.create("%sEntity".formatted(nameClass))) .addModifier(PUBLIC).addAnnotation(AnnotationSourceGenerator.create(Getter.class)) .addAnnotation(AnnotationSourceGenerator.create(Setter.class)) .addAnnotation(AnnotationSourceGenerator.create(NoArgsConstructor.class)) .addAnnotation(AnnotationSourceGenerator.create(ToString.class)) .addAnnotation(AnnotationSourceGenerator.create(Entity.class)) .addAnnotation(AnnotationSourceGenerator.create(Table.class) - .addParameter(PARAM_NAME,VariableSourceGenerator.create(format(FORMAT_STRING_FIELDS, entityModel.getName())))); + .addParameter(PARAM_NAME,VariableSourceGenerator.create(stringMarks(entityModel.getName())))); } private UnitSourceGenerator buildPackage(String packageName) { - return UnitSourceGenerator.create(format(FORMAT_PACKAGE_DOT_PACKAGE, packageName, PACKAGE_DOMAIN_NAME)); + return UnitSourceGenerator.create("%s.%s".formatted(packageName, PACKAGE_DOMAIN_NAME)); } private VariableSourceGenerator buildField(FieldModel fieldModel) { @@ -105,7 +101,7 @@ private VariableSourceGenerator buildField(FieldModel fieldModel) { .create(TypeDeclarationSourceGenerator.create(fieldModel.getType()), fieldModel.getCamelName()) .addModifier(PRIVATE) .addAnnotation(AnnotationSourceGenerator.create(Column.class) - .addParameter(PARAM_NAME,VariableSourceGenerator.create(format(FORMAT_STRING_FIELDS, fieldModel.getName()))) + .addParameter(PARAM_NAME,VariableSourceGenerator.create(stringMarks(fieldModel.getName()))) .addParameter(PARAM_NULLABLE,VariableSourceGenerator.create(String.valueOf(fieldModel.getNullable())))); } @@ -116,5 +112,9 @@ private void generateEntityPK(boolean isAutoGenerated, FieldModel fieldModel, Va if (isAutoGenerated) field.addAnnotation(AnnotationSourceGenerator.create(GeneratedValue.class)); } } + + private String stringMarks(String value) { + return "\"%s\"".formatted(value); + } } diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/function/ImportBeanFunction.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/function/ImportBeanFunction.java index 042d043..9f6d82f 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/function/ImportBeanFunction.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/function/ImportBeanFunction.java @@ -3,14 +3,12 @@ import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_DATE; import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_DATE_TIME; import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_TIME; -import static java.lang.String.format; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import org.burningwave.core.classes.AnnotationSourceGenerator; -import org.burningwave.core.classes.TypeDeclarationSourceGenerator; import org.burningwave.core.classes.UnitSourceGenerator; import org.burningwave.core.classes.VariableSourceGenerator; @@ -22,40 +20,45 @@ import dev.sassine.api.structure.model.java.FieldModel; public class ImportBeanFunction { - + private static final String TIME_DESERIALIZER = "LocalTimeDeserializer.class"; private static final String DATE_DESERIALIZER = "LocalDateDeserializer.class"; private static final String DATE_TIME_DESERIALIZER = "LocalDateTimeDeserializer.class"; private static final String PARAM_USING = "using"; - private static final String FORMAT_IMPORT_ENTITY_PACKAGE = "%s.domain.%sEntity"; - + public static void importEntityClass(String nameClass, String packageName, UnitSourceGenerator gen) { - gen.addImport(format(FORMAT_IMPORT_ENTITY_PACKAGE, packageName, nameClass)); + gen.addImport("%s.domain.%sEntity".formatted(packageName, nameClass)); } public static void importJavaTime(UnitSourceGenerator gen, FieldModel fieldModel) { - if (TYPE_LOCAL_DATE_TIME.equals(fieldModel.getType())) gen.addImport(LocalDateTime.class); - else if (TYPE_LOCAL_DATE.equals(fieldModel.getType())) gen.addImport(LocalDate.class); - else if (TYPE_LOCAL_TIME.equals(fieldModel.getType())) gen.addImport(LocalTime.class); + if (TYPE_LOCAL_DATE_TIME.equals(fieldModel.getType())) + gen.addImport(LocalDateTime.class); + else if (TYPE_LOCAL_DATE.equals(fieldModel.getType())) + gen.addImport(LocalDate.class); + else if (TYPE_LOCAL_TIME.equals(fieldModel.getType())) + gen.addImport(LocalTime.class); } public static void importJavaTimeAndJSONDeserialize(VariableSourceGenerator field, UnitSourceGenerator gen, FieldModel fieldModel) { if (TYPE_LOCAL_DATE_TIME.equals(fieldModel.getType())) { gen.addImport(LocalDateTime.class); - gen.addImport(LocalDateTimeDeserializer.class); - field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class).addParameter(PARAM_USING, - VariableSourceGenerator.create(TypeDeclarationSourceGenerator.create(DATE_TIME_DESERIALIZER)))); + field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class) + .addParameter(VariableSourceGenerator.create(PARAM_USING). + setValue(DATE_TIME_DESERIALIZER) + .useType(LocalDateTimeDeserializer.class))); } else if (TYPE_LOCAL_DATE.equals(fieldModel.getType())) { gen.addImport(LocalDate.class); - gen.addImport(LocalDateDeserializer.class); - field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class).addParameter(PARAM_USING, - VariableSourceGenerator.create(TypeDeclarationSourceGenerator.create(DATE_DESERIALIZER)))); + field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class) + .addParameter(VariableSourceGenerator.create(PARAM_USING) + .setValue(DATE_DESERIALIZER) + .useType(LocalDateDeserializer.class))); } else if (TYPE_LOCAL_TIME.equals(fieldModel.getType())) { gen.addImport(LocalTime.class); - gen.addImport(LocalTimeDeserializer.class); - field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class).addParameter(PARAM_USING, - VariableSourceGenerator.create(TypeDeclarationSourceGenerator.create(TIME_DESERIALIZER)))); + field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class) + .addParameter(VariableSourceGenerator.create(PARAM_USING) + .setValue(TIME_DESERIALIZER) + .useType(LocalTimeDeserializer.class))); } } diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/java/EntityModel.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/java/EntityModel.java index fd86829..6daf6f9 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/java/EntityModel.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/java/EntityModel.java @@ -14,7 +14,7 @@ public class EntityModel { private String pkPolicy; private String pkType; - private List fields = new ArrayList(); + private List fields = new ArrayList<>(); public FieldModel getFieldForName(final String name) { return fields.stream().filter(field -> field.getName().equalsIgnoreCase(name)).findFirst().orElse(null); diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/Database.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/Database.java index 5da0352..30a7339 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/Database.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/Database.java @@ -10,7 +10,7 @@ @Setter public class Database { - private List tables = new ArrayList(); + private List tables = new ArrayList<>(); public TableModel getTableForName(final String tableName) { return tables.stream().filter(table -> table.getName().equalsIgnoreCase(tableName)).findAny().orElse(null); diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/ForeignKey.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/ForeignKey.java index dc600d0..9729955 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/ForeignKey.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/ForeignKey.java @@ -10,8 +10,8 @@ @Setter public class ForeignKey { - private List columnNameOrigins = new ArrayList(); - private List columnNameTargets = new ArrayList(); + private List columnNameOrigins = new ArrayList<>(); + private List columnNameTargets = new ArrayList<>(); private String tableNameOrigin; private String tableNameTarget; diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/PrimaryKey.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/PrimaryKey.java index 1b69601..180ea4d 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/PrimaryKey.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/PrimaryKey.java @@ -8,6 +8,6 @@ @Getter public class PrimaryKey { - List columnNames = new ArrayList(); + List columnNames = new ArrayList<>(); } diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/TableModel.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/TableModel.java index a0c9d2a..df5278c 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/TableModel.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/model/sql/TableModel.java @@ -13,9 +13,9 @@ public class TableModel { private String name; - private Map columnByNames = new HashMap(); + private Map columnByNames = new HashMap<>(); private PrimaryKey primaryKey = new PrimaryKey(); - private List foreignKeys = new ArrayList(); + private List foreignKeys = new ArrayList<>(); public ForeignKey getForeignKeyForColumnNameOrigin(final Column column) { for (ForeignKey fk : foreignKeys) { diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/parser/CreateTableParseListener.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/parser/CreateTableParseListener.java index 1cb341b..ab80e6c 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/parser/CreateTableParseListener.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/parser/CreateTableParseListener.java @@ -1,6 +1,6 @@ package dev.sassine.api.structure.parser; -import static java.lang.String.format; +import static dev.sassine.api.structure.util.Util.unformatSqlName; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -29,12 +29,10 @@ import dev.sassine.api.structure.model.sql.Database; import dev.sassine.api.structure.model.sql.ForeignKey; import dev.sassine.api.structure.model.sql.TableModel; -import dev.sassine.api.structure.util.Util; public class CreateTableParseListener extends SqlBaseListener { private static final Logger log = LogManager.getLogger(); private static final String AUTOINCREMENT = "AUTOINCREMENT"; - private static final String FORMAT_COLUMN_TYPE = "%s %s"; private final SqlParser sqlParser; private final Database database; @@ -78,7 +76,7 @@ public void exitCreate_table_stmt(final Create_table_stmtContext ctx) { @Override public void exitTable_name(final Table_nameContext ctx) { if (inCreateTable) { - table.setName(Util.unformatSqlName(ctx.getText())); + table.setName(unformatSqlName(ctx.getText())); } } @@ -104,7 +102,7 @@ public void exitColumn_def(final Column_defContext ctx) { @Override public void exitColumn_name(final Column_nameContext ctx) { if (inCreateTable && inColumnDef) { - column.setName(Util.unformatSqlName(ctx.getText())); + column.setName(unformatSqlName(ctx.getText())); } } @@ -122,10 +120,10 @@ public void exitType_name(final Type_nameContext ctx) { public void exitName(final NameContext ctx) { if (inCreateTable && inColumnDef && inTypeName) { if (column.getType() == null) { - column.setType(Util.unformatSqlName(ctx.getText())); + column.setType(unformatSqlName(ctx.getText())); } else { - String ctxType = !ctx.getText().replace("_", "").equals(AUTOINCREMENT) ? Util.unformatSqlName(ctx.getText()) : ""; - column.setType(format(FORMAT_COLUMN_TYPE, column.getType(), ctxType)); + String ctxType = !ctx.getText().replace("_", "").equals(AUTOINCREMENT) ? unformatSqlName(ctx.getText()) : ""; + column.setType("%s %s".formatted(column.getType(), ctxType)); } } } @@ -133,7 +131,7 @@ public void exitName(final NameContext ctx) { @Override public void exitColumn_default_value(final Column_default_valueContext ctx) { if (inCreateTable && inColumnDef) { - column.setDefaultValue(Util.unformatSqlName(ctx.getText())); + column.setDefaultValue(unformatSqlName(ctx.getText())); } } @@ -164,7 +162,7 @@ public void exitTable_constraint_primary_key(final Table_constraint_primary_keyC @Override public void exitIndexed_column(final Indexed_columnContext ctx) { if (inCreateTable && inTable_constraint_primary_key) { - final String columnName = Util.unformatSqlName(ctx.getText()); + final String columnName = unformatSqlName(ctx.getText()); table.getPrimaryKey().getColumnNames().add(columnName); } } @@ -207,21 +205,21 @@ public void exitForeign_key_clause(final Foreign_key_clauseContext ctx) { @Override public void exitForeign_table(final Foreign_tableContext ctx) { if (inCreateTable) { - foreignKey.setTableNameTarget(Util.unformatSqlName(ctx.getText())); + foreignKey.setTableNameTarget(unformatSqlName(ctx.getText())); } } @Override public void exitFk_origin_column_name(final Fk_origin_column_nameContext ctx) { if (foreignKey != null) { - foreignKey.getColumnNameOrigins().add(Util.unformatSqlName(ctx.getText())); + foreignKey.getColumnNameOrigins().add(unformatSqlName(ctx.getText())); } } @Override public void exitFk_target_column_name(final Fk_target_column_nameContext ctx) { if (inCreateTable) { - foreignKey.getColumnNameTargets().add(Util.unformatSqlName(ctx.getText())); + foreignKey.getColumnNameTargets().add(unformatSqlName(ctx.getText())); } } diff --git a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/parser/GetSqlQuery.java b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/parser/GetSqlQuery.java index 05fa4c7..7e592dd 100644 --- a/sqlschema2java-core/src/main/java/dev/sassine/api/structure/parser/GetSqlQuery.java +++ b/sqlschema2java-core/src/main/java/dev/sassine/api/structure/parser/GetSqlQuery.java @@ -27,7 +27,7 @@ else if(queryUpperCase.indexOf(ALTER_TABLE) == 0) { } public List getSqlQuerys(final String content) { - final List querys = new ArrayList(); + final List querys = new ArrayList<>(); int posStart = getPosStartQuery(content, 0); int posEnd = getPosEndQuery(content, posStart); diff --git a/sqlschema2java-maven-plugin/src/main/java/dev/sassine/api/maven/plugin/start/SqlSchema2Java.java b/sqlschema2java-maven-plugin/src/main/java/dev/sassine/api/maven/plugin/start/SqlSchema2Java.java index a2936a3..c9c69f5 100644 --- a/sqlschema2java-maven-plugin/src/main/java/dev/sassine/api/maven/plugin/start/SqlSchema2Java.java +++ b/sqlschema2java-maven-plugin/src/main/java/dev/sassine/api/maven/plugin/start/SqlSchema2Java.java @@ -1,6 +1,5 @@ package dev.sassine.api.maven.plugin.start; import static dev.sassine.api.structure.Sqlschema2Java.generate; -import static java.lang.String.format; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; @@ -32,7 +31,7 @@ public class SqlSchema2Java extends AbstractMojo { public void execute() throws MojoExecutionException, MojoFailureException { - getLog().info(format(" packageName %s - sourceDirectory %s - isPostgres %s - useAutoIncrement %s", sourceDirectory, packageName, usePostgreSQL, useAutoIncrement)); + getLog().info(" packageName %s - sourceDirectory %s - isPostgres %s - useAutoIncrement %s".formatted(sourceDirectory, packageName, usePostgreSQL, useAutoIncrement)); generate(EnvironmentModel.builder() .sourceDirectory(sourceDirectory) .packageName(packageName)