Revert back of 'ONOS-7963 workflow invocation trigger on ONOS event'.
'ONOS-7963 workflow invocation trigger on ONOS event' needs to be
re-designed, and re-devloped.
So I revert back this.
Change-Id: I97f3cb38e466fb3c9e1a14a78ed69128977c2023
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/AbstractWorkflow.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/AbstractWorkflow.java
index 30e50db..5fb8943 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/AbstractWorkflow.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/AbstractWorkflow.java
@@ -57,5 +57,4 @@
.data(data)
.build();
}
-
}
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ContextEventMapStore.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ContextEventMapStore.java
index 389352c..4b54cf3 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ContextEventMapStore.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ContextEventMapStore.java
@@ -33,21 +33,11 @@
* @param eventType the class name of event
* @param eventHintSet Set of event hint string value of the event
* @param contextName workflow context name
- * @param programCounter the program counter of workflow
+ * @param programCounterString the program counter of workflow
* @throws WorkflowException workflow exception
*/
void registerEventMap(String eventType, Set<String> eventHintSet,
- String contextName, ProgramCounter programCounter) throws WorkflowException;
-
- /**
- * Registers workflow trigger flag.
- * @param eventType the class name of event
- * @param eventHintSet Set of event hint string value of the event
- * @param contextName workflow context name
- * @throws WorkflowException workflow exception
- */
- void registerTriggerFlag(String eventType, Set<String> eventHintSet,
- String contextName) throws WorkflowException;
+ String contextName, String programCounterString) throws WorkflowException;
/**
* Unregisters workflow context event mapping.
@@ -62,10 +52,10 @@
* Returns workflow context event mapping.
* @param eventType the class name of event
* @param eventHint vent hint string value of the event
- * @return Map of workflow context and value (WorkflowEventMetaData)
+ * @return Map of workflow context and value (program counter)
* @throws WorkflowException workflow exception
*/
- Map<String, WorkflowEventMetaData> getEventMapByHint(String eventType,
+ Map<String, String> getEventMapByHint(String eventType,
String eventHint) throws WorkflowException;
/**
@@ -76,23 +66,12 @@
boolean isEventMapPresent(String contextName);
/**
- * Returns true or false depending on trigger flag for the workflow.
- * @param eventType the class name of event
- * @param eventHint vent hint string value of the event
- * @param contextName name of workflow context
- * @return Boolean true or false depending on trigger flag for the workflow
- * @throws WorkflowException workflow exception
- */
- boolean isTriggerSet(String eventType, String eventHint,
- String contextName) throws WorkflowException;
-
- /**
* Returns child nodes on document tree path.
* @param path document tree path including eventType and Hint
* @return children under document tree path
* @throws WorkflowException workflow exception
*/
- Map<String, Versioned<WorkflowEventMetaData>> getChildren(String path) throws WorkflowException;
+ Map<String, Versioned<String>> getChildren(String path) throws WorkflowException;
/**
* Returns document path.
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/DefaultWorkflowContext.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/DefaultWorkflowContext.java
index 977a978..603790a 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/DefaultWorkflowContext.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/DefaultWorkflowContext.java
@@ -92,12 +92,6 @@
private transient WorkplaceStore workplaceStore;
/**
- * Service reference for eventMap store.
- */
- private transient ContextEventMapStore eventMapStore;
-
-
- /**
* Constructor of DefaultWorkflowContext.
* @param builder default workflow context builder
*/
@@ -186,7 +180,7 @@
@Override
public void waitAnyCompletion(Class<? extends Event> eventType, Set<String> eventHint,
- WorkExecutor eventGenerator, long timeoutMs) {
+ WorkExecutor eventGenerator, long timeoutMs) {
this.completionEventType = eventType;
this.completionEventHintSet = new HashSet<>();
this.completionEventHintSet.addAll(eventHint);
@@ -220,11 +214,6 @@
}
@Override
- public void registerTriggerEvent(Class<? extends Event> event, Set<String> eventHintSet) throws WorkflowException {
- eventMapStore.registerTriggerFlag(event.getName(), eventHintSet, this.name());
- }
-
- @Override
public void setWorkflowExecutionService(WorkflowExecutionService workflowExecutionService) {
this.workflowExecutionService = workflowExecutionService;
}
@@ -254,17 +243,6 @@
return workplaceStore;
}
-
- @Override
- public void setEventMapStore(ContextEventMapStore contextEventMapStore) {
- this.eventMapStore = contextEventMapStore;
- }
-
- @Override
- public ContextEventMapStore eventMapStore() {
- return eventMapStore;
- }
-
public <T> T getService(Class<T> serviceClass) throws WorkflowException {
T service;
try {
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ImmutableListWorkflow.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ImmutableListWorkflow.java
index f167b94..5819f11 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ImmutableListWorkflow.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ImmutableListWorkflow.java
@@ -28,7 +28,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
-import java.util.Optional;
import java.util.Set;
import static org.onosproject.workflow.api.CheckCondition.check;
@@ -56,8 +55,6 @@
private static JsonDataModelInjector dataModelInjector = new JsonDataModelInjector();
private static StaticDataModelInjector staticDataModelInjector = new StaticDataModelInjector();
- private Optional<String> triggerWorkletClassName = Optional.empty();
-
/**
* Constructor of ImmutableListWorkflow.
*
@@ -65,18 +62,12 @@
*/
private ImmutableListWorkflow(Builder builder) {
super(builder.id);
- triggerWorkletClassName = builder.triggerWorkletClassName;
this.initWorkletType = builder.initWorkletType;
program = ImmutableList.copyOf(builder.workletDescList);
attributes = ImmutableSet.copyOf(builder.attributes);
}
@Override
- public Optional<String> getTriggerWorkletClassName() {
- return triggerWorkletClassName;
- }
-
- @Override
public Worklet init(WorkflowContext context) throws WorkflowException {
if (Objects.isNull(initWorkletType)) {
return null;
@@ -218,12 +209,6 @@
}
@Override
- public Worklet getTriggerWorkletInstance(String workletType) throws WorkflowException {
- return getWorkletInstance(workletType);
- }
-
-
- @Override
public WorkletDescription getWorkletDesc(ProgramCounter pc) {
WorkletDescription workletDescription = program.get(pc.workletIndex());
@@ -312,7 +297,6 @@
public static class Builder {
private URI id;
- private Optional<String> triggerWorkletClassName = Optional.empty();
private String initWorkletType;
private final List<WorkletDescription> workletDescList = Lists.newArrayList();
private final Set<WorkflowAttribute> attributes = Sets.newHashSet();
@@ -330,17 +314,6 @@
}
/**
- * Sets trigger flag of immutable list workflow.
- *
- * @param triggerWorkletClassName name of trigger worklet class
- * @return builder
- */
- public Builder trigger(String triggerWorkletClassName) {
- this.triggerWorkletClassName = Optional.of(triggerWorkletClassName);
- return this;
- }
-
- /**
* Sets init worklet class name of immutable list workflow.
*
* @param workletClassName class name of worklet
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/TriggerWorklet.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/TriggerWorklet.java
deleted file mode 100644
index 3931693..0000000
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/TriggerWorklet.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2019-present Open Networking Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.workflow.api;
-
-
-import org.onosproject.event.Event;
-
-/**
- * Abstract class for Trigger worklet.
- */
-public abstract class TriggerWorklet implements Worklet {
-
- @Override
- public String tag() {
- return this.getClass().getName();
- }
-
- /**
- * Registers trigger event for a workflow under the workflow context.
- * @param context workflow context
- * @throws WorkflowException workflow exception
- */
- public abstract void register(WorkflowContext context) throws WorkflowException;
-
- /**
- * Validates trigger event for a given workflow context.
- * @param context workflow context
- * @param event trigger event
- * @return true/false based on trigger event's validity
- * @throws WorkflowException workflow exception
- */
- public abstract boolean isTriggerValid(WorkflowContext context, Event event) throws WorkflowException;
-
- @Override
- public boolean isCompleted(WorkflowContext context, Event event)throws WorkflowException {
- throw new WorkflowException("(" + tag() + ").isCompleted should not be called");
- }
-
- @Override
- public boolean isNext(WorkflowContext context) throws WorkflowException {
- throw new WorkflowException("(" + tag() + ").isNext should not be called");
- }
-
- @Override
- public void timeout(WorkflowContext context) throws WorkflowException {
- throw new WorkflowException("(" + tag() + ").timeout should not be called");
- }
-
- @Override
- public void process(WorkflowContext context) throws WorkflowException {
- throw new WorkflowException("(" + tag() + ").process should not be called");
- }
-}
-
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WfTriggerEventTask.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WfTriggerEventTask.java
deleted file mode 100644
index 8febd38..0000000
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WfTriggerEventTask.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright 2018-present Open Networking Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.workflow.api;
-
-import com.google.common.base.MoreObjects;
-import org.onosproject.event.Event;
-
-import java.util.Objects;
-
-import static org.onosproject.workflow.api.CheckCondition.check;
-
-/**
- * Class for WorkFlow Trigger event task.
- */
-public final class WfTriggerEventTask extends HandlerTask {
-
- /**
- * Event triggering event task.
- */
- private final Event event;
-
- /**
- * Constructor of event task.
- * @param builder builder of event task
- */
- private WfTriggerEventTask(Builder builder) {
- super(builder);
- this.event = builder.event;
- }
-
-
- /**
- * Gets event of event task.
- * @return event triggering event task
- */
- public Event event() {
- return event;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(this.toString());
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- }
- if (!(obj instanceof EventTask)) {
- return false;
- }
- return Objects.equals(this.event(),
- ((WfTriggerEventTask) obj).event());
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("context", context())
- .add("event", event())
- .toString();
- }
-
- /**
- * Gets a instance of builder.
- * @return instance of builder
- */
- public static Builder builder() {
- return new Builder();
- }
-
- /**
- * Builder of WfTriggerEventTask.
- */
- public static class Builder extends HandlerTask.Builder {
-
- /**
- * Event triggering event task.
- */
- private Event event;
-
-
- /**
- * Sets event.
- * @param event event triggering event task
- * @return Builder of WfTriggerEventTask
- */
- public Builder event(Event event) {
- this.event = event;
- return this;
- }
-
- @Override
- public Builder context(WorkflowContext context) {
- super.context(context);
- return this;
- }
-
- /**
- * Builds WfTriggerEventTask.
- * @return instance of WfTriggerEventTask
- * @throws WorkflowException workflow exception
- */
- public WfTriggerEventTask build() throws WorkflowException {
- check(context != null, "context is invalid");
- check(event != null, "event is invalid");
- return new WfTriggerEventTask(this);
- }
- }
-}
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/Workflow.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/Workflow.java
index 01fb92d..3849afe 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/Workflow.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/Workflow.java
@@ -17,7 +17,6 @@
import java.net.URI;
import java.util.List;
-import java.util.Optional;
import java.util.Set;
/**
@@ -103,25 +102,10 @@
List<ProgramCounter> getProgram();
/**
- * Returns worklet instance with given worklet Name.
- * @param workletType worklet name
- * @return Worklet
- * @throws WorkflowException workflow exception
- */
-
- Worklet getTriggerWorkletInstance(String workletType) throws WorkflowException;
-
- /**
* Returns worklet description.
* @param pc program counter
* @return worklet description list
*/
WorkletDescription getWorkletDesc(ProgramCounter pc);
- /**
- * Returns trigger worklet class name if any.
- * @return trigger worklet class name
- */
- Optional<String> getTriggerWorkletClassName();
-
- }
+}
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowContext.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowContext.java
index 2398b09..836524d 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowContext.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowContext.java
@@ -144,29 +144,6 @@
public abstract long completionEventTimeout();
/**
- * Sets event map store.
- * @param contextEventMapStore event map store
- */
- public abstract void setEventMapStore(ContextEventMapStore contextEventMapStore);
-
- /**
- * Returns the event map store.
- * @return ContextEventMapStore
- */
- public abstract ContextEventMapStore eventMapStore();
-
-
- /**
- * Registers an trigger event which has 'eventHint'.
- * If the event happens, Workflow would be resatrted.
- * @param event event when trigger happens
- * @param eventHintSet Set of hint for the event
- * @throws WorkflowException exception in case any
- */
- public abstract void registerTriggerEvent(Class<? extends Event> event,
- Set<String> eventHintSet) throws WorkflowException;
-
- /**
* Sets workflow service.
* @param workflowExecutionService workflow service
*/
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowEventMetaData.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowEventMetaData.java
deleted file mode 100644
index 24a485c..0000000
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowEventMetaData.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright 2019-present Open Networking Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.workflow.api;
-
-
-import com.google.common.base.MoreObjects;
-
-/**
- * A class representing meta data for workflow event.
- */
-public class WorkflowEventMetaData {
-
- private boolean isTriggerSet = false;
- private ProgramCounter programCounter;
-
- /**
- * Constructor of workflow event meta data.
- * @param isTriggerSet trigger event set for the the workflow
- * @param programCounter program counter representing worklet type for registered event
- */
- public WorkflowEventMetaData(boolean isTriggerSet, ProgramCounter programCounter) {
- this.isTriggerSet = isTriggerSet;
- this.programCounter = programCounter;
- }
-
- /**
- * Copy constructor of workflow event meta data.
- * @param workflowEventMetaData object of WorkflowEventMetaData
- */
- public WorkflowEventMetaData(WorkflowEventMetaData workflowEventMetaData) {
- this.isTriggerSet = workflowEventMetaData.getTriggerFlag();
- this.programCounter = workflowEventMetaData.getProgramCounter().clone();
- }
-
- /**
- * Returns program counter value related to worflow event.
- * @return programCounter
- */
- public ProgramCounter getProgramCounter() {
- return programCounter;
- }
-
- /**
- * Returns trigger flag for the workflow.
- * @return triggerFlag
- */
- public boolean getTriggerFlag() {
- return isTriggerSet;
- }
-
-
- /**
- * Sets true or false for triggerFlag of the workflow.
- * @param triggerFlag flag to indicate trigger event set for the workflow
- */
- public void setTriggerFlag(boolean triggerFlag) {
- this.isTriggerSet = triggerFlag;
- }
-
- /**
- * Sets program counter representing worklet type for registered event of the workflow.
- * @param programCounter program counter representing worklet type for registered event
- */
- public void setProgramCounterString(ProgramCounter programCounter) {
- this.programCounter = programCounter;
- }
-
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .add("trigger-flag", getTriggerFlag())
- .add("program-counter", getProgramCounter())
- .toString();
- }
-
-}
diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowExecutionService.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowExecutionService.java
index 3a41a60..c5e00a7 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowExecutionService.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/WorkflowExecutionService.java
@@ -49,9 +49,9 @@
* @param eventType event type (class name of event)
* @param eventHintSet Set of event hint value
* @param contextName workflow context name to be called by this event map
- * @param programCounter worklet type to be called by this event map
+ * @param programCounterString worklet type to be called by this event map
* @throws WorkflowException workflow exception
*/
void registerEventMap(Class<? extends Event> eventType, Set<String> eventHintSet,
- String contextName, ProgramCounter programCounter) throws WorkflowException;
+ String contextName, String programCounterString) throws WorkflowException;
}