Skip to content

Commit e841dfe

Browse files
authored
Merge pull request #11 from Sassine/release/1.0.0-beta1
Release/1.0.0 beta1
2 parents 19e5c51 + d3ca1fa commit e841dfe

2 files changed

Lines changed: 24 additions & 7 deletions

File tree

sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/factory/impl/EntityFactory.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,19 @@
22

33
import static dev.sassine.api.structure.export.builder.function.ImportBeanFunction.importJavaTime;
44
import static dev.sassine.api.structure.export.builder.function.StoreClassFuncation.store;
5+
import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_DATE;
6+
import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_DATE_TIME;
7+
import static dev.sassine.api.structure.type.TypeConverter.TYPE_LOCAL_TIME;
58
import static java.lang.String.format;
69
import static java.lang.reflect.Modifier.PRIVATE;
710
import static java.lang.reflect.Modifier.PUBLIC;
11+
import static java.util.Objects.nonNull;
812
import static java.util.Optional.ofNullable;
913
import static org.apache.commons.lang3.StringUtils.isNotBlank;
1014
import static org.apache.logging.log4j.LogManager.getLogger;
1115

16+
import java.util.Map;
17+
1218
import javax.persistence.Column;
1319
import javax.persistence.Entity;
1420
import javax.persistence.GeneratedValue;
@@ -42,6 +48,11 @@ public class EntityFactory implements Factory {
4248
private static final String PARAM_NULLABLE = "nullable";
4349
private static final String PARAM_NAME = "name";
4450

51+
Map<String, String> defaultValueLocal = Map.of(
52+
TYPE_LOCAL_DATE, "LocalDate.now()",
53+
TYPE_LOCAL_TIME, "LocalTime.now()",
54+
TYPE_LOCAL_DATE_TIME, "LocalDateTime.now()");
55+
4556
@Override
4657
public void execute(EntityModel entityModel, boolean isAutoGenerated, String nameClass, String packageName) {
4758
log.debug("ClassName: ({}) - PackageName: ({}) ", nameClass, packageName);
@@ -66,6 +77,8 @@ public void execute(EntityModel entityModel, boolean isAutoGenerated, String nam
6677

6778
private void setDefaultValue(VariableSourceGenerator field, FieldModel fieldModel) {
6879
if(isNotBlank(fieldModel.getDefaultValue())) {
80+
var value = defaultValueLocal.get(fieldModel.getType());
81+
if(nonNull(value)) field.setValue(defaultValueLocal.get(fieldModel.getType()));
6982
field.addAnnotation(AnnotationSourceGenerator.create(ColumnDefault.class).addParameter("value",
7083
VariableSourceGenerator.create(format(FORMAT_STRING_FIELDS, fieldModel.getDefaultValue()))));
7184
}

sqlschema2java-core/src/main/java/dev/sassine/api/structure/export/builder/function/ImportBeanFunction.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323

2424
public class ImportBeanFunction {
2525

26+
private static final String TIME_DESERIALIZER = "LocalTimeDeserializer.class";
27+
private static final String DATE_DESERIALIZER = "LocalDateDeserializer.class";
28+
private static final String DATE_TIME_DESERIALIZER = "LocalDateTimeDeserializer.class";
2629
private static final String PARAM_USING = "using";
2730
private static final String FORMAT_IMPORT_ENTITY_PACKAGE = "%s.domain.%sEntity";
2831

@@ -39,20 +42,21 @@ public static void importJavaTime(UnitSourceGenerator gen, FieldModel fieldModel
3942
public static void importJavaTimeAndJSONDeserialize(VariableSourceGenerator field, UnitSourceGenerator gen,
4043
FieldModel fieldModel) {
4144
if (TYPE_LOCAL_DATE_TIME.equals(fieldModel.getType())) {
42-
field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class).addParameter(PARAM_USING,
43-
VariableSourceGenerator
44-
.create(TypeDeclarationSourceGenerator.create(LocalDateTimeDeserializer.class))));
4545
gen.addImport(LocalDateTime.class);
46+
gen.addImport(LocalDateTimeDeserializer.class);
47+
field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class).addParameter(PARAM_USING,
48+
VariableSourceGenerator.create(TypeDeclarationSourceGenerator.create(DATE_TIME_DESERIALIZER))));
4649
} else if (TYPE_LOCAL_DATE.equals(fieldModel.getType())) {
4750
gen.addImport(LocalDate.class);
51+
gen.addImport(LocalDateDeserializer.class);
4852
field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class).addParameter(PARAM_USING,
49-
VariableSourceGenerator
50-
.create(TypeDeclarationSourceGenerator.create(LocalDateDeserializer.class))));
53+
VariableSourceGenerator.create(TypeDeclarationSourceGenerator.create(DATE_DESERIALIZER))));
5154
} else if (TYPE_LOCAL_TIME.equals(fieldModel.getType())) {
5255
gen.addImport(LocalTime.class);
56+
gen.addImport(LocalTimeDeserializer.class);
5357
field.addAnnotation(AnnotationSourceGenerator.create(JsonDeserialize.class).addParameter(PARAM_USING,
54-
VariableSourceGenerator
55-
.create(TypeDeclarationSourceGenerator.create(LocalTimeDeserializer.class))));
58+
VariableSourceGenerator.create(TypeDeclarationSourceGenerator.create(TIME_DESERIALIZER))));
59+
5660
}
5761
}
5862
}

0 commit comments

Comments
 (0)