fix intent issues yuta observed

Change-Id: I7dc4a19d49a1b3fc18ecce02a4018cbc9a3043fc
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/IntentEvent.java b/core/api/src/main/java/org/onlab/onos/net/intent/IntentEvent.java
index 6d7a3b0..495f3ea 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/IntentEvent.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/IntentEvent.java
@@ -67,4 +67,32 @@
         super(type, intent);
     }
 
+    public static IntentEvent getEvent(IntentState state, Intent intent) {
+        Type type;
+        switch (state) {
+            case SUBMITTED:
+                type = Type.SUBMITTED;
+                break;
+            case INSTALLED:
+                type = Type.INSTALLED;
+                break;
+            case WITHDRAWN:
+                type = Type.WITHDRAWN;
+                break;
+            case FAILED:
+                type = Type.FAILED;
+                break;
+
+            //fallthrough to default from here
+            case COMPILING:
+            case INSTALLING:
+            case RECOMPILING:
+            case WITHDRAWING:
+            default:
+                throw new IllegalArgumentException(
+                        "Intent event cannot have transient state: " + state);
+        }
+        return new IntentEvent(type, intent);
+    }
+
 }