[ONOS-7732] Automating switch workflow: annotation based data model injection, applying programming counter, and small fixes

Change-Id: I4092d9c2695bcc8c4e8e01d54c442d3fac284eb6
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 92516d4..9aa870d 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
@@ -19,6 +19,8 @@
 
 import java.util.Objects;
 
+import static org.onosproject.workflow.api.CheckCondition.check;
+
 /**
  * Class for event timeout task.
  */
@@ -81,7 +83,7 @@
     public String toString() {
         return MoreObjects.toStringHelper(getClass())
                 .add("context", context())
-                .add("workletType", workletType())
+                .add("programCounter", programCounter())
                 .add("eventType", eventType())
                 .add("eventHint", eventHint())
                 .toString();
@@ -136,16 +138,19 @@
         }
 
         @Override
-        public Builder workletType(String workletType) {
-            super.workletType(workletType);
+        public Builder programCounter(ProgramCounter programCounter) {
+            super.programCounter(programCounter);
             return this;
         }
 
         /**
          * Builds EventTimeoutTask.
          * @return instance of EventTimeoutTask
+         * @throws WorkflowException workflow exception
          */
-        public EventTimeoutTask build() {
+        public EventTimeoutTask build() throws WorkflowException {
+            check(eventType != null, "eventType is invalid");
+            check(eventHint != null, "eventType is invalid");
             return new EventTimeoutTask(this);
         }
     }