X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2FPersistentDataProvider.java;h=1faee47f526ac119d384ab41a4b29362a236c89f;hb=HEAD;hp=4ccd5f4d29cc39a695772f8e36a800d078fcde79;hpb=dea515c8870769408b9bea29f555d6b71ff43211;p=controller.git 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 4ccd5f4d29..1faee47f52 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 @@ -7,20 +7,24 @@ */ package org.opendaylight.controller.cluster; +import static java.util.Objects.requireNonNull; + import akka.japi.Procedure; +import akka.persistence.AbstractPersistentActor; +import akka.persistence.DeleteMessagesSuccess; +import akka.persistence.DeleteSnapshotsSuccess; +import akka.persistence.JournalProtocol; +import akka.persistence.SnapshotProtocol; import akka.persistence.SnapshotSelectionCriteria; -import akka.persistence.UntypedPersistentActor; -import com.google.common.base.Preconditions; /** * A DataPersistenceProvider implementation with persistence enabled. */ public class PersistentDataProvider implements DataPersistenceProvider { + private final AbstractPersistentActor persistentActor; - private final UntypedPersistentActor persistentActor; - - public PersistentDataProvider(UntypedPersistentActor persistentActor) { - this.persistentActor = Preconditions.checkNotNull(persistentActor, "persistentActor can't be null"); + public PersistentDataProvider(final AbstractPersistentActor persistentActor) { + this.persistentActor = requireNonNull(persistentActor, "persistentActor can't be null"); } @Override @@ -29,22 +33,27 @@ public class PersistentDataProvider implements DataPersistenceProvider { } @Override - public void persist(T o, Procedure procedure) { - persistentActor.persist(o, procedure); + public void persist(final T entry, final Procedure procedure) { + persistentActor.persist(entry, procedure); + } + + @Override + public void persistAsync(final T entry, final Procedure procedure) { + persistentActor.persistAsync(entry, procedure); } @Override - public void saveSnapshot(Object o) { - persistentActor.saveSnapshot(o); + public void saveSnapshot(final Object snapshot) { + persistentActor.saveSnapshot(snapshot); } @Override - public void deleteSnapshots(SnapshotSelectionCriteria criteria) { + public void deleteSnapshots(final SnapshotSelectionCriteria criteria) { persistentActor.deleteSnapshots(criteria); } @Override - public void deleteMessages(long sequenceNumber) { + public void deleteMessages(final long sequenceNumber) { persistentActor.deleteMessages(sequenceNumber); } @@ -52,4 +61,14 @@ public class PersistentDataProvider implements DataPersistenceProvider { public long getLastSequenceNumber() { return persistentActor.lastSequenceNr(); } -} \ No newline at end of file + + @Override + public boolean handleJournalResponse(final JournalProtocol.Response response) { + return response instanceof DeleteMessagesSuccess; + } + + @Override + public boolean handleSnapshotResponse(final SnapshotProtocol.Response response) { + return response instanceof DeleteSnapshotsSuccess; + } +}