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();