Initial implementation of CORRUPT state (ONOS-1060)

- Added CORRUPT state to state machine and event type
- Simplified phases using new request field
- Improved null-safety by using Optionals

Change-Id: I1d576b719765b5664aef73477ee04593e8acc4fd
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentProcessor.java b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentProcessor.java
index 766c91fb..5469c76 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentProcessor.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentProcessor.java
@@ -19,6 +19,7 @@
 import org.onosproject.net.intent.IntentData;
 
 import java.util.List;
+import java.util.Optional;
 
 /**
  * A collection of methods to process an intent.
@@ -38,8 +39,8 @@
     List<Intent> compile(Intent intent, List<Intent> previousInstallables);
 
     /**
-     * @param toUninstall Intent data describing flows to uninstall. May be null.
-     * @param toInstall Intent data describing flows to install. May be null.
+     * @param toUninstall Intent data describing flows to uninstall.
+     * @param toInstall Intent data describing flows to install.
      */
-    void apply(IntentData toUninstall, IntentData toInstall);
+    void apply(Optional<IntentData> toUninstall, Optional<IntentData> toInstall);
 }