Bug 2948: Add getLastSequenceNumber method to DataPersistenceProvider 95/17795/3
authorTom Pantelis <tpanteli@brocade.com>
Sat, 4 Apr 2015 02:01:40 +0000 (22:01 -0400)
committerTom Pantelis <tpanteli@brocade.com>
Fri, 10 Apr 2015 21:49:32 +0000 (17:49 -0400)
New method that returns the last sequence number from akka's persisted
journal. This will be used in a subsequent patch.

Change-Id: Ie2b77358c57eb3e30fea7af317f277d7e660125e
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DataPersistenceProvider.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DelegatingPersistentDataProvider.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/NonPersistentDataProvider.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/PersistentDataProvider.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/DataPersistenceProviderMonitor.java

index db4bf3143898f2e73ecb03d7f29b28fbb1165b82..730310e22e2f37d5153c2c918ea5b458b3531fe2 100644 (file)
@@ -52,4 +52,8 @@ public interface DataPersistenceProvider {
      */
     void deleteMessages(long sequenceNumber);
 
+    /**
+     * Returns the last sequence number contained in the journal.
+     */
+    long getLastSequenceNumber();
 }
index c74236bb479cd8372e52526438ce5906f23ee3b9..e27fa26aebb3953f6a0ddd35c056a812a00e833c 100644 (file)
@@ -54,4 +54,9 @@ public class DelegatingPersistentDataProvider implements DataPersistenceProvider
     public void deleteMessages(long sequenceNumber) {
         delegate.deleteMessages(sequenceNumber);
     }
+
+    @Override
+    public long getLastSequenceNumber() {
+        return delegate.getLastSequenceNumber();
+    }
 }
index fed81177a1436bbb047574043f587cd3b5b0a013..d1af58f18b426c19d7c70ef0d0a44734948e4b72 100644 (file)
@@ -43,4 +43,9 @@ public class NonPersistentDataProvider implements DataPersistenceProvider {
     @Override
     public void deleteMessages(long sequenceNumber) {
     }
+
+    @Override
+    public long getLastSequenceNumber() {
+        return -1;
+    }
 }
\ No newline at end of file
index f130a1f27e0381f86ea5bb02d997b0a291bd6e17..4ccd5f4d29cc39a695772f8e36a800d078fcde79 100644 (file)
@@ -47,4 +47,9 @@ public class PersistentDataProvider implements DataPersistenceProvider {
     public void deleteMessages(long sequenceNumber) {
         persistentActor.deleteMessages(sequenceNumber);
     }
+
+    @Override
+    public long getLastSequenceNumber() {
+        return persistentActor.lastSequenceNr();
+    }
 }
\ No newline at end of file
index 33d405639538cac69c3554851c1b99e74fd5aeaa..bad9fc31f42c09bc54b3ec632ed25e06061c0f37 100644 (file)
@@ -10,9 +10,8 @@ package org.opendaylight.controller.cluster.datastore;
 
 import akka.japi.Procedure;
 import akka.persistence.SnapshotSelectionCriteria;
-import org.opendaylight.controller.cluster.DataPersistenceProvider;
-
 import java.util.concurrent.CountDownLatch;
+import org.opendaylight.controller.cluster.DataPersistenceProvider;
 
 /**
  * This class is intended for testing purposes. It just triggers CountDownLatch's in each method.
@@ -65,4 +64,9 @@ public class DataPersistenceProviderMonitor implements DataPersistenceProvider {
     public void setDeleteMessagesLatch(CountDownLatch deleteMessagesLatch) {
         this.deleteMessagesLatch = deleteMessagesLatch;
     }
+
+    @Override
+    public long getLastSequenceNumber() {
+        return -1;
+    }
 }