From: Tom Pantelis Date: Sat, 4 Apr 2015 02:01:40 +0000 (-0400) Subject: Bug 2948: Add getLastSequenceNumber method to DataPersistenceProvider X-Git-Tag: release/lithium~278 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=8bc849448610deeb047111986bf1a14be29a894e Bug 2948: Add getLastSequenceNumber method to DataPersistenceProvider 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 --- diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DataPersistenceProvider.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DataPersistenceProvider.java index db4bf31438..730310e22e 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DataPersistenceProvider.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DataPersistenceProvider.java @@ -52,4 +52,8 @@ public interface DataPersistenceProvider { */ void deleteMessages(long sequenceNumber); + /** + * Returns the last sequence number contained in the journal. + */ + long getLastSequenceNumber(); } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DelegatingPersistentDataProvider.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DelegatingPersistentDataProvider.java index c74236bb47..e27fa26aeb 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DelegatingPersistentDataProvider.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/DelegatingPersistentDataProvider.java @@ -54,4 +54,9 @@ public class DelegatingPersistentDataProvider implements DataPersistenceProvider public void deleteMessages(long sequenceNumber) { delegate.deleteMessages(sequenceNumber); } + + @Override + public long getLastSequenceNumber() { + return delegate.getLastSequenceNumber(); + } } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/NonPersistentDataProvider.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/NonPersistentDataProvider.java index fed81177a1..d1af58f18b 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/NonPersistentDataProvider.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/NonPersistentDataProvider.java @@ -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 diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/PersistentDataProvider.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/PersistentDataProvider.java index f130a1f27e..4ccd5f4d29 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/PersistentDataProvider.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/PersistentDataProvider.java @@ -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 diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/DataPersistenceProviderMonitor.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/DataPersistenceProviderMonitor.java index 33d4056395..bad9fc31f4 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/DataPersistenceProviderMonitor.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/DataPersistenceProviderMonitor.java @@ -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; + } }