Make ShardCoordinationTasks public
[mdsal.git] / dom / mdsal-dom-inmemory-datastore / src / main / java / org / opendaylight / mdsal / dom / store / inmemory / ShardCanCommitCoordinationTask.java
index 766650a3301594310ddf4aa19a4707b0dba10b56..c8499ecd48cbee559628ed2c137b3c2641dfd32d 100644 (file)
@@ -8,6 +8,8 @@
 
 package org.opendaylight.mdsal.dom.store.inmemory;
 
+import com.google.common.annotations.Beta;
+import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.Collection;
 import java.util.concurrent.Callable;
@@ -18,17 +20,21 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-class ShardCanCommitCoordinationTask implements Callable<Boolean> {
+/**
+ * Task that coordinates the CanCommit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s
+ */
+@Beta
+public class ShardCanCommitCoordinationTask implements Callable<Boolean> {
 
     private static final Logger LOG = LoggerFactory.getLogger(ShardCanCommitCoordinationTask.class);
 
     private final DOMDataTreeIdentifier rootShardPrefix;
     private final Collection<DOMStoreThreePhaseCommitCohort> cohorts;
 
-    ShardCanCommitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix,
+    public ShardCanCommitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix,
                                        final Collection<DOMStoreThreePhaseCommitCohort> cohorts) {
-        this.rootShardPrefix = rootShardPrefix;
-        this.cohorts = cohorts;
+        this.rootShardPrefix = Preconditions.checkNotNull(rootShardPrefix);
+        this.cohorts = Preconditions.checkNotNull(cohorts);
     }
 
     @Override
@@ -39,7 +45,7 @@ class ShardCanCommitCoordinationTask implements Callable<Boolean> {
             canCommitBlocking();
 
             return true;
-        } catch (TransactionCommitFailedException e) {
+        } catch (final TransactionCommitFailedException e) {
             LOG.warn("Shard: {} Submit Error during phase CanCommit, starting Abort", rootShardPrefix, e);
             //FIXME abort here
             throw e;