Ensure a CompletedIntentUpdate subclass is the final state

Change-Id: Icecf8a45fad7cb80f3953dcfc081c344d3fa0adb
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/CompilingFailed.java b/core/net/src/main/java/org/onosproject/net/intent/impl/CompilingFailed.java
index f7c25ca..4c25dc5 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/CompilingFailed.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/CompilingFailed.java
@@ -22,7 +22,7 @@
 /**
  * Represents a phase where the compile has failed.
  */
-class CompilingFailed implements CompletedIntentUpdate {
+class CompilingFailed extends CompletedIntentUpdate {
 
     private final IntentData intentData;
 
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/CompletedIntentUpdate.java b/core/net/src/main/java/org/onosproject/net/intent/impl/CompletedIntentUpdate.java
index 60dc334..612ae1e 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/CompletedIntentUpdate.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/CompletedIntentUpdate.java
@@ -22,12 +22,12 @@
 /**
  * Represents a completed phase of processing an intent.
  */
-interface CompletedIntentUpdate extends IntentUpdate {
+abstract class CompletedIntentUpdate implements IntentUpdate {
 
     @Override
-    default Optional<IntentUpdate> execute() {
+    public final Optional<IntentUpdate> execute() {
         return Optional.empty();
     }
 
-    IntentData data();
+    public abstract IntentData data();
 }
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/Installed.java b/core/net/src/main/java/org/onosproject/net/intent/impl/Installed.java
index fb94fe6..8b9971f 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/Installed.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/Installed.java
@@ -20,7 +20,7 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.net.intent.IntentState.INSTALLING;
 
-class Installed implements CompletedIntentUpdate {
+class Installed extends CompletedIntentUpdate {
 
     private final IntentData intentData;
 
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/InstallingFailed.java b/core/net/src/main/java/org/onosproject/net/intent/impl/InstallingFailed.java
index 48e836e..e5fefb6 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/InstallingFailed.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/InstallingFailed.java
@@ -20,7 +20,7 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.net.intent.IntentState.FAILED;
 
-class InstallingFailed implements CompletedIntentUpdate {
+class InstallingFailed extends CompletedIntentUpdate {
 
     private final IntentData intentData;
 
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/Withdrawn.java b/core/net/src/main/java/org/onosproject/net/intent/impl/Withdrawn.java
index 6ea20ae..b4864bc 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/Withdrawn.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/Withdrawn.java
@@ -20,7 +20,7 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.net.intent.IntentState.WITHDRAWING;
 
-class Withdrawn implements CompletedIntentUpdate {
+class Withdrawn extends CompletedIntentUpdate {
 
     private final IntentData intentData;