Skip to content

Commit b6adb9e

Browse files
committed
[Fix #636] Relocating dependencies
Signed-off-by: fjtirado <ftirados@redhat.com>
1 parent 6a56b89 commit b6adb9e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+226
-118
lines changed

impl/core/pom.xml

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,23 @@
88
<artifactId>serverlessworkflow-impl-core</artifactId>
99
<name>Serverless Workflow :: Impl :: Core</name>
1010
<dependencies>
11-
<dependency>
12-
<groupId>io.serverlessworkflow</groupId>
13-
<artifactId>serverlessworkflow-types</artifactId>
14-
<version>${project.version}</version>
11+
<dependency>
12+
<groupId>io.serverlessworkflow</groupId>
13+
<artifactId>serverlessworkflow-types</artifactId>
14+
<version>${project.version}</version>
1515
</dependency>
1616
<dependency>
1717
<groupId>io.cloudevents</groupId>
18-
<artifactId>cloudevents-api</artifactId>
18+
<artifactId>cloudevents-core</artifactId>
1919
</dependency>
2020
<dependency>
21-
<groupId>io.cloudevents</groupId>
22-
<artifactId>cloudevents-json-jackson</artifactId>
21+
<groupId>org.slf4j</groupId>
22+
<artifactId>slf4j-api</artifactId>
2323
</dependency>
2424
<dependency>
2525
<groupId>com.github.f4b6a3</groupId>
2626
<artifactId>ulid-creator</artifactId>
2727
</dependency>
28-
<dependency>
29-
<groupId>com.networknt</groupId>
30-
<artifactId>json-schema-validator</artifactId>
31-
</dependency>
32-
<dependency>
33-
<groupId>net.thisptr</groupId>
34-
<artifactId>jackson-jq</artifactId>
35-
</dependency>
3628
<dependency>
3729
<groupId>org.junit.jupiter</groupId>
3830
<artifactId>junit-jupiter-api</artifactId>
@@ -58,11 +50,5 @@
5850
<artifactId>logback-classic</artifactId>
5951
<scope>test</scope>
6052
</dependency>
61-
<dependency>
62-
<groupId>io.serverlessworkflow</groupId>
63-
<artifactId>serverlessworkflow-api</artifactId>
64-
<version>${project.version}</version>
65-
</dependency>
66-
6753
</dependencies>
6854
</project>

impl/core/src/main/java/io/serverlessworkflow/impl/WorkflowApplication.java

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,25 @@
1717

1818
import com.github.f4b6a3.ulid.UlidCreator;
1919
import io.serverlessworkflow.api.types.Document;
20+
import io.serverlessworkflow.api.types.SchemaInline;
2021
import io.serverlessworkflow.api.types.Workflow;
2122
import io.serverlessworkflow.impl.events.EventConsumer;
2223
import io.serverlessworkflow.impl.events.EventPublisher;
2324
import io.serverlessworkflow.impl.events.InMemoryEvents;
2425
import io.serverlessworkflow.impl.executors.DefaultTaskExecutorFactory;
2526
import io.serverlessworkflow.impl.executors.TaskExecutorFactory;
2627
import io.serverlessworkflow.impl.expressions.ExpressionFactory;
27-
import io.serverlessworkflow.impl.expressions.JQExpressionFactory;
2828
import io.serverlessworkflow.impl.expressions.RuntimeDescriptor;
29-
import io.serverlessworkflow.impl.jsonschema.DefaultSchemaValidatorFactory;
30-
import io.serverlessworkflow.impl.jsonschema.SchemaValidatorFactory;
3129
import io.serverlessworkflow.impl.resources.DefaultResourceLoaderFactory;
3230
import io.serverlessworkflow.impl.resources.ResourceLoaderFactory;
31+
import io.serverlessworkflow.impl.resources.StaticResource;
32+
import io.serverlessworkflow.impl.schema.SchemaValidator;
33+
import io.serverlessworkflow.impl.schema.SchemaValidatorFactory;
3334
import java.util.Collection;
3435
import java.util.Collections;
3536
import java.util.HashSet;
3637
import java.util.Map;
38+
import java.util.ServiceLoader;
3739
import java.util.concurrent.ConcurrentHashMap;
3840
import java.util.concurrent.ExecutorService;
3941
import java.util.concurrent.Executors;
@@ -101,11 +103,31 @@ public WorkflowIdFactory idFactory() {
101103
}
102104

103105
public static class Builder {
106+
private static final SchemaValidatorFactory EMPTY_SCHEMA_VALIDATOR =
107+
new SchemaValidatorFactory() {
108+
109+
private final SchemaValidator NoValidation =
110+
new SchemaValidator() {
111+
@Override
112+
public void validate(WorkflowModel node) {}
113+
};
114+
115+
@Override
116+
public SchemaValidator getValidator(StaticResource resource) {
117+
118+
return NoValidation;
119+
}
120+
121+
@Override
122+
public SchemaValidator getValidator(SchemaInline inline) {
123+
return NoValidation;
124+
}
125+
};
104126
private TaskExecutorFactory taskFactory = DefaultTaskExecutorFactory.get();
105-
private ExpressionFactory exprFactory = JQExpressionFactory.get();
127+
private ExpressionFactory exprFactory;
106128
private Collection<WorkflowExecutionListener> listeners;
107129
private ResourceLoaderFactory resourceLoaderFactory = DefaultResourceLoaderFactory.get();
108-
private SchemaValidatorFactory schemaValidatorFactory = DefaultSchemaValidatorFactory.get();
130+
private SchemaValidatorFactory schemaValidatorFactory;
109131
private WorkflowPositionFactory positionFactory = () -> new QueueWorkflowPosition();
110132
private WorkflowIdFactory idFactory = () -> UlidCreator.getMonotonicUlid().toString();
111133
private ExecutorServiceFactory executorFactory = () -> Executors.newCachedThreadPool();
@@ -175,6 +197,18 @@ public Builder withEventPublisher(EventPublisher eventPublisher) {
175197
}
176198

177199
public WorkflowApplication build() {
200+
if (exprFactory == null) {
201+
exprFactory =
202+
ServiceLoader.load(ExpressionFactory.class)
203+
.findFirst()
204+
.orElseThrow(() -> new IllegalStateException("Expression factory is required"));
205+
}
206+
if (schemaValidatorFactory == null) {
207+
schemaValidatorFactory =
208+
ServiceLoader.load(SchemaValidatorFactory.class)
209+
.findFirst()
210+
.orElse(EMPTY_SCHEMA_VALIDATOR);
211+
}
178212
return new WorkflowApplication(this);
179213
}
180214
}

impl/core/src/main/java/io/serverlessworkflow/impl/WorkflowDefinition.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import io.serverlessworkflow.api.types.Workflow;
2323
import io.serverlessworkflow.impl.executors.TaskExecutor;
2424
import io.serverlessworkflow.impl.executors.TaskExecutorHelper;
25-
import io.serverlessworkflow.impl.jsonschema.SchemaValidator;
2625
import io.serverlessworkflow.impl.resources.ResourceLoader;
26+
import io.serverlessworkflow.impl.schema.SchemaValidator;
2727
import java.nio.file.Path;
2828
import java.util.Collection;
2929
import java.util.Optional;

impl/core/src/main/java/io/serverlessworkflow/impl/WorkflowUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import io.serverlessworkflow.api.types.SchemaUnion;
2222
import io.serverlessworkflow.api.types.UriTemplate;
2323
import io.serverlessworkflow.impl.expressions.ExpressionUtils;
24-
import io.serverlessworkflow.impl.jsonschema.SchemaValidator;
25-
import io.serverlessworkflow.impl.jsonschema.SchemaValidatorFactory;
2624
import io.serverlessworkflow.impl.resources.ResourceLoader;
25+
import io.serverlessworkflow.impl.schema.SchemaValidator;
26+
import io.serverlessworkflow.impl.schema.SchemaValidatorFactory;
2727
import java.net.URI;
2828
import java.util.Optional;
2929
import java.util.function.Function;

impl/core/src/main/java/io/serverlessworkflow/impl/events/CloudEventUtils.java

Lines changed: 1 addition & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,7 @@
1515
*/
1616
package io.serverlessworkflow.impl.events;
1717

18-
import com.fasterxml.jackson.databind.JsonNode;
19-
import com.fasterxml.jackson.databind.node.NullNode;
20-
import com.fasterxml.jackson.databind.node.ObjectNode;
2118
import io.cloudevents.CloudEvent;
22-
import io.cloudevents.CloudEventData;
23-
import io.cloudevents.jackson.JsonCloudEventData;
24-
import io.serverlessworkflow.impl.json.JsonUtils;
25-
import java.io.IOException;
26-
import java.io.UncheckedIOException;
2719
import java.time.OffsetDateTime;
2820
import java.time.ZoneOffset;
2921
import java.util.Date;
@@ -32,57 +24,17 @@
3224

3325
public class CloudEventUtils {
3426

35-
public static JsonNode toJsonNode(CloudEvent event) {
36-
ObjectNode result = JsonUtils.mapper().createObjectNode();
37-
if (event.getData() != null) {
38-
result.set("data", toJsonNode(event.getData()));
39-
}
40-
if (event.getSubject() != null) {
41-
result.put("subject", event.getSubject());
42-
}
43-
if (event.getDataContentType() != null) {
44-
result.put("datacontenttype", event.getDataContentType());
45-
}
46-
result.put("id", event.getId());
47-
result.put("source", event.getSource().toString());
48-
result.put("type", event.getType());
49-
result.put("specversion", event.getSpecVersion().toString());
50-
if (event.getDataSchema() != null) {
51-
result.put("dataschema", event.getDataSchema().toString());
52-
}
53-
if (event.getTime() != null) {
54-
result.put("time", event.getTime().toString());
55-
}
56-
event
57-
.getExtensionNames()
58-
.forEach(n -> result.set(n, JsonUtils.fromValue(event.getExtension(n))));
59-
return result;
60-
}
27+
private CloudEventUtils() {}
6128

6229
public static OffsetDateTime toOffset(Date date) {
6330
return date.toInstant().atOffset(ZoneOffset.UTC);
6431
}
6532

66-
public static JsonNode toJsonNode(CloudEventData data) {
67-
if (data == null) {
68-
return NullNode.instance;
69-
}
70-
try {
71-
return data instanceof JsonCloudEventData
72-
? ((JsonCloudEventData) data).getNode()
73-
: JsonUtils.mapper().readTree(data.toBytes());
74-
} catch (IOException io) {
75-
throw new UncheckedIOException(io);
76-
}
77-
}
78-
7933
public static Map<String, Object> extensions(CloudEvent event) {
8034
Map<String, Object> result = new LinkedHashMap<>();
8135
for (String name : event.getExtensionNames()) {
8236
result.put(name, event.getExtension(name));
8337
}
8438
return result;
8539
}
86-
87-
private CloudEventUtils() {}
8840
}

impl/core/src/main/java/io/serverlessworkflow/impl/executors/AbstractTaskExecutor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
import io.serverlessworkflow.impl.WorkflowModel;
3131
import io.serverlessworkflow.impl.WorkflowPosition;
3232
import io.serverlessworkflow.impl.WorkflowStatus;
33-
import io.serverlessworkflow.impl.jsonschema.SchemaValidator;
3433
import io.serverlessworkflow.impl.resources.ResourceLoader;
34+
import io.serverlessworkflow.impl.schema.SchemaValidator;
3535
import java.time.Instant;
3636
import java.util.Iterator;
3737
import java.util.Map;

impl/core/src/main/java/io/serverlessworkflow/impl/expressions/DateTimeDescriptor.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package io.serverlessworkflow.impl.expressions;
1717

18-
import com.fasterxml.jackson.annotation.JsonProperty;
1918
import java.time.Instant;
2019

2120
public class DateTimeDescriptor {
@@ -30,13 +29,11 @@ private DateTimeDescriptor(Instant instant) {
3029
this.instant = instant;
3130
}
3231

33-
@JsonProperty("iso8601")
34-
public String iso8601() {
32+
public String getIso8601() {
3533
return instant.toString();
3634
}
3735

38-
@JsonProperty("epoch")
39-
public Epoch epoch() {
36+
public Epoch getEpoch() {
4037
return Epoch.of(instant);
4138
}
4239

impl/core/src/main/java/io/serverlessworkflow/impl/resources/DynamicResource.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
*/
1616
package io.serverlessworkflow.impl.resources;
1717

18-
import com.fasterxml.jackson.databind.JsonNode;
1918
import io.serverlessworkflow.impl.TaskContext;
2019
import io.serverlessworkflow.impl.WorkflowContext;
20+
import io.serverlessworkflow.impl.WorkflowModel;
2121
import java.io.InputStream;
2222
import java.util.Optional;
2323

2424
public interface DynamicResource {
25-
InputStream open(WorkflowContext workflow, Optional<TaskContext> task, JsonNode input);
25+
InputStream open(WorkflowContext workflow, Optional<TaskContext> task, WorkflowModel input);
2626
}

impl/core/src/main/java/io/serverlessworkflow/impl/jsonschema/SchemaValidator.java renamed to impl/core/src/main/java/io/serverlessworkflow/impl/schema/SchemaValidator.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.impl.jsonschema;
16+
package io.serverlessworkflow.impl.schema;
1717

1818
import io.serverlessworkflow.impl.WorkflowModel;
1919

impl/core/src/main/java/io/serverlessworkflow/impl/jsonschema/SchemaValidatorFactory.java renamed to impl/core/src/main/java/io/serverlessworkflow/impl/schema/SchemaValidatorFactory.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.impl.jsonschema;
16+
package io.serverlessworkflow.impl.schema;
1717

1818
import io.serverlessworkflow.api.types.SchemaInline;
1919
import io.serverlessworkflow.impl.resources.StaticResource;

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