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;
 }