Remove WriteOperations.put()/merge() with ensure parents 77/88977/3
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 8 Apr 2020 13:16:45 +0000 (15:16 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 8 Apr 2020 14:06:34 +0000 (16:06 +0200)
These methods have been deprecated in favor of their explicit
counterparts, mergeParentStructurePut() and mergeParentStructureMerge().

While all users have not been migrated, force that migration to
happen now.

Change-Id: Ia5ae9f0f82c3b64e11e7a828ff614045029ed5ba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/WriteOperations.java
binding/mdsal-binding-spi/src/main/java/org/opendaylight/mdsal/binding/spi/ForwardingReadWriteTransaction.java
binding/mdsal-binding-spi/src/main/java/org/opendaylight/mdsal/binding/spi/ForwardingWriteTransaction.java
binding/mdsal-binding-util/src/main/java/org/opendaylight/mdsal/binding/util/TransactionAdapter.java
binding/mdsal-binding-util/src/main/java/org/opendaylight/mdsal/binding/util/TypedWriteTransaction.java
binding/mdsal-binding-util/src/main/java/org/opendaylight/mdsal/binding/util/TypedWriteTransactionImpl.java
binding/mdsal-binding-util/src/main/java/org/opendaylight/mdsal/binding/util/WriteTrackingReadWriteTransaction.java
binding/mdsal-binding-util/src/main/java/org/opendaylight/mdsal/binding/util/WriteTrackingWriteTransaction.java

index 956b9b4beba40226b7e405ea7a9b95667483387d..12bca936a2c5e04b2b61826ead23e1c3641bbc3a 100644 (file)
@@ -35,42 +35,6 @@ public interface WriteOperations {
     <T extends DataObject> void put(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier<T> path,
             @NonNull T data);
 
-    /**
-     * Stores a piece of data at the specified path. This acts as an add / replace operation, which is to say that whole
-     * subtree will be replaced by the specified data.
-     *
-     * <p>
-     * If you need to make sure that a parent object exists but you do not want modify its pre-existing state by using
-     * put, consider using {@link #merge} instead.
-     *
-     * <b>WARNING:</b> Using this method may introduce garbage in data store, or recreate nodes, which were deleted by
-     *                 a previous transaction. It is not necessary in most scenarios and has a significantly higher cost
-     *                 than {@link #put(LogicalDatastoreType, InstanceIdentifier, DataObject)} and should only be used
-     *                 when absolutely necessary.
-     *
-     * @param store the logical data store which should be modified
-     * @param path the data object path
-     * @param data the data object to be written to the specified path
-     * @param createMissingParents if {@link #CREATE_MISSING_PARENTS}, any missing parent nodes will be automatically
-     *                             created using a merge operation. <b>WARNING:</b> using this option is not needed
-     *                             in most scenarios and has a significant performance cost and should be avoided
-     *                             whenever possible.
-     * @throws IllegalStateException if the transaction has already been submitted
-     * @throws NullPointerException if any of the arguments is null
-     * @deprecated Use {@link #put(LogicalDatastoreType, InstanceIdentifier, DataObject)} or
-     *             {@link #mergeParentStructurePut(LogicalDatastoreType, InstanceIdentifier, DataObject)}
-     *             instead.
-     */
-    @Deprecated(forRemoval = true)
-    default <T extends DataObject> void put(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier<T> path,
-            @NonNull T data, boolean createMissingParents) {
-        if (createMissingParents) {
-            mergeParentStructurePut(store, path, data);
-        } else {
-            put(store, path, data);
-        }
-    }
-
     /**
      * Stores a piece of data at the specified path. This acts as an add / replace operation, which is to say that whole
      * subtree will be replaced by the specified data. Unlike
@@ -114,36 +78,6 @@ public interface WriteOperations {
     <T extends DataObject> void merge(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier<T> path,
             @NonNull T data);
 
-    /**
-     * Merges a piece of data with the existing data at a specified path. Any pre-existing data which is not explicitly
-     * overwritten will be preserved. This means that if you store a container, its child lists will be merged.
-     *
-     * <p>
-     * If you require an explicit replace operation, use {@link #put} instead.
-     *
-     * @param store the logical data store which should be modified
-     * @param path the data object path
-     * @param data the data object to be merged to the specified path
-     * @param createMissingParents if {@link #CREATE_MISSING_PARENTS}, any missing parent nodes will be automatically
-     *                             created using a merge operation. <b>WARNING:</b> using this option is not needed
-     *                             in most scenarios and has a significant performance cost and should be avoided
-     *                             whenever possible.
-     * @throws IllegalStateException if the transaction has already been submitted
-     * @throws NullPointerException if any of the arguments is null
-     * @deprecated Use {@link #merge(LogicalDatastoreType, InstanceIdentifier, DataObject)} or
-     *             {@link #mergeParentStructureMerge(LogicalDatastoreType, InstanceIdentifier, DataObject)}
-     *             instead.
-     */
-    @Deprecated(forRemoval = true)
-    default <T extends DataObject> void merge(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier<T> path,
-            @NonNull T data, boolean createMissingParents) {
-        if (createMissingParents) {
-            mergeParentStructureMerge(store, path, data);
-        } else {
-            merge(store, path, data);
-        }
-    }
-
     /**
      * Merges a piece of data with the existing data at a specified path. Any pre-existing data which is not explicitly
      * overwritten will be preserved. This means that if you store a container, its child lists will be merged. Unlike
@@ -178,27 +112,4 @@ public interface WriteOperations {
      * @throws IllegalStateException if the transaction was committed or canceled.
      */
     void delete(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier<?> path);
-
-    /**
-     * Flag value indicating that missing parents should be created.
-     *
-     * <p>
-     * <b>WARNING:</b> Using this flag may introduce garbage in data store, or recreate nodes, which were deleted by
-     *                 a previous transaction. It is not necessary in most scenarios and also has a significantly higher
-     *                 cost than {@link #FAIL_ON_MISSING_PARENTS} and should only be used when absolutely necessary.
-     *
-     * @deprecated To be removed with {@link #merge(LogicalDatastoreType, InstanceIdentifier, DataObject, boolean)}
-     *             and {@link #put(LogicalDatastoreType, InstanceIdentifier, DataObject, boolean)}.
-     */
-    @Deprecated(forRemoval = true)
-    boolean CREATE_MISSING_PARENTS = true;
-
-    /**
-     * Flag value indicating that missing parents should cause an error.
-     *
-     * @deprecated To be removed with {@link #merge(LogicalDatastoreType, InstanceIdentifier, DataObject, boolean)}
-     *             and {@link #put(LogicalDatastoreType, InstanceIdentifier, DataObject, boolean)}.
-     */
-    @Deprecated(forRemoval = true)
-    boolean FAIL_ON_MISSING_PARENTS = false;
 }
index 5950cd951441bce6197dceffe66359a364f12852..d421a8cefc8a34a64421cdc730c43ae743a1107c 100644 (file)
@@ -39,13 +39,6 @@ public class ForwardingReadWriteTransaction extends ForwardingTransaction implem
         delegate.put(store, path, data);
     }
 
-    @Override
-    @Deprecated
-    public <T extends DataObject> void put(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
-            final T data, final boolean createMissingParents) {
-        delegate.put(store, path, data, createMissingParents);
-    }
-
     @Override
     public <T extends DataObject> void mergeParentStructurePut(final LogicalDatastoreType store,
             final InstanceIdentifier<T> path, final T data) {
@@ -74,13 +67,6 @@ public class ForwardingReadWriteTransaction extends ForwardingTransaction implem
         delegate.merge(store, path, data);
     }
 
-    @Override
-    @Deprecated
-    public <T extends DataObject> void merge(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
-            final T data, final boolean createMissingParents) {
-        delegate.merge(store, path, data, createMissingParents);
-    }
-
     @Override
     public <T extends DataObject> void mergeParentStructureMerge(final LogicalDatastoreType store,
             final InstanceIdentifier<T> path, final T data) {
index 814a24b11e987bfedd419e51f7252d07933e8bc0..7fbc69c9ec478bda0f0aca083c049f6efdf8de4e 100644 (file)
@@ -38,13 +38,6 @@ public class ForwardingWriteTransaction extends ForwardingTransaction implements
         delegate.put(store, path, data);
     }
 
-    @Override
-    @Deprecated
-    public <T extends DataObject> void put(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
-            final T data, final boolean createMissingParents) {
-        delegate.put(store, path, data, createMissingParents);
-    }
-
     @Override
     public <T extends DataObject> void mergeParentStructurePut(final LogicalDatastoreType store,
             final InstanceIdentifier<T> path, final T data) {
@@ -57,13 +50,6 @@ public class ForwardingWriteTransaction extends ForwardingTransaction implements
         delegate.merge(store, path, data);
     }
 
-    @Override
-    @Deprecated
-    public <T extends DataObject> void merge(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
-            final T data, final boolean createMissingParents) {
-        delegate.merge(store, path, data, createMissingParents);
-    }
-
     @Override
     public <T extends DataObject> void mergeParentStructureMerge(final LogicalDatastoreType store,
             final InstanceIdentifier<T> path, final T data) {
index c24f36342e16c618db75d3d731b4a78fc7f51fb6..27b6c533b259d9ce3888b9c02ff32b42604ce8e1 100644 (file)
@@ -86,14 +86,6 @@ public final class TransactionAdapter {
             delegate.put(path, data);
         }
 
-        @Override
-        @Deprecated
-        public <T extends DataObject> void put(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
-                final T data, final boolean createMissingParents) {
-            checkStore(store);
-            delegate.put(path, data, createMissingParents);
-        }
-
         @Override
         public <T extends DataObject> void mergeParentStructurePut(final LogicalDatastoreType store,
                 final InstanceIdentifier<T> path, final T data) {
@@ -108,14 +100,6 @@ public final class TransactionAdapter {
             delegate.merge(path, data);
         }
 
-        @Override
-        @Deprecated
-        public <T extends DataObject> void merge(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
-                final T data, final boolean createMissingParents) {
-            checkStore(store);
-            delegate.merge(path, data, createMissingParents);
-        }
-
         @Override
         public <T extends DataObject> void mergeParentStructureMerge(final LogicalDatastoreType store,
                 final InstanceIdentifier<T> path, final T data) {
index 5bf4938bf808fef8a3d4780f1fa4936b2ed8ecf6..7782e797127176eb2fa89418ce1f19ede7b9a5a4 100644 (file)
@@ -33,29 +33,6 @@ public interface TypedWriteTransaction<D extends Datastore> extends Transaction
      */
     <T extends DataObject> void put(InstanceIdentifier<T> path, T data);
 
-    /**
-     * Writes an object to the given path, creating missing parents if requested.
-     *
-     * @see WriteOperations#put(LogicalDatastoreType, InstanceIdentifier, DataObject, boolean)
-     *
-     * @param path The path to write to.
-     * @param data The object to write.
-     * @param createMissingParents {@link WriteOperations#CREATE_MISSING_PARENTS} to create missing parents,
-     *                             {@link WriteOperations#FAIL_ON_MISSING_PARENTS} to fail if parents are missing.
-     * @param <T> The type of the provided object.
-     * @deprecated Use {@link #put(InstanceIdentifier, DataObject)} or
-     *             {@link #mergeParentStructurePut(InstanceIdentifier, DataObject)} instead.
-     */
-    @Deprecated
-    default <T extends DataObject> void put(final InstanceIdentifier<T> path, final T data,
-            final boolean createMissingParents) {
-        if (createMissingParents) {
-            mergeParentStructurePut(path, data);
-        } else {
-            put(path, data);
-        }
-    }
-
     /**
      * Writes an object to the given path, creating significant parents, like presence containers and list entries,
      * if needed.
@@ -81,34 +58,10 @@ public interface TypedWriteTransaction<D extends Datastore> extends Transaction
      */
     <T extends DataObject> void merge(InstanceIdentifier<T> path, T data);
 
-    /**
-     * Merges an object with the data already present at the given path, creating significant parents, like presence
-     * containers and list entries, if needed.
-     *
-     * @see WriteOperations#merge(LogicalDatastoreType, InstanceIdentifier, DataObject, boolean)
-     *
-     * @param path The path to write to.
-     * @param data The object to merge.
-     * @param createMissingParents {@link WriteOperations#CREATE_MISSING_PARENTS} to create missing parents,
-     *                             {@link WriteOperations#FAIL_ON_MISSING_PARENTS} to fail if parents are missing.
-     * @param <T> The type of the provided object.
-     * @deprecated Use {@link #merge(InstanceIdentifier, DataObject)} or
-     *             {@link #mergeParentStructureMerge(InstanceIdentifier, DataObject)} instead.
-     */
-    @Deprecated
-    default <T extends DataObject> void merge(final InstanceIdentifier<T> path, final T data,
-            final boolean createMissingParents) {
-        if (createMissingParents) {
-            mergeParentStructureMerge(path, data);
-        } else {
-            merge(path, data);
-        }
-    }
-
     /**
      * Merges an object with the data already present at the given path, creating missing parents if requested.
      *
-     * @see WriteOperations#merge(LogicalDatastoreType, InstanceIdentifier, DataObject, boolean)
+     * @see WriteOperations#merge(LogicalDatastoreType, InstanceIdentifier, DataObject)
      *
      * @param path The path to write to.
      * @param data The object to merge.
index 409cb02800ab85318812112246b4249c1c9a248d..77a95088fb61e160cdf2704b45383c9f8dd0eac7 100644 (file)
@@ -29,14 +29,6 @@ class TypedWriteTransactionImpl<D extends Datastore, X extends WriteTransaction>
         postOperation();
     }
 
-    @Override
-    @Deprecated
-    public final <T extends DataObject> void put(final InstanceIdentifier<T> path, final T data,
-            final boolean createMissingParents) {
-        delegate().put(getDatastoreType(), path, data, createMissingParents);
-        postOperation();
-    }
-
     @Override
     public final <T extends DataObject> void mergeParentStructurePut(final InstanceIdentifier<T> path,
             final T data) {
@@ -50,14 +42,6 @@ class TypedWriteTransactionImpl<D extends Datastore, X extends WriteTransaction>
         postOperation();
     }
 
-    @Override
-    @Deprecated
-    public final <T extends DataObject> void merge(final InstanceIdentifier<T> path, final T data,
-            final boolean createMissingParents) {
-        delegate().merge(getDatastoreType(), path, data, createMissingParents);
-        postOperation();
-    }
-
     @Override
     public final <T extends DataObject> void mergeParentStructureMerge(final InstanceIdentifier<T> path,
             final T data) {
index 26030a80ce3c21306013293b4a22369fc1610998..b5110be16aa81f982122c1812067c7161116b372 100644 (file)
@@ -33,14 +33,6 @@ final class WriteTrackingReadWriteTransaction extends ForwardingReadWriteTransac
         written = true;
     }
 
-    @Override
-    @Deprecated
-    public <T extends DataObject> void put(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
-            final T data, final boolean createMissingParents) {
-        super.put(store, path, data, createMissingParents);
-        written = true;
-    }
-
     @Override
     public <T extends DataObject> void mergeParentStructurePut(final LogicalDatastoreType store,
             final InstanceIdentifier<T> path, final T data) {
@@ -55,14 +47,6 @@ final class WriteTrackingReadWriteTransaction extends ForwardingReadWriteTransac
         written = true;
     }
 
-    @Override
-    @Deprecated
-    public <T extends DataObject> void merge(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
-            final T data, final boolean createMissingParents) {
-        super.merge(store, path, data, createMissingParents);
-        written = true;
-    }
-
     @Override
     public <T extends DataObject> void mergeParentStructureMerge(final LogicalDatastoreType store,
             final InstanceIdentifier<T> path, final T data) {
index 9d21fdb2bd38840541435efe63a78443596f1f40..c99a07a57125920ae998159f754b85e90225d393 100644 (file)
@@ -20,38 +20,26 @@ class WriteTrackingWriteTransaction extends ForwardingWriteTransaction implement
     // This is only ever read *after* changes to the transaction are complete
     private boolean written;
 
-    WriteTrackingWriteTransaction(WriteTransaction delegate) {
+    WriteTrackingWriteTransaction(final WriteTransaction delegate) {
         super(delegate);
     }
 
     @Override
-    public <T extends DataObject> void put(LogicalDatastoreType store, InstanceIdentifier<T> path, T data) {
+    public <T extends DataObject> void put(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
+            final T data) {
         super.put(store, path, data);
         written = true;
     }
 
     @Override
-    public <T extends DataObject> void put(LogicalDatastoreType store, InstanceIdentifier<T> path, T data,
-        boolean createMissingParents) {
-        super.put(store, path, data, createMissingParents);
-        written = true;
-    }
-
-    @Override
-    public <T extends DataObject> void merge(LogicalDatastoreType store, InstanceIdentifier<T> path, T data) {
+    public <T extends DataObject> void merge(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
+            final T data) {
         super.merge(store, path, data);
         written = true;
     }
 
     @Override
-    public <T extends DataObject> void merge(LogicalDatastoreType store, InstanceIdentifier<T> path, T data,
-        boolean createMissingParents) {
-        super.merge(store, path, data, createMissingParents);
-        written = true;
-    }
-
-    @Override
-    public void delete(LogicalDatastoreType store, InstanceIdentifier<?> path) {
+    public void delete(final LogicalDatastoreType store, final InstanceIdentifier<?> path) {
         super.delete(store, path);
         written = true;
     }