multi event support for a worklet in workflow app
Change-Id: I3178110da75b26f96f8889acc0dd2c715fc567ec
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/EventTimeoutTask.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/EventTimeoutTask.java
index 9aa870d..2ee2672 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/EventTimeoutTask.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/EventTimeoutTask.java
@@ -17,7 +17,9 @@
import com.google.common.base.MoreObjects;
+import java.util.HashSet;
import java.util.Objects;
+import java.util.Set;
import static org.onosproject.workflow.api.CheckCondition.check;
@@ -32,9 +34,9 @@
private final String eventType;
/**
- * Event hint value for finding target event.
+ * Set of Event hint value for finding target event.
*/
- private final String eventHint;
+ private final Set<String> eventHintSet = new HashSet<>();
/**
* Constructor of EventTimeoutTask.
@@ -43,7 +45,7 @@
private EventTimeoutTask(Builder builder) {
super(builder);
this.eventType = builder.eventType;
- this.eventHint = builder.eventHint;
+ this.eventHintSet.addAll(builder.eventHintSet);
}
/**
@@ -55,11 +57,11 @@
}
/**
- * Gets event hint value for finding target event.
- * @return event hint string
+ * Gets set of event hint value for finding target event.
+ * @return event hint set
*/
- public String eventHint() {
- return eventHint;
+ public Set<String> eventHintSet() {
+ return eventHintSet;
}
@Override
@@ -76,7 +78,7 @@
return false;
}
return Objects.equals(this.eventType(), ((EventTask) obj).eventType())
- && Objects.equals(this.eventHint(), ((EventTask) obj).eventHint());
+ && Objects.equals(this.eventHintSet(), ((EventTask) obj).eventHint());
}
@Override
@@ -85,7 +87,7 @@
.add("context", context())
.add("programCounter", programCounter())
.add("eventType", eventType())
- .add("eventHint", eventHint())
+ .add("eventHint", eventHintSet())
.toString();
}
@@ -107,9 +109,9 @@
private String eventType;
/**
- * Event hint value for finding target event.
+ * Set of Event hint value for finding target event.
*/
- private String eventHint;
+ private Set<String> eventHintSet;
/**
* Sets Event type (Class name of event).
@@ -123,11 +125,11 @@
/**
* Sets event hint string for finding target event.
- * @param eventHint event hint string
+ * @param eventHintSet Set of event hint string
* @return builder of EventTimeoutTask
*/
- public Builder eventHint(String eventHint) {
- this.eventHint = eventHint;
+ public Builder eventHintSet(Set<String> eventHintSet) {
+ this.eventHintSet = eventHintSet;
return this;
}
@@ -150,7 +152,7 @@
*/
public EventTimeoutTask build() throws WorkflowException {
check(eventType != null, "eventType is invalid");
- check(eventHint != null, "eventType is invalid");
+ check(eventHintSet != null, "eventHintSet is invalid");
return new EventTimeoutTask(this);
}
}