Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Route {Journal,Snapshot}Protocol messages to DataPersistenceProvider
[controller.git]
/
opendaylight
/
md-sal
/
sal-clustering-commons
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
PersistentDataProvider.java
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 b4f08c0394b38c9ef88772760b084ff5dd7db6df..1faee47f526ac119d384ab41a4b29362a236c89f 100644
(file)
--- 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;
*/
package org.opendaylight.controller.cluster;
+import static java.util.Objects.requireNonNull;
+
import akka.japi.Procedure;
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.SnapshotSelectionCriteria;
-import akka.persistence.UntypedPersistentActor;
-import com.google.common.base.Preconditions;
/**
* A DataPersistenceProvider implementation with persistence enabled.
*/
public class PersistentDataProvider implements DataPersistenceProvider {
/**
* 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
}
@Override
@@
-29,22
+33,27
@@
public class PersistentDataProvider implements DataPersistenceProvider {
}
@Override
}
@Override
- public <T> void persist(
T entry,
Procedure<T> procedure) {
+ public <T> void persist(
final T entry, final
Procedure<T> procedure) {
persistentActor.persist(entry, procedure);
}
@Override
persistentActor.persist(entry, procedure);
}
@Override
- public void saveSnapshot(Object snapshot) {
+ public <T> void persistAsync(final T entry, final Procedure<T> procedure) {
+ persistentActor.persistAsync(entry, procedure);
+ }
+
+ @Override
+ public void saveSnapshot(final Object snapshot) {
persistentActor.saveSnapshot(snapshot);
}
@Override
persistentActor.saveSnapshot(snapshot);
}
@Override
- public void deleteSnapshots(SnapshotSelectionCriteria criteria) {
+ public void deleteSnapshots(
final
SnapshotSelectionCriteria criteria) {
persistentActor.deleteSnapshots(criteria);
}
@Override
persistentActor.deleteSnapshots(criteria);
}
@Override
- public void deleteMessages(long sequenceNumber) {
+ public void deleteMessages(
final
long sequenceNumber) {
persistentActor.deleteMessages(sequenceNumber);
}
persistentActor.deleteMessages(sequenceNumber);
}
@@
-52,4
+61,14
@@
public class PersistentDataProvider implements DataPersistenceProvider {
public long getLastSequenceNumber() {
return persistentActor.lastSequenceNr();
}
public long getLastSequenceNumber() {
return persistentActor.lastSequenceNr();
}
+
+ @Override
+ public boolean handleJournalResponse(final JournalProtocol.Response response) {
+ return response instanceof DeleteMessagesSuccess;
+ }
+
+ @Override
+ public boolean handleSnapshotResponse(final SnapshotProtocol.Response response) {
+ return response instanceof DeleteSnapshotsSuccess;
+ }
}
}