Refactor: add static factory method in BatchWrite, instead of in IntentStore

Change-Id: Ic0cecc4b3cc4facbc469d2eb87a36c4d5166a6f2
diff --git a/core/api/src/main/java/org/onosproject/net/intent/BatchWrite.java b/core/api/src/main/java/org/onosproject/net/intent/BatchWrite.java
index e030036..d528e28 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/BatchWrite.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/BatchWrite.java
@@ -24,7 +24,7 @@
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-public class BatchWrite {
+public final class BatchWrite {
 
     public enum OpType {
         CREATE_INTENT,
@@ -36,6 +36,17 @@
 
     List<Operation> operations = new ArrayList<>();
 
+    private BatchWrite() {}
+
+    /**
+     * Returns a new empty batch write operation builder.
+     *
+     * @return BatchWrite
+     */
+    public static BatchWrite newInstance() {
+        return new BatchWrite();
+    }
+
     public List<Operation> operations() {
         return Collections.unmodifiableList(operations);
     }
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java b/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
index 129a15b..452cd97 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
@@ -110,16 +110,6 @@
      */
     void removeInstalledIntents(IntentId intentId);
 
-
-    /**
-     * Returns a new empty batch write operation buider.
-     *
-     * @return BatchWrite
-     */
-    default BatchWrite newBatchWrite() {
-        return new BatchWrite();
-    }
-
     /**
      * Execute writes in a batch.
      *
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
index 21361d5..3a1d4f2 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
@@ -768,7 +768,7 @@
         }
 
         private void buildIntentUpdates() {
-            BatchWrite batchWrite = store.newBatchWrite();
+            BatchWrite batchWrite = BatchWrite.newInstance();
 
             // create context and record new request to store
             for (IntentOperation op : ops.operations()) {
@@ -806,7 +806,7 @@
                 return flowRuleService.applyBatch(batch);
             } else {
                 // there are no flow rule batches; finalize the intent update
-                BatchWrite batchWrite = store.newBatchWrite();
+                BatchWrite batchWrite = BatchWrite.newInstance();
                 for (IntentUpdate update : intentUpdates) {
                     update.finalizeStates(batchWrite);
                 }