Update TempProposalStore and ProposalStore classes

This commit is contained in:
chimp1984 2020-10-01 17:41:49 -05:00
parent 8781c80fb0
commit e6211ef9fe
No known key found for this signature in database
GPG key ID: 9801B4EC591F90E3
4 changed files with 17 additions and 16 deletions

View file

@ -22,10 +22,10 @@ import bisq.network.p2p.storage.payload.PersistableNetworkPayload;
import bisq.network.p2p.storage.persistence.MapStoreService; import bisq.network.p2p.storage.persistence.MapStoreService;
import bisq.common.config.Config; import bisq.common.config.Config;
import bisq.common.storage.Storage; import bisq.common.persistence.PersistenceManager;
import javax.inject.Named;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named;
import java.io.File; import java.io.File;
@ -44,8 +44,8 @@ public class ProposalStorageService extends MapStoreService<ProposalStore, Persi
@Inject @Inject
public ProposalStorageService(@Named(Config.STORAGE_DIR) File storageDir, public ProposalStorageService(@Named(Config.STORAGE_DIR) File storageDir,
Storage<ProposalStore> persistableNetworkPayloadMapStorage) { PersistenceManager<ProposalStore> persistenceManager) {
super(storageDir, persistableNetworkPayloadMapStorage); super(storageDir, persistenceManager);
} }
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////

View file

@ -17,7 +17,6 @@
package bisq.core.dao.governance.proposal.storage.appendonly; package bisq.core.dao.governance.proposal.storage.appendonly;
import bisq.network.p2p.storage.P2PDataStorage;
import bisq.network.p2p.storage.persistence.PersistableNetworkPayloadStore; import bisq.network.p2p.storage.persistence.PersistableNetworkPayloadStore;
import com.google.protobuf.Message; import com.google.protobuf.Message;
@ -34,7 +33,7 @@ import lombok.extern.slf4j.Slf4j;
* definition and provide a hashMap for the domain access. * definition and provide a hashMap for the domain access.
*/ */
@Slf4j @Slf4j
public class ProposalStore extends PersistableNetworkPayloadStore { public class ProposalStore extends PersistableNetworkPayloadStore<ProposalPayload> {
ProposalStore() { ProposalStore() {
} }
@ -45,7 +44,7 @@ public class ProposalStore extends PersistableNetworkPayloadStore {
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
private ProposalStore(List<ProposalPayload> list) { private ProposalStore(List<ProposalPayload> list) {
list.forEach(item -> map.put(new P2PDataStorage.ByteArray(item.getHash()), item)); super(list);
} }
public Message toProtoMessage() { public Message toProtoMessage() {
@ -67,8 +66,4 @@ public class ProposalStore extends PersistableNetworkPayloadStore {
.map(ProposalPayload::fromProto).collect(Collectors.toList()); .map(ProposalPayload::fromProto).collect(Collectors.toList());
return new ProposalStore(list); return new ProposalStore(list);
} }
public boolean containsKey(P2PDataStorage.ByteArray hash) {
return map.containsKey(hash);
}
} }

View file

@ -22,10 +22,10 @@ import bisq.network.p2p.storage.payload.ProtectedStorageEntry;
import bisq.network.p2p.storage.persistence.MapStoreService; import bisq.network.p2p.storage.persistence.MapStoreService;
import bisq.common.config.Config; import bisq.common.config.Config;
import bisq.common.storage.Storage; import bisq.common.persistence.PersistenceManager;
import javax.inject.Named;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named;
import java.io.File; import java.io.File;
@ -44,8 +44,8 @@ public class TempProposalStorageService extends MapStoreService<TempProposalStor
@Inject @Inject
public TempProposalStorageService(@Named(Config.STORAGE_DIR) File storageDir, public TempProposalStorageService(@Named(Config.STORAGE_DIR) File storageDir,
Storage<TempProposalStore> persistableNetworkPayloadMapStorage) { PersistenceManager<TempProposalStore> persistenceManager) {
super(storageDir, persistableNetworkPayloadMapStorage); super(storageDir, persistenceManager);
} }
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@ -67,6 +67,12 @@ public class TempProposalStorageService extends MapStoreService<TempProposalStor
return entry.getProtectedStoragePayload() instanceof TempProposalPayload; return entry.getProtectedStoragePayload() instanceof TempProposalPayload;
} }
@Override
protected void readFromResources(String postFix) {
// We do not have a resource file for that store, so we just call the readStore method instead.
readStore();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Protected // Protected

View file

@ -44,7 +44,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
public class TempProposalStore implements PersistableEnvelope { public class TempProposalStore implements PersistableEnvelope {
@Getter @Getter
private Map<P2PDataStorage.ByteArray, ProtectedStorageEntry> map = new ConcurrentHashMap<>(); private final Map<P2PDataStorage.ByteArray, ProtectedStorageEntry> map = new ConcurrentHashMap<>();
@Inject @Inject
TempProposalStore() { TempProposalStore() {