From 3f097ebf636cfb004f735b3fb0cbe2d681de3489 Mon Sep 17 00:00:00 2001 From: Christoph Sturm Date: Tue, 6 Aug 2019 18:34:33 +0200 Subject: [PATCH] more singletoning --- common/src/main/java/bisq/common/crypto/KeyRing.java | 2 ++ common/src/main/java/bisq/common/crypto/KeyStorage.java | 2 ++ core/src/main/java/bisq/core/CoreModule.java | 5 ----- core/src/main/java/bisq/core/user/User.java | 2 ++ desktop/src/test/java/bisq/desktop/GuiceSetupTest.java | 7 +++++++ 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/bisq/common/crypto/KeyRing.java b/common/src/main/java/bisq/common/crypto/KeyRing.java index 4dab6ad3ac..7f965d702a 100644 --- a/common/src/main/java/bisq/common/crypto/KeyRing.java +++ b/common/src/main/java/bisq/common/crypto/KeyRing.java @@ -18,6 +18,7 @@ package bisq.common.crypto; import javax.inject.Inject; +import javax.inject.Singleton; import org.bouncycastle.openpgp.PGPKeyPair; import org.bouncycastle.openpgp.PGPPublicKey; @@ -34,6 +35,7 @@ import javax.annotation.Nullable; @Getter @EqualsAndHashCode @Slf4j +@Singleton public class KeyRing { private final KeyPair signatureKeyPair; private final KeyPair encryptionKeyPair; diff --git a/common/src/main/java/bisq/common/crypto/KeyStorage.java b/common/src/main/java/bisq/common/crypto/KeyStorage.java index 5a8d271acf..82274c34d2 100644 --- a/common/src/main/java/bisq/common/crypto/KeyStorage.java +++ b/common/src/main/java/bisq/common/crypto/KeyStorage.java @@ -22,6 +22,7 @@ import bisq.common.storage.FileUtil; import com.google.inject.Inject; import javax.inject.Named; +import javax.inject.Singleton; import org.bouncycastle.openpgp.PGPKeyPair; @@ -56,6 +57,7 @@ import org.jetbrains.annotations.NotNull; import javax.annotation.Nullable; // TODO: use a password protection for key storage +@Singleton public class KeyStorage { private static final Logger log = LoggerFactory.getLogger(KeyStorage.class); diff --git a/core/src/main/java/bisq/core/CoreModule.java b/core/src/main/java/bisq/core/CoreModule.java index 0ebac0edf6..e534937957 100644 --- a/core/src/main/java/bisq/core/CoreModule.java +++ b/core/src/main/java/bisq/core/CoreModule.java @@ -41,7 +41,6 @@ import bisq.core.proto.network.CoreNetworkProtoResolver; import bisq.core.proto.persistable.CorePersistenceProtoResolver; import bisq.core.trade.TradeModule; import bisq.core.user.Preferences; -import bisq.core.user.User; import bisq.network.crypto.EncryptionServiceModule; import bisq.network.p2p.P2PModule; @@ -51,7 +50,6 @@ import bisq.network.p2p.seed.SeedNodeRepository; import bisq.common.ClockWatcher; import bisq.common.CommonOptionKeys; import bisq.common.app.AppModule; -import bisq.common.crypto.KeyRing; import bisq.common.crypto.KeyStorage; import bisq.common.proto.network.NetworkProtoResolver; import bisq.common.proto.persistable.PersistenceProtoResolver; @@ -77,9 +75,6 @@ public class CoreModule extends AppModule { protected void configure() { bind(BisqEnvironment.class).toInstance((BisqEnvironment) environment); - bind(KeyStorage.class).in(Singleton.class); - bind(KeyRing.class).in(Singleton.class); - bind(User.class).in(Singleton.class); bind(ClockWatcher.class).in(Singleton.class); bind(Preferences.class).in(Singleton.class); bind(BridgeAddressProvider.class).to(Preferences.class).in(Singleton.class); diff --git a/core/src/main/java/bisq/core/user/User.java b/core/src/main/java/bisq/core/user/User.java index 05b99b0fe2..af8637efaa 100644 --- a/core/src/main/java/bisq/core/user/User.java +++ b/core/src/main/java/bisq/core/user/User.java @@ -34,6 +34,7 @@ import bisq.common.proto.persistable.PersistedDataHost; import bisq.common.storage.Storage; import javax.inject.Inject; +import javax.inject.Singleton; import javafx.beans.property.ObjectProperty; import javafx.beans.property.ReadOnlyObjectProperty; @@ -64,6 +65,7 @@ import static com.google.common.base.Preconditions.checkNotNull; */ @Slf4j @AllArgsConstructor +@Singleton public class User implements PersistedDataHost { final private Storage storage; final private KeyRing keyRing; diff --git a/desktop/src/test/java/bisq/desktop/GuiceSetupTest.java b/desktop/src/test/java/bisq/desktop/GuiceSetupTest.java index 85a94e8279..110a480f20 100644 --- a/desktop/src/test/java/bisq/desktop/GuiceSetupTest.java +++ b/desktop/src/test/java/bisq/desktop/GuiceSetupTest.java @@ -24,9 +24,13 @@ import bisq.core.app.WalletAppSetup; import bisq.core.locale.CurrencyUtil; import bisq.core.locale.Res; import bisq.core.payment.TradeLimits; +import bisq.core.user.User; import bisq.core.util.BSFormatter; import bisq.core.util.BsqFormatter; +import bisq.common.crypto.KeyRing; +import bisq.common.crypto.KeyStorage; + import org.springframework.mock.env.MockPropertySource; import com.google.inject.Guice; @@ -77,6 +81,9 @@ public class GuiceSetupTest { assertSingleton(P2PNetworkSetup.class); assertSingleton(WalletAppSetup.class); assertSingleton(TradeLimits.class); + assertSingleton(KeyStorage.class); + assertSingleton(KeyRing.class); + assertSingleton(User.class); } private void assertSingleton(Class type) {