Refactored intermediate IntentUpdate classes

Change-Id: I3d4a435ef4aa97559d5407d49f45519098c3f193
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 316821b..a3a7e1d 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
@@ -15,60 +15,21 @@
  */
 package org.onosproject.net.intent.impl;
 
-import com.google.common.collect.ImmutableList;
-import org.onosproject.net.flow.FlowRuleBatchOperation;
-import org.onosproject.net.intent.Intent;
-import org.onosproject.net.intent.IntentState;
-
-import java.util.LinkedList;
-import java.util.List;
+import org.onosproject.net.intent.IntentData;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.onosproject.net.intent.IntentState.FAILED;
 import static org.onosproject.net.intent.IntentState.INSTALLING;
 
 class Installed implements CompletedIntentUpdate {
 
-    // TODO: define an interface and use it, instead of IntentManager
-    private final IntentManager intentManager;
-    private final Intent intent;
-    private final List<Intent> installables;
-    private IntentState intentState;
-    private final List<FlowRuleBatchOperation> batches;
-    private int currentBatch = 0;
+    private final IntentData intentData;
 
-    Installed(IntentManager intentManager,
-              Intent intent, List<Intent> installables, List<FlowRuleBatchOperation> batches) {
-        this.intentManager = checkNotNull(intentManager);
-        this.intent = checkNotNull(intent);
-        this.installables = ImmutableList.copyOf(checkNotNull(installables));
-        this.batches = new LinkedList<>(checkNotNull(batches));
-        this.intentState = INSTALLING;
+    Installed(IntentData intentData) {
+        this.intentData = checkNotNull(intentData);
+        this.intentData.setState(INSTALLING);
     }
 
-    @Override
-    public void batchSuccess() {
-        currentBatch++;
-    }
-
-    @Override
-    public List<Intent> allInstallables() {
-        return installables;
-    }
-
-    @Override
-    public FlowRuleBatchOperation currentBatch() {
-        return currentBatch < batches.size() ? batches.get(currentBatch) : null;
-    }
-
-    @Override
-    public void batchFailed() {
-        for (int i = batches.size() - 1; i >= currentBatch; i--) {
-            batches.remove(i);
-        }
-        intentState = FAILED;
-        batches.addAll(intentManager.uninstallIntent(intent, installables));
-
-        // TODO we might want to try to recompile the new intent
+    public IntentData data() {
+        return intentData;
     }
 }