From 264f37a73f8f083aac9b1344a5030db588d5bbe8 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Thu, 19 Mar 2015 21:21:38 +0100 Subject: [PATCH] Remove TradeMessageModule --- .../io/bitsquare/app/BitsquareAppModule.java | 9 ++- .../io/bitsquare/gui/main/MainViewModel.java | 2 +- .../io/bitsquare/network/MessageHandler.java | 24 -------- .../TradeMessageService.java | 5 +- .../tomp2p/TomP2PMessageService.java} | 12 ++-- .../network/tomp2p/TomP2PNetworkModule.java | 20 +++++++ .../java/io/bitsquare/trade/TradeManager.java | 1 + ...adeMessageModule.java => TradeModule.java} | 4 +- .../CheckOfferAvailabilityModel.java | 2 +- .../protocol/trade/SharedTradeModel.java | 2 +- .../offerer/models/BuyerAsOffererModel.java | 2 +- .../taker/models/SellerAsTakerModel.java | 2 +- .../tomp2p/TomP2PTradeMessageModule.java | 57 ------------------- .../placeoffer/PlaceOfferProtocolTest.java | 6 +- 14 files changed, 41 insertions(+), 107 deletions(-) delete mode 100644 core/src/main/java/io/bitsquare/network/MessageHandler.java rename core/src/main/java/io/bitsquare/{trade => network}/TradeMessageService.java (90%) rename core/src/main/java/io/bitsquare/{trade/tomp2p/TomP2PTradeMessageService.java => network/tomp2p/TomP2PMessageService.java} (94%) rename core/src/main/java/io/bitsquare/trade/{TradeMessageModule.java => TradeModule.java} (89%) delete mode 100644 core/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageModule.java diff --git a/core/src/main/java/io/bitsquare/app/BitsquareAppModule.java b/core/src/main/java/io/bitsquare/app/BitsquareAppModule.java index d4c8a6d16c..fdfc028ba2 100644 --- a/core/src/main/java/io/bitsquare/app/BitsquareAppModule.java +++ b/core/src/main/java/io/bitsquare/app/BitsquareAppModule.java @@ -18,7 +18,6 @@ package io.bitsquare.app; import io.bitsquare.BitsquareModule; -import io.bitsquare.user.AccountSettings; import io.bitsquare.arbitration.ArbitratorMessageModule; import io.bitsquare.arbitration.tomp2p.TomP2PArbitratorMessageModule; import io.bitsquare.btc.BitcoinModule; @@ -29,9 +28,9 @@ import io.bitsquare.network.tomp2p.TomP2PNetworkModule; import io.bitsquare.offer.OfferModule; import io.bitsquare.offer.tomp2p.TomP2POfferModule; import io.bitsquare.persistence.Persistence; +import io.bitsquare.trade.TradeModule; +import io.bitsquare.user.AccountSettings; import io.bitsquare.user.Preferences; -import io.bitsquare.trade.TradeMessageModule; -import io.bitsquare.trade.tomp2p.TomP2PTradeMessageModule; import io.bitsquare.user.User; import com.google.inject.Injector; @@ -93,8 +92,8 @@ class BitsquareAppModule extends BitsquareModule { return new CryptoModule(env); } - protected TradeMessageModule tradeMessageModule() { - return new TomP2PTradeMessageModule(env); + protected TradeModule tradeMessageModule() { + return new TradeModule(env); } protected OfferModule offerModule() { diff --git a/core/src/main/java/io/bitsquare/gui/main/MainViewModel.java b/core/src/main/java/io/bitsquare/gui/main/MainViewModel.java index 9822ae41a9..e8fa7988aa 100644 --- a/core/src/main/java/io/bitsquare/gui/main/MainViewModel.java +++ b/core/src/main/java/io/bitsquare/gui/main/MainViewModel.java @@ -34,7 +34,7 @@ import io.bitsquare.network.ClientNode; import io.bitsquare.persistence.Persistence; import io.bitsquare.trade.Trade; import io.bitsquare.trade.TradeManager; -import io.bitsquare.trade.TradeMessageService; +import io.bitsquare.network.TradeMessageService; import io.bitsquare.user.User; import io.bitsquare.util.DSAKeyUtil; import io.bitsquare.common.viewfx.model.ViewModel; diff --git a/core/src/main/java/io/bitsquare/network/MessageHandler.java b/core/src/main/java/io/bitsquare/network/MessageHandler.java deleted file mode 100644 index 5b366bb73a..0000000000 --- a/core/src/main/java/io/bitsquare/network/MessageHandler.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * This file is part of Bitsquare. - * - * Bitsquare is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bitsquare is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bitsquare. If not, see . - */ - -package io.bitsquare.network; - -public interface MessageHandler { - - public void handle(Object message); - -} diff --git a/core/src/main/java/io/bitsquare/trade/TradeMessageService.java b/core/src/main/java/io/bitsquare/network/TradeMessageService.java similarity index 90% rename from core/src/main/java/io/bitsquare/trade/TradeMessageService.java rename to core/src/main/java/io/bitsquare/network/TradeMessageService.java index 87900c275d..1803ff4c48 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeMessageService.java +++ b/core/src/main/java/io/bitsquare/network/TradeMessageService.java @@ -15,11 +15,8 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade; +package io.bitsquare.network; -import io.bitsquare.network.Message; -import io.bitsquare.network.MessageBroker; -import io.bitsquare.network.Peer; import io.bitsquare.trade.handlers.MessageHandler; import io.bitsquare.trade.listeners.GetPeerAddressListener; import io.bitsquare.trade.listeners.SendMessageListener; diff --git a/core/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageService.java b/core/src/main/java/io/bitsquare/network/tomp2p/TomP2PMessageService.java similarity index 94% rename from core/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageService.java rename to core/src/main/java/io/bitsquare/network/tomp2p/TomP2PMessageService.java index c8571a9be1..9d4fd49dea 100644 --- a/core/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageService.java +++ b/core/src/main/java/io/bitsquare/network/tomp2p/TomP2PMessageService.java @@ -15,13 +15,11 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade.tomp2p; +package io.bitsquare.network.tomp2p; import io.bitsquare.network.Message; import io.bitsquare.network.Peer; -import io.bitsquare.network.tomp2p.TomP2PNode; -import io.bitsquare.network.tomp2p.TomP2PPeer; -import io.bitsquare.trade.TradeMessageService; +import io.bitsquare.network.TradeMessageService; import io.bitsquare.trade.handlers.MessageHandler; import io.bitsquare.trade.listeners.GetPeerAddressListener; import io.bitsquare.trade.listeners.SendMessageListener; @@ -50,8 +48,8 @@ import org.slf4j.LoggerFactory; * That way we limit the dependency of the TomP2P library only to that class (and it's sub components). *

*/ -public class TomP2PTradeMessageService implements TradeMessageService { - private static final Logger log = LoggerFactory.getLogger(TomP2PTradeMessageService.class); +public class TomP2PMessageService implements TradeMessageService { + private static final Logger log = LoggerFactory.getLogger(TomP2PMessageService.class); private final TomP2PNode tomP2PNode; private final CopyOnWriteArrayList messageHandlers = new CopyOnWriteArrayList<>(); @@ -62,7 +60,7 @@ public class TomP2PTradeMessageService implements TradeMessageService { // Constructor /////////////////////////////////////////////////////////////////////////////////////////// - public TomP2PTradeMessageService(TomP2PNode tomP2PNode) { + public TomP2PMessageService(TomP2PNode tomP2PNode) { this.tomP2PNode = tomP2PNode; } diff --git a/core/src/main/java/io/bitsquare/network/tomp2p/TomP2PNetworkModule.java b/core/src/main/java/io/bitsquare/network/tomp2p/TomP2PNetworkModule.java index cedc4933c0..1351f45c13 100644 --- a/core/src/main/java/io/bitsquare/network/tomp2p/TomP2PNetworkModule.java +++ b/core/src/main/java/io/bitsquare/network/tomp2p/TomP2PNetworkModule.java @@ -21,11 +21,17 @@ import io.bitsquare.network.BootstrapNodes; import io.bitsquare.network.ClientNode; import io.bitsquare.network.NetworkModule; import io.bitsquare.network.Node; +import io.bitsquare.network.TradeMessageService; import com.google.inject.Injector; +import com.google.inject.Provider; import com.google.inject.Singleton; import com.google.inject.name.Names; +import javax.inject.Inject; + +import javafx.application.Platform; + import org.springframework.core.env.Environment; import static io.bitsquare.network.tomp2p.BootstrappedPeerBuilder.*; @@ -45,6 +51,7 @@ public class TomP2PNetworkModule extends NetworkModule { protected void doConfigure() { bind(ClientNode.class).to(TomP2PNode.class).in(Singleton.class); bind(TomP2PNode.class).in(Singleton.class); + bind(TradeMessageService.class).toProvider(TomP2PTradeMessageServiceProvider.class).in(Singleton.class); bind(int.class).annotatedWith(Names.named(Node.PORT_KEY)).toInstance(env.getProperty(Node.PORT_KEY, int.class, Node.DEFAULT_PORT)); bind(boolean.class).annotatedWith(Names.named(USE_MANUAL_PORT_FORWARDING_KEY)).toInstance( @@ -69,3 +76,16 @@ public class TomP2PNetworkModule extends NetworkModule { injector.getInstance(BootstrappedPeerBuilder.class).shutDown(); } } +class TomP2PTradeMessageServiceProvider implements Provider { + private final TradeMessageService tradeMessageService; + + @Inject + public TomP2PTradeMessageServiceProvider(TomP2PNode tomP2PNode) { + tradeMessageService = new TomP2PMessageService(tomP2PNode); + tradeMessageService.setExecutor(Platform::runLater); + } + + public TradeMessageService get() { + return tradeMessageService; + } +} \ No newline at end of file diff --git a/core/src/main/java/io/bitsquare/trade/TradeManager.java b/core/src/main/java/io/bitsquare/trade/TradeManager.java index 23a1e348fd..f4b4519aa7 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeManager.java +++ b/core/src/main/java/io/bitsquare/trade/TradeManager.java @@ -25,6 +25,7 @@ import io.bitsquare.crypto.SignatureService; import io.bitsquare.fiat.FiatAccount; import io.bitsquare.network.Message; import io.bitsquare.network.Peer; +import io.bitsquare.network.TradeMessageService; import io.bitsquare.offer.Direction; import io.bitsquare.offer.Offer; import io.bitsquare.offer.OfferBookService; diff --git a/core/src/main/java/io/bitsquare/trade/TradeMessageModule.java b/core/src/main/java/io/bitsquare/trade/TradeModule.java similarity index 89% rename from core/src/main/java/io/bitsquare/trade/TradeMessageModule.java rename to core/src/main/java/io/bitsquare/trade/TradeModule.java index 1965b56b41..4fea655910 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeMessageModule.java +++ b/core/src/main/java/io/bitsquare/trade/TradeModule.java @@ -23,9 +23,9 @@ import com.google.inject.Singleton; import org.springframework.core.env.Environment; -public abstract class TradeMessageModule extends BitsquareModule { +public class TradeModule extends BitsquareModule { - protected TradeMessageModule(Environment env) { + public TradeModule(Environment env) { super(env); } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/availability/CheckOfferAvailabilityModel.java b/core/src/main/java/io/bitsquare/trade/protocol/availability/CheckOfferAvailabilityModel.java index e493c7fe72..ee861def80 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/availability/CheckOfferAvailabilityModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/availability/CheckOfferAvailabilityModel.java @@ -20,7 +20,7 @@ package io.bitsquare.trade.protocol.availability; import io.bitsquare.common.taskrunner.SharedTaskModel; import io.bitsquare.network.Peer; import io.bitsquare.offer.Offer; -import io.bitsquare.trade.TradeMessageService; +import io.bitsquare.network.TradeMessageService; import io.bitsquare.trade.protocol.trade.messages.OfferMessage; import org.slf4j.Logger; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/SharedTradeModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/SharedTradeModel.java index 5f7c750fe3..c5fff812d4 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/SharedTradeModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/SharedTradeModel.java @@ -24,7 +24,7 @@ import io.bitsquare.common.taskrunner.SharedTaskModel; import io.bitsquare.crypto.SignatureService; import io.bitsquare.offer.Offer; import io.bitsquare.persistence.Persistence; -import io.bitsquare.trade.TradeMessageService; +import io.bitsquare.network.TradeMessageService; import io.bitsquare.trade.protocol.trade.messages.TradeMessage; import java.io.Serializable; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/BuyerAsOffererModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/BuyerAsOffererModel.java index 6c451b0f68..d90dc6d535 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/BuyerAsOffererModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/BuyerAsOffererModel.java @@ -22,7 +22,7 @@ import io.bitsquare.btc.WalletService; import io.bitsquare.crypto.SignatureService; import io.bitsquare.persistence.Persistence; import io.bitsquare.trade.Trade; -import io.bitsquare.trade.TradeMessageService; +import io.bitsquare.network.TradeMessageService; import io.bitsquare.trade.protocol.trade.SharedTradeModel; import io.bitsquare.user.User; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/SellerAsTakerModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/SellerAsTakerModel.java index 060d23e4e1..e1bfe4d0a3 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/SellerAsTakerModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/SellerAsTakerModel.java @@ -23,7 +23,7 @@ import io.bitsquare.crypto.SignatureService; import io.bitsquare.network.Peer; import io.bitsquare.persistence.Persistence; import io.bitsquare.trade.Trade; -import io.bitsquare.trade.TradeMessageService; +import io.bitsquare.network.TradeMessageService; import io.bitsquare.trade.protocol.trade.SharedTradeModel; import io.bitsquare.user.User; diff --git a/core/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageModule.java b/core/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageModule.java deleted file mode 100644 index 1da460e28a..0000000000 --- a/core/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageModule.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * This file is part of Bitsquare. - * - * Bitsquare is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bitsquare is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bitsquare. If not, see . - */ - -package io.bitsquare.trade.tomp2p; - -import io.bitsquare.network.tomp2p.TomP2PNode; -import io.bitsquare.trade.TradeMessageModule; -import io.bitsquare.trade.TradeMessageService; - -import com.google.inject.Provider; -import com.google.inject.Singleton; - -import javax.inject.Inject; - -import javafx.application.Platform; - -import org.springframework.core.env.Environment; - -public class TomP2PTradeMessageModule extends TradeMessageModule { - - public TomP2PTradeMessageModule(Environment env) { - super(env); - } - - @Override - protected void doConfigure() { - bind(TradeMessageService.class).toProvider(TomP2PTradeMessageServiceProvider.class).in(Singleton.class); - } -} - -class TomP2PTradeMessageServiceProvider implements Provider { - private final TradeMessageService tradeMessageService; - - @Inject - public TomP2PTradeMessageServiceProvider(TomP2PNode tomP2PNode) { - tradeMessageService = new TomP2PTradeMessageService(tomP2PNode); - tradeMessageService.setExecutor(Platform::runLater); - } - - public TradeMessageService get() { - return tradeMessageService; - } -} \ No newline at end of file diff --git a/core/src/test/java/io/bitsquare/trade/protocol/placeoffer/PlaceOfferProtocolTest.java b/core/src/test/java/io/bitsquare/trade/protocol/placeoffer/PlaceOfferProtocolTest.java index cd9fe21398..2db726c641 100644 --- a/core/src/test/java/io/bitsquare/trade/protocol/placeoffer/PlaceOfferProtocolTest.java +++ b/core/src/test/java/io/bitsquare/trade/protocol/placeoffer/PlaceOfferProtocolTest.java @@ -34,8 +34,8 @@ import io.bitsquare.offer.Offer; import io.bitsquare.offer.OfferBookService; import io.bitsquare.offer.tomp2p.TomP2POfferBookService; import io.bitsquare.persistence.Persistence; -import io.bitsquare.trade.TradeMessageService; -import io.bitsquare.trade.tomp2p.TomP2PTradeMessageService; +import io.bitsquare.network.TradeMessageService; +import io.bitsquare.network.tomp2p.TomP2PMessageService; import io.bitsquare.user.User; import io.bitsquare.util.DSAKeyUtil; @@ -96,7 +96,7 @@ public class PlaceOfferProtocolTest { user.applyPersistedUser(null); bootstrappedPeerBuilder = new BootstrappedPeerBuilder(Node.DEFAULT_PORT, false, bootstrapNode, ""); tomP2PNode = new TomP2PNode(bootstrappedPeerBuilder); - tradeMessageService = new TomP2PTradeMessageService(tomP2PNode); + tradeMessageService = new TomP2PMessageService(tomP2PNode); Observable messageObservable = tomP2PNode.bootstrap(user.getMessageKeyPair(), tradeMessageService); messageObservable.publish();