Skip to content

Commit f6caef4

Browse files
committed
[Fix #634] Refactoring modules
Signed-off-by: fjtirado <ftirados@redhat.com>
1 parent 9ac84ca commit f6caef4

File tree

13 files changed

+116
-86
lines changed

13 files changed

+116
-86
lines changed

api/pom.xml

Lines changed: 7 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -14,29 +14,23 @@
1414

1515
<dependencies>
1616
<dependency>
17-
<groupId>org.slf4j</groupId>
18-
<artifactId>slf4j-api</artifactId>
17+
<groupId>io.serverlessworkflow</groupId>
18+
<artifactId>serverlessworkflow-types</artifactId>
19+
<version>${project.version}</version>
1920
</dependency>
2021
<dependency>
21-
<groupId>com.fasterxml.jackson.core</groupId>
22-
<artifactId>jackson-core</artifactId>
22+
<groupId>org.slf4j</groupId>
23+
<artifactId>slf4j-api</artifactId>
2324
</dependency>
2425
<dependency>
2526
<groupId>com.networknt</groupId>
2627
<artifactId>json-schema-validator</artifactId>
2728
</dependency>
28-
<dependency>
29-
<groupId>com.fasterxml.jackson.core</groupId>
30-
<artifactId>jackson-databind</artifactId>
31-
</dependency>
3229
<dependency>
3330
<groupId>com.fasterxml.jackson.dataformat</groupId>
3431
<artifactId>jackson-dataformat-yaml</artifactId>
3532
</dependency>
36-
<dependency>
37-
<groupId>jakarta.validation</groupId>
38-
<artifactId>jakarta.validation-api</artifactId>
39-
</dependency>
33+
4034
<dependency>
4135
<groupId>org.hibernate.validator</groupId>
4236
<artifactId>hibernate-validator</artifactId>
@@ -79,54 +73,4 @@
7973
<scope>test</scope>
8074
</dependency>
8175
</dependencies>
82-
83-
84-
<build>
85-
<plugins>
86-
<plugin>
87-
<groupId>org.jsonschema2pojo</groupId>
88-
<artifactId>jsonschema2pojo-maven-plugin</artifactId>
89-
<configuration>
90-
<sourceDirectory>${basedir}/src/main/resources/schema</sourceDirectory>
91-
<!--The comment below is left intentionally in case jsonschema2pojo one day accepts https urls. That day we can remove the file from schema dir and use directly the real schema-->
92-
<!-- <sourcePaths>
93-
<sourcePath>https://raw.githubusercontent.com/serverlessworkflow/specification/main/schema/workflow.yaml</sourcePath>
94-
</sourcePaths> -->
95-
<sourceType>yamlschema</sourceType>
96-
<targetPackage>io.serverlessworkflow.api.types</targetPackage>
97-
<outputDirectory>${project.build.directory}/generated-sources/src/main/java</outputDirectory>
98-
<includeJsr303Annotations>true</includeJsr303Annotations>
99-
<generateBuilders>true</generateBuilders>
100-
<initializeCollections>true</initializeCollections>
101-
<includeAdditionalProperties>true</includeAdditionalProperties>
102-
<includeToString>false</includeToString>
103-
<includeHashcodeAndEquals>false</includeHashcodeAndEquals>
104-
<includeConstructors>true</includeConstructors>
105-
<constructorsRequiredPropertiesOnly>true</constructorsRequiredPropertiesOnly>
106-
<useTitleAsClassname>true</useTitleAsClassname>
107-
<serializable>true</serializable>
108-
<targetVersion>${java.version}</targetVersion>
109-
<usePrimitives>true</usePrimitives>
110-
<useJakartaValidation>true</useJakartaValidation>
111-
<customRuleFactory>io.serverlessworkflow.generator.UnreferencedFactory</customRuleFactory>
112-
<customAnnotator>io.serverlessworkflow.generator.ConstAnnotator</customAnnotator>
113-
</configuration>
114-
<dependencies>
115-
<dependency>
116-
<groupId>io.serverlessworkflow</groupId>
117-
<artifactId>serverless-workflow-custom-generator</artifactId>
118-
<version>${project.version}</version>
119-
</dependency>
120-
</dependencies>
121-
<executions>
122-
<execution>
123-
<goals>
124-
<goal>generate</goal>
125-
</goals>
126-
<phase>generate-sources</phase>
127-
</execution>
128-
</executions>
129-
</plugin>
130-
</plugins>
131-
</build>
132-
</project>
76+
</project>

custom-generator/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
<groupId>org.jsonschema2pojo</groupId>
1313
<artifactId>jsonschema2pojo-core</artifactId>
1414
</dependency>
15+
<dependency>
16+
<groupId>io.serverlessworkflow</groupId>
17+
<artifactId>serverlessworkflow-annotations</artifactId>
18+
<version>${project.version}</version>
19+
</dependency>
20+
1521
</dependencies>
1622
<build>
1723
<plugins>

custom-generator/src/main/java/io/serverlessworkflow/generator/AllAnyOneOfSchemaRule.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@
3333
import com.sun.codemodel.JPackage;
3434
import com.sun.codemodel.JType;
3535
import com.sun.codemodel.JVar;
36+
import io.serverlessworkflow.annotations.OneOfSetter;
37+
import io.serverlessworkflow.annotations.OneOfValueProvider;
38+
import io.serverlessworkflow.serialization.DeserializeHelper;
39+
import io.serverlessworkflow.serialization.SerializeHelper;
3640
import jakarta.validation.ConstraintViolationException;
3741
import java.io.UnsupportedEncodingException;
3842
import java.net.URI;
@@ -318,10 +322,7 @@ private JDefinedClass populateOneOf(
318322
null);
319323

320324
definedClass._implements(
321-
definedClass
322-
.owner()
323-
.ref(GeneratorUtils.ONE_OF_VALUE_PROVIDER_INTERFACE_NAME)
324-
.narrow(valueField.type()));
325+
definedClass.owner().ref(OneOfValueProvider.class).narrow(valueField.type()));
325326
GeneratorUtils.implementInterface(definedClass, valueField);
326327
try {
327328
JDefinedClass serializer = generateSerializer(definedClass);
@@ -397,9 +398,7 @@ private JDefinedClass generateSerializer(JDefinedClass relatedClass)
397398
(method, valueParam, genParam) ->
398399
method
399400
.body()
400-
.staticInvoke(
401-
definedClass.owner().ref(GeneratorUtils.SERIALIZE_HELPER_NAME),
402-
"serializeOneOf")
401+
.staticInvoke(definedClass.owner().ref(SerializeHelper.class), "serializeOneOf")
403402
.arg(genParam)
404403
.arg(valueParam));
405404
return definedClass;
@@ -418,7 +417,7 @@ private JDefinedClass generateDeserializer(
418417
body._return(
419418
definedClass
420419
.owner()
421-
.ref(GeneratorUtils.DESERIALIZE_HELPER_NAME)
420+
.ref(DeserializeHelper.class)
422421
.staticInvoke(methodName)
423422
.arg(parserParam)
424423
.arg(relatedClass.dotclass())
@@ -460,7 +459,7 @@ private JVar setupMethod(
460459
v -> {
461460
method.body().assign(JExpr._this().ref(v), methodParam);
462461
method
463-
.annotate(definedClass.owner().ref(GeneratorUtils.SETTER_ANNOTATION_NAME))
462+
.annotate(definedClass.owner().ref(OneOfSetter.class))
464463
.param("value", instanceField.type());
465464
});
466465
return methodParam;

custom-generator/src/main/java/io/serverlessworkflow/generator/GeneratorUtils.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,6 @@
3232

3333
public class GeneratorUtils {
3434

35-
public static final String SERIALIZE_HELPER_NAME =
36-
"io.serverlessworkflow.serialization.SerializeHelper";
37-
public static final String DESERIALIZE_HELPER_NAME =
38-
"io.serverlessworkflow.serialization.DeserializeHelper";
39-
public static final String ONE_OF_VALUE_PROVIDER_INTERFACE_NAME =
40-
"io.serverlessworkflow.api.OneOfValueProvider";
41-
public static final String SETTER_ANNOTATION_NAME =
42-
"io.serverlessworkflow.serialization.OneOfSetter";
43-
4435
@FunctionalInterface
4536
public interface SerializerFiller {
4637
void accept(JMethod method, JVar valueParam, JVar genParam);

custom-generator/src/main/java/io/serverlessworkflow/generator/UnevaluatedPropertiesRule.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.sun.codemodel.JMethod;
2828
import com.sun.codemodel.JMod;
2929
import com.sun.codemodel.JType;
30+
import io.serverlessworkflow.serialization.DeserializeHelper;
3031
import org.jsonschema2pojo.Schema;
3132
import org.jsonschema2pojo.rules.AdditionalPropertiesRule;
3233
import org.jsonschema2pojo.rules.Rule;
@@ -125,7 +126,7 @@ private JDefinedClass generateDeserializer(JDefinedClass relatedClass, JType pro
125126
._return(
126127
definedClass
127128
.owner()
128-
.ref(GeneratorUtils.DESERIALIZE_HELPER_NAME)
129+
.ref(DeserializeHelper.class)
129130
.staticInvoke("deserializeItem")
130131
.arg(parserParam)
131132
.arg(relatedClass.dotclass())

pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
<module>api</module>
4141
<module>custom-generator</module>
4242
<module>impl</module>
43+
<module>serverlessworkflow-types</module>
44+
<module>serverlessworkflow-annotations</module>
4345
</modules>
4446

4547
<properties>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<modelVersion>4.0.0</modelVersion>
3+
<parent>
4+
<groupId>io.serverlessworkflow</groupId>
5+
<artifactId>serverlessworkflow-parent</artifactId>
6+
<version>8.0.0-SNAPSHOT</version>
7+
</parent>
8+
<name>Serverless Workflow :: Annotations</name>
9+
<artifactId>serverlessworkflow-annotations</artifactId>
10+
<dependencies>
11+
<dependency>
12+
<groupId>com.fasterxml.jackson.core</groupId>
13+
<artifactId>jackson-databind</artifactId>
14+
</dependency>
15+
<dependency>
16+
<groupId>jakarta.validation</groupId>
17+
<artifactId>jakarta.validation-api</artifactId>
18+
</dependency>
19+
</dependencies>
20+
</project>

api/src/main/java/io/serverlessworkflow/serialization/OneOfSetter.java renamed to serverlessworkflow-annotations/src/main/java/io/serverlessworkflow/annotations/OneOfSetter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.serverlessworkflow.serialization;
16+
package io.serverlessworkflow.annotations;
1717

1818
import static java.lang.annotation.ElementType.METHOD;
1919
import static java.lang.annotation.RetentionPolicy.RUNTIME;

api/src/main/java/io/serverlessworkflow/api/OneOfValueProvider.java renamed to serverlessworkflow-annotations/src/main/java/io/serverlessworkflow/annotations/OneOfValueProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.serverlessworkflow.api;
16+
package io.serverlessworkflow.annotations;
1717

1818
public interface OneOfValueProvider<T> {
1919
T get();

api/src/main/java/io/serverlessworkflow/serialization/DeserializeHelper.java renamed to serverlessworkflow-annotations/src/main/java/io/serverlessworkflow/serialization/DeserializeHelper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.fasterxml.jackson.core.JsonProcessingException;
2020
import com.fasterxml.jackson.core.TreeNode;
2121
import com.fasterxml.jackson.databind.JsonMappingException;
22+
import io.serverlessworkflow.annotations.OneOfSetter;
2223
import jakarta.validation.ConstraintViolationException;
2324
import java.io.IOException;
2425
import java.lang.reflect.InvocationTargetException;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy