Skip to content

Commit 22d4894

Browse files
CSV1KORatextor
authored andcommitted
#691 Review comments addressed
1 parent 9fc66e8 commit 22d4894

File tree

6 files changed

+18
-2
lines changed

6 files changed

+18
-2
lines changed

core/esmf-aspect-model-java-generator/src/main/java/org/eclipse/esmf/aspectmodel/java/JavaCodeGenerationConfig.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
@RecordBuilder
3636
public record JavaCodeGenerationConfig(
3737
boolean enableJacksonAnnotations,
38-
boolean disableJsonFormatJacksonAnnotation,
38+
boolean enableJacksonAnnotationJsonFormatShapeObject,
3939
JsonTypeInfoType jsonTypeInfo,
4040
String packageName,
4141
ImportTracker importTracker,
@@ -45,6 +45,7 @@ public record JavaCodeGenerationConfig(
4545
String namePostfix
4646

4747
) implements GenerationConfig {
48+
enableJacksonAnnotationJsonFormatShapeObject = true;
4849
public enum JsonTypeInfoType {
4950
NONE, CLASS, MINIMAL_CLASS, NAME, SIMPLE_NAME, DEDUCTION, CUSTOM
5051
}

core/esmf-aspect-model-java-generator/src/main/resources/java-enumeration-class-body-lib.vm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ $codeGenerationConfig.importTracker().importExplicit( $Arrays )
2222
/**
2323
* Generated class {@link ${enumeration.name}}.
2424
*/
25-
#if( !$codeGenerationConfig.disableJsonFormatJacksonAnnotation() && $codeGenerationConfig.enableJacksonAnnotations() )@JsonFormat(shape = JsonFormat.Shape.OBJECT) #end
25+
#if( $codeGenerationConfig.enableJacksonAnnotationJsonFormatShapeObject() && $codeGenerationConfig.enableJacksonAnnotations() )@JsonFormat(shape = JsonFormat.Shape.OBJECT) #end
2626
public enum ${enumeration.name} {
2727
#foreach( $value in $enumeration.values )
2828
$util.generateEnumKey($value)($util.generateEnumValue($value, $codeGenerationConfig))

documentation/developer-guide/modules/tooling-guide/pages/maven-plugin.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ are replaced using `packageName` | `String` | none | {nok}
156156
| `templateFile` | The path and name of the velocity template file containing the macro library. See xref:java-aspect-tooling.adoc#providing-custom-macros-for-code-generation[Providing Custom Macros for Code Generation]. | `String` | none | {nok}
157157
| `executeLibraryMacros` | Execute the macros provided in the velocity macro library. | `Boolean` | `false` | {nok}
158158
| `disableJacksonAnnotations` | Leads to generated Java code that does not contain https://github.com/FasterXML/jackson[Jackson] annotations. | `Boolean` | `false` | {nok}
159+
| `disableJacksonAnnotationJsonFormatShapeObject` | Leads to generated Java code that does not contain https://github.com/FasterXML/jackson-annotations/blob/2.19/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java[JsonFormat.Shape] annotation. | `Boolean` | `false` | {nok}
159160
| `jsonTypeInfo` | If Jackson annotations are enabled, determines the value of `JsonTypeInfo.Id`, e.g., `NAME`. | `String` | `DEDUCTION` | {nok}
160161
| `skip` | Skip execution of plugin and generation | `Boolean` | `false` | {nok}
161162
| `namePrefix` | Name prefix for generated Aspect, Entity Java classes | `String` | none | {nok}

documentation/developer-guide/modules/tooling-guide/pages/samm-cli.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ of model resolution] for more information.
111111
| _--package-name, -pn_ : package to use for generated Java classes | `samm aspect AspectModel.ttl to java -pn org.company.product`
112112
| _--no-jackson, -nj_ : disable https://github.com/FasterXML/jackson[Jackson] annotation
113113
generation in generated Java classes |
114+
| _--no-jackson-jsonformat-shape, -njjs_ : disable https://github.com/FasterXML/jackson-annotations/blob/2.19/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java[JsonFormat.Shape] annotation
115+
generation in generated Java classes |
114116
| _--json-type-info_, _-jti_ : If Jackson annotations are enabled, determines the value
115117
of JsonTypeInfo.Id. Default: DEDUCTION |
116118
| _--template-library-file, -tlf_ : the path and name of the

tools/esmf-aspect-model-maven-plugin/src/main/java/org/eclipse/esmf/aspectmodel/GenerateJavaClasses.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ public class GenerateJavaClasses extends CodeGenerationMojo {
3838
@Parameter( defaultValue = "false" )
3939
private boolean disableJacksonAnnotations;
4040

41+
@Parameter( defaultValue = "false" )
42+
private boolean disableJacksonAnnotationJsonFormatShapeObject;
43+
4144
@Parameter( defaultValue = "deduction" )
4245
protected String jsonTypeInfo;
4346

@@ -49,6 +52,7 @@ public GenerateJavaClasses() {
4952

5053
public GenerateJavaClasses(
5154
final boolean disableJacksonAnnotations,
55+
boolean disableJacksonAnnotationJsonFormatShapeObject,
5256
final String jsonTypeInfo,
5357
final String packageName,
5458
final String templateFile,
@@ -58,6 +62,7 @@ public GenerateJavaClasses(
5862
final String namePostfix
5963
) {
6064
this.disableJacksonAnnotations = disableJacksonAnnotations;
65+
this.disableJacksonAnnotationJsonFormatShapeObject = disableJacksonAnnotationJsonFormatShapeObject;
6166
this.jsonTypeInfo = jsonTypeInfo;
6267
this.packageName = packageName;
6368
this.templateFile = templateFile;
@@ -76,6 +81,7 @@ public void executeGeneration() throws MojoExecutionException {
7681
try {
7782
final JavaCodeGenerationConfig config = JavaCodeGenerationConfigBuilder.builder()
7883
.enableJacksonAnnotations( !disableJacksonAnnotations )
84+
.enableJacksonAnnotationJsonFormatShapeObject( !disableJacksonAnnotationJsonFormatShapeObject )
7985
.jsonTypeInfo( JavaCodeGenerationConfig.JsonTypeInfoType.valueOf(
8086
Optional.ofNullable( jsonTypeInfo ).map( String::toUpperCase ).orElse( "DEDUCTION" ) ) )
8187
.packageName( determinePackageName( aspect ) )

tools/samm-cli/src/main/java/org/eclipse/esmf/aspect/to/AspectToJavaCommand.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ public class AspectToJavaCommand extends AbstractCommand {
4545
description = "Disable Jackson annotation generation in generated Java classes." )
4646
private boolean disableJacksonAnnotations = false;
4747

48+
@CommandLine.Option(
49+
names = { "--no-jackson-jsonformat-shape", "-njjs" },
50+
description = "Disable Jackson annotation JsonFormat.Shape object generation in generated Java classes." )
51+
private boolean disableJacksonAnnotationJsonFormatShapeObject = false;
52+
4853
@CommandLine.Option(
4954
names = { "--json-type-info", "-jti" },
5055
description = "If Jackson annotations are enabled, determines the value of JsonTypeInfo.Id. Default: DEDUCTION",
@@ -141,6 +146,7 @@ private JavaCodeGenerationConfig buildConfig( final Aspect aspect ) {
141146
.jsonTypeInfo( jsonTypeInfo )
142147
.templateLibFile( templateLibFile )
143148
.enableJacksonAnnotations( !disableJacksonAnnotations )
149+
.enableJacksonAnnotationJsonFormatShapeObject(!disableJacksonAnnotationJsonFormatShapeObject)
144150
.packageName( pkgName )
145151
.namePrefix( namePrefix )
146152
.namePostfix( namePostfix )

0 commit comments

Comments
 (0)