Skip to content

Commit d778590

Browse files
committed
Adding fromAny implementation to agentic
This allows using the model as a global variable holding the cognisphere Signed-off-by: fjtirado <[email protected]>
1 parent 33d01b0 commit d778590

File tree

5 files changed

+22
-18
lines changed

5 files changed

+22
-18
lines changed

experimental/agentic/src/main/java/io/serverlessworkflow/impl/expressions/agentic/AgenticModel.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ class AgenticModel extends JavaModel {
3232
this.cognisphere = cognisphere;
3333
}
3434

35+
@Override
36+
public void setObject(Object obj) {
37+
super.setObject(obj);
38+
}
39+
3540
@Override
3641
public Collection<WorkflowModel> asCollection() {
3742
return object instanceof Collection value

experimental/agentic/src/main/java/io/serverlessworkflow/impl/expressions/agentic/AgenticModelFactory.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,23 @@
2626
import java.util.Map;
2727

2828
class AgenticModelFactory implements WorkflowModelFactory {
29-
private final Cognisphere cognisphere = CognisphereRegistry.createEphemeralCognisphere();
29+
30+
private Cognisphere cognisphere = CognisphereRegistry.createEphemeralCognisphere();
3031

3132
private final AgenticModel TrueModel = new AgenticModel(Boolean.TRUE, cognisphere);
3233
private final AgenticModel FalseModel = new AgenticModel(Boolean.FALSE, cognisphere);
3334
private final AgenticModel NullModel = new AgenticModel(null, cognisphere);
3435

36+
public void setCognishere(Cognisphere cognisphere) {
37+
this.cognisphere = cognisphere;
38+
}
39+
40+
@Override
41+
public WorkflowModel fromAny(WorkflowModel prev, Object obj) {
42+
((AgenticModel) prev).setObject(obj);
43+
return prev;
44+
}
45+
3546
@Override
3647
public WorkflowModel combine(Map<String, WorkflowModel> workflowVariables) {
3748
return new AgenticModel(workflowVariables, cognisphere);

experimental/lambda/src/main/java/io/serverlessworkflow/impl/expressions/func/JavaModel.java

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

18-
import io.cloudevents.CloudEventData;
1918
import io.serverlessworkflow.impl.WorkflowModel;
2019
import java.time.OffsetDateTime;
2120
import java.util.Collection;
@@ -28,12 +27,16 @@
2827

2928
public class JavaModel implements WorkflowModel {
3029

31-
protected final Object object;
30+
protected Object object;
3231

3332
protected JavaModel(Object object) {
3433
this.object = asJavaObject(object);
3534
}
3635

36+
protected void setObject(Object object) {
37+
this.object = object;
38+
}
39+
3740
@Override
3841
public void forEach(BiConsumer<String, WorkflowModel> consumer) {
3942
asMap()
@@ -72,11 +75,6 @@ public Optional<Number> asNumber() {
7275
return object instanceof Number value ? Optional.of(value) : Optional.empty();
7376
}
7477

75-
@Override
76-
public Optional<CloudEventData> asCloudEventData() {
77-
return object instanceof CloudEventData value ? Optional.of(value) : Optional.empty();
78-
}
79-
8078
@Override
8179
public Optional<Map<String, Object>> asMap() {
8280
return object instanceof Map ? Optional.of((Map<String, Object>) object) : Optional.empty();

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

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

18-
import io.cloudevents.CloudEventData;
1918
import java.time.OffsetDateTime;
2019
import java.util.Collection;
2120
import java.util.Map;
@@ -36,8 +35,6 @@ public interface WorkflowModel {
3635

3736
Optional<Number> asNumber();
3837

39-
Optional<CloudEventData> asCloudEventData();
40-
4138
Optional<Map<String, Object>> asMap();
4239

4340
Object asJavaObject();

impl/jackson/src/main/java/io/serverlessworkflow/impl/expressions/jq/JacksonModel.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
import com.fasterxml.jackson.databind.node.ArrayNode;
2121
import com.fasterxml.jackson.databind.node.BooleanNode;
2222
import com.fasterxml.jackson.databind.node.NullNode;
23-
import io.cloudevents.CloudEventData;
24-
import io.cloudevents.jackson.JsonCloudEventData;
2523
import io.serverlessworkflow.impl.WorkflowModel;
2624
import io.serverlessworkflow.impl.jackson.JsonUtils;
2725
import java.time.OffsetDateTime;
@@ -74,11 +72,6 @@ public Optional<Number> asNumber() {
7472
return node.isNumber() ? Optional.of(node.asLong()) : Optional.empty();
7573
}
7674

77-
@Override
78-
public Optional<CloudEventData> asCloudEventData() {
79-
return node.isObject() ? Optional.of(JsonCloudEventData.wrap(node)) : Optional.empty();
80-
}
81-
8275
@Override
8376
public <T> Optional<T> as(Class<T> clazz) {
8477
return clazz.isAssignableFrom(node.getClass())

0 commit comments

Comments
 (0)