Resolve more cyclic package dependencies

This commit is contained in:
Manfred Karrer 2014-09-11 02:06:00 +02:00
parent 62338411d2
commit 892e831b8d
14 changed files with 51 additions and 28 deletions

View file

@ -19,6 +19,7 @@ package io.bitsquare;
import io.bitsquare.btc.WalletFacade; import io.bitsquare.btc.WalletFacade;
import io.bitsquare.di.BitSquareModule; import io.bitsquare.di.BitSquareModule;
import io.bitsquare.gui.AWTSystemTray;
import io.bitsquare.gui.NavigationItem; import io.bitsquare.gui.NavigationItem;
import io.bitsquare.gui.components.Popups; import io.bitsquare.gui.components.Popups;
import io.bitsquare.gui.util.Profiler; import io.bitsquare.gui.util.Profiler;
@ -26,7 +27,6 @@ import io.bitsquare.msg.MessageFacade;
import io.bitsquare.persistence.Persistence; import io.bitsquare.persistence.Persistence;
import io.bitsquare.settings.Settings; import io.bitsquare.settings.Settings;
import io.bitsquare.user.User; import io.bitsquare.user.User;
import io.bitsquare.util.AWTSystemTray;
import io.bitsquare.util.BSFXMLLoader; import io.bitsquare.util.BSFXMLLoader;
import com.google.common.base.Throwables; import com.google.common.base.Throwables;

View file

@ -24,6 +24,9 @@ import io.bitsquare.btc.WalletFacade;
import io.bitsquare.crypto.CryptoFacade; import io.bitsquare.crypto.CryptoFacade;
import io.bitsquare.gui.NavigationController; import io.bitsquare.gui.NavigationController;
import io.bitsquare.gui.OverlayController; import io.bitsquare.gui.OverlayController;
import io.bitsquare.gui.main.trade.orderbook.OrderBook;
import io.bitsquare.gui.util.BSFormatter;
import io.bitsquare.gui.util.validation.FiatValidator;
import io.bitsquare.msg.BootstrappedPeerFactory; import io.bitsquare.msg.BootstrappedPeerFactory;
import io.bitsquare.msg.MessageFacade; import io.bitsquare.msg.MessageFacade;
import io.bitsquare.msg.P2PNode; import io.bitsquare.msg.P2PNode;
@ -31,7 +34,6 @@ import io.bitsquare.msg.SeedNodeAddress;
import io.bitsquare.persistence.Persistence; import io.bitsquare.persistence.Persistence;
import io.bitsquare.settings.Settings; import io.bitsquare.settings.Settings;
import io.bitsquare.trade.TradeManager; import io.bitsquare.trade.TradeManager;
import io.bitsquare.trade.orderbook.OrderBook;
import io.bitsquare.user.User; import io.bitsquare.user.User;
import com.google.bitcoin.core.NetworkParameters; import com.google.bitcoin.core.NetworkParameters;
@ -67,6 +69,8 @@ public class BitSquareModule extends AbstractModule {
bind(TradeManager.class).asEagerSingleton(); bind(TradeManager.class).asEagerSingleton();
bind(NavigationController.class).asEagerSingleton(); bind(NavigationController.class).asEagerSingleton();
bind(OverlayController.class).asEagerSingleton(); bind(OverlayController.class).asEagerSingleton();
bind(BSFormatter.class).asEagerSingleton();
bind(FiatValidator.class).asEagerSingleton();
//bind(String.class).annotatedWith(Names.named("networkType")).toInstance(WalletFacade.MAIN_NET); //bind(String.class).annotatedWith(Names.named("networkType")).toInstance(WalletFacade.MAIN_NET);

View file

@ -15,7 +15,7 @@
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>. * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
*/ */
package io.bitsquare.util; package io.bitsquare.gui;
import io.bitsquare.BitSquare; import io.bitsquare.BitSquare;

View file

@ -18,6 +18,7 @@
package io.bitsquare.gui.main; package io.bitsquare.gui.main;
import io.bitsquare.bank.BankAccount; import io.bitsquare.bank.BankAccount;
import io.bitsquare.gui.AWTSystemTray;
import io.bitsquare.gui.CodeBehind; import io.bitsquare.gui.CodeBehind;
import io.bitsquare.gui.NavigationController; import io.bitsquare.gui.NavigationController;
import io.bitsquare.gui.NavigationItem; import io.bitsquare.gui.NavigationItem;
@ -27,7 +28,6 @@ import io.bitsquare.gui.components.Popups;
import io.bitsquare.gui.util.ImageUtil; import io.bitsquare.gui.util.ImageUtil;
import io.bitsquare.gui.util.Profiler; import io.bitsquare.gui.util.Profiler;
import io.bitsquare.gui.util.Transitions; import io.bitsquare.gui.util.Transitions;
import io.bitsquare.util.AWTSystemTray;
import io.bitsquare.util.BSFXMLLoader; import io.bitsquare.util.BSFXMLLoader;
import java.io.IOException; import java.io.IOException;

View file

@ -21,6 +21,7 @@ import io.bitsquare.bank.BankAccount;
import io.bitsquare.bank.BankAccountType; import io.bitsquare.bank.BankAccountType;
import io.bitsquare.btc.FeePolicy; import io.bitsquare.btc.FeePolicy;
import io.bitsquare.btc.WalletFacade; import io.bitsquare.btc.WalletFacade;
import io.bitsquare.gui.AWTSystemTray;
import io.bitsquare.gui.CachedViewController; import io.bitsquare.gui.CachedViewController;
import io.bitsquare.gui.components.ConfidenceDisplay; import io.bitsquare.gui.components.ConfidenceDisplay;
import io.bitsquare.gui.components.confidence.ConfidenceProgressIndicator; import io.bitsquare.gui.components.confidence.ConfidenceProgressIndicator;
@ -32,7 +33,6 @@ import io.bitsquare.trade.Direction;
import io.bitsquare.trade.Offer; import io.bitsquare.trade.Offer;
import io.bitsquare.trade.Trade; import io.bitsquare.trade.Trade;
import io.bitsquare.trade.TradeManager; import io.bitsquare.trade.TradeManager;
import io.bitsquare.util.AWTSystemTray;
import com.google.bitcoin.core.Coin; import com.google.bitcoin.core.Coin;
import com.google.bitcoin.core.ECKey; import com.google.bitcoin.core.ECKey;

View file

@ -19,13 +19,13 @@ package io.bitsquare.gui.main.trade.createoffer;
import io.bitsquare.btc.WalletFacade; import io.bitsquare.btc.WalletFacade;
import io.bitsquare.gui.PresentationModel; import io.bitsquare.gui.PresentationModel;
import io.bitsquare.gui.main.trade.orderbook.OrderBookFilter;
import io.bitsquare.gui.util.BSFormatter; import io.bitsquare.gui.util.BSFormatter;
import io.bitsquare.gui.util.validation.BtcValidator; import io.bitsquare.gui.util.validation.BtcValidator;
import io.bitsquare.gui.util.validation.FiatValidator; import io.bitsquare.gui.util.validation.FiatValidator;
import io.bitsquare.gui.util.validation.InputValidator; import io.bitsquare.gui.util.validation.InputValidator;
import io.bitsquare.locale.BSResources; import io.bitsquare.locale.BSResources;
import io.bitsquare.trade.Direction; import io.bitsquare.trade.Direction;
import io.bitsquare.trade.orderbook.OrderBookFilter;
import com.google.bitcoin.core.Address; import com.google.bitcoin.core.Address;
import com.google.bitcoin.core.Coin; import com.google.bitcoin.core.Coin;

View file

@ -28,9 +28,9 @@ import io.bitsquare.gui.components.btc.AddressTextField;
import io.bitsquare.gui.components.btc.BalanceTextField; import io.bitsquare.gui.components.btc.BalanceTextField;
import io.bitsquare.gui.main.help.Help; import io.bitsquare.gui.main.help.Help;
import io.bitsquare.gui.main.help.HelpId; import io.bitsquare.gui.main.help.HelpId;
import io.bitsquare.gui.main.trade.orderbook.OrderBookFilter;
import io.bitsquare.gui.util.ImageUtil; import io.bitsquare.gui.util.ImageUtil;
import io.bitsquare.locale.BSResources; import io.bitsquare.locale.BSResources;
import io.bitsquare.trade.orderbook.OrderBookFilter;
import java.net.URL; import java.net.URL;

View file

@ -15,11 +15,10 @@
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>. * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
*/ */
package io.bitsquare.trade.orderbook; package io.bitsquare.gui.main.trade.orderbook;
import io.bitsquare.arbitrator.Arbitrator; import io.bitsquare.arbitrator.Arbitrator;
import io.bitsquare.bank.BankAccount; import io.bitsquare.bank.BankAccount;
import io.bitsquare.gui.main.trade.orderbook.OrderBookListItem;
import io.bitsquare.locale.Country; import io.bitsquare.locale.Country;
import io.bitsquare.locale.CurrencyUtil; import io.bitsquare.locale.CurrencyUtil;
import io.bitsquare.msg.MessageFacade; import io.bitsquare.msg.MessageFacade;
@ -50,7 +49,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
/* /*
TODO TODO move to OrderBookModel when converted to new UI structure
remove dependencies to tomp2p remove dependencies to tomp2p
import net.tomp2p.peers.Number160; import net.tomp2p.peers.Number160;
import net.tomp2p.storage.Data; import net.tomp2p.storage.Data;

View file

@ -38,8 +38,6 @@ import io.bitsquare.persistence.Persistence;
import io.bitsquare.settings.Settings; import io.bitsquare.settings.Settings;
import io.bitsquare.trade.Direction; import io.bitsquare.trade.Direction;
import io.bitsquare.trade.Offer; import io.bitsquare.trade.Offer;
import io.bitsquare.trade.orderbook.OrderBook;
import io.bitsquare.trade.orderbook.OrderBookFilter;
import io.bitsquare.user.User; import io.bitsquare.user.User;
import io.bitsquare.util.Utilities; import io.bitsquare.util.Utilities;

View file

@ -15,7 +15,7 @@
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>. * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
*/ */
package io.bitsquare.trade.orderbook; package io.bitsquare.gui.main.trade.orderbook;
import io.bitsquare.trade.Direction; import io.bitsquare.trade.Direction;
@ -24,6 +24,7 @@ import com.google.bitcoin.utils.Fiat;
import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleBooleanProperty;
//TODO move to OrderBookModel when converted to new UI structure
public class OrderBookFilter { public class OrderBookFilter {
// TODO use ObjectProperty<Direction> instead // TODO use ObjectProperty<Direction> instead
private final SimpleBooleanProperty directionChangedProperty = new SimpleBooleanProperty(); private final SimpleBooleanProperty directionChangedProperty = new SimpleBooleanProperty();

View file

@ -21,6 +21,7 @@ import io.bitsquare.arbitrator.Arbitrator;
import io.bitsquare.locale.BSResources; import io.bitsquare.locale.BSResources;
import io.bitsquare.locale.Country; import io.bitsquare.locale.Country;
import io.bitsquare.trade.Direction; import io.bitsquare.trade.Direction;
import io.bitsquare.user.User;
import com.google.bitcoin.core.Coin; import com.google.bitcoin.core.Coin;
import com.google.bitcoin.utils.CoinFormat; import com.google.bitcoin.utils.CoinFormat;
@ -37,12 +38,14 @@ import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.inject.Inject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.*; import static com.google.common.base.Preconditions.*;
//TODO a lot of old trash... need to cleanup... //TODO convert to non static
/** /**
* Central point for formatting and input parsing. * Central point for formatting and input parsing.
@ -71,6 +74,17 @@ public class BSFormatter {
private static String currencyCode = Currency.getInstance(Locale.getDefault()).getCurrencyCode(); private static String currencyCode = Currency.getInstance(Locale.getDefault()).getCurrencyCode();
@Inject
public BSFormatter(User user) {
if (user.currentBankAccountProperty().get() == null)
setFiatCurrencyCode(Currency.getInstance(Locale.getDefault()).getCurrencyCode());
else
setFiatCurrencyCode(user.currentBankAccountProperty().get().getCurrency().getCurrencyCode());
user.currentBankAccountProperty().addListener((ov, oldValue, newValue) ->
setFiatCurrencyCode(newValue.getCurrency().getCurrencyCode()));
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Config // Config

View file

@ -18,10 +18,18 @@
package io.bitsquare.gui.util.validation; package io.bitsquare.gui.util.validation;
import io.bitsquare.locale.BSResources; import io.bitsquare.locale.BSResources;
import io.bitsquare.user.User;
import java.util.Currency;
import java.util.Locale;
import javax.inject.Inject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
//TODO convert to non static
/** /**
* FiatNumberValidator for validating fiat values. * FiatNumberValidator for validating fiat values.
* <p> * <p>
@ -40,6 +48,17 @@ public final class FiatValidator extends NumberValidator {
FiatValidator.currencyCode = currencyCode; FiatValidator.currencyCode = currencyCode;
} }
@Inject
public FiatValidator(User user) {
if (user.currentBankAccountProperty().get() == null)
setFiatCurrencyCode(Currency.getInstance(Locale.getDefault()).getCurrencyCode());
else
setFiatCurrencyCode(user.currentBankAccountProperty().get().getCurrency().getCurrencyCode());
user.currentBankAccountProperty().addListener((ov, oldValue, newValue) ->
setFiatCurrencyCode(newValue.getCurrency().getCurrencyCode()));
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Public methods // Public methods
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////

View file

@ -20,7 +20,6 @@ package io.bitsquare.trade;
import io.bitsquare.btc.BlockChainFacade; import io.bitsquare.btc.BlockChainFacade;
import io.bitsquare.btc.WalletFacade; import io.bitsquare.btc.WalletFacade;
import io.bitsquare.crypto.CryptoFacade; import io.bitsquare.crypto.CryptoFacade;
import io.bitsquare.gui.components.Popups;
import io.bitsquare.msg.MessageFacade; import io.bitsquare.msg.MessageFacade;
import io.bitsquare.msg.listeners.TakeOfferRequestListener; import io.bitsquare.msg.listeners.TakeOfferRequestListener;
import io.bitsquare.persistence.Persistence; import io.bitsquare.persistence.Persistence;
@ -321,9 +320,9 @@ public class TradeManager {
@Override @Override
public void onFault(Throwable throwable, BuyerAcceptsOfferProtocol.State state) { public void onFault(Throwable throwable, BuyerAcceptsOfferProtocol.State state) {
log.error("Error while executing trade process at state: " + state + " / " + throwable); log.error("Error while executing trade process at state: " + state + " / " + throwable);
Popups.openErrorPopup("Error while executing trade process", /* Popups.openErrorPopup("Error while executing trade process",
"Error while executing trade process at state: " + state + " / " + "Error while executing trade process at state: " + state + " / " +
throwable); throwable);*/
} }
@Override @Override

View file

@ -18,8 +18,6 @@
package io.bitsquare.user; package io.bitsquare.user;
import io.bitsquare.bank.BankAccount; import io.bitsquare.bank.BankAccount;
import io.bitsquare.gui.util.BSFormatter;
import io.bitsquare.gui.util.validation.FiatValidator;
import io.bitsquare.util.DSAKeyUtil; import io.bitsquare.util.DSAKeyUtil;
import java.io.Serializable; import java.io.Serializable;
@ -28,9 +26,7 @@ import java.security.KeyPair;
import java.security.PublicKey; import java.security.PublicKey;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Currency;
import java.util.List; import java.util.List;
import java.util.Locale;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -88,8 +84,6 @@ public class User implements Serializable {
// TODO use separate thread. DSAKeyUtil.getKeyPair() runs in same thread now // TODO use separate thread. DSAKeyUtil.getKeyPair() runs in same thread now
messageKeyPair = DSAKeyUtil.generateKeyPair(); messageKeyPair = DSAKeyUtil.generateKeyPair();
} }
BSFormatter.setFiatCurrencyCode(Currency.getInstance(Locale.getDefault()).getCurrencyCode());
} }
public void setBankAccount(BankAccount bankAccount) { public void setBankAccount(BankAccount bankAccount) {
@ -125,11 +119,6 @@ public class User implements Serializable {
public void setCurrentBankAccount(@Nullable BankAccount bankAccount) { public void setCurrentBankAccount(@Nullable BankAccount bankAccount) {
currentBankAccount.set(bankAccount); currentBankAccount.set(bankAccount);
if (currentBankAccount.get() != null) {
BSFormatter.setFiatCurrencyCode(currentBankAccount.get().getCurrency().getCurrencyCode());
FiatValidator.setFiatCurrencyCode(currentBankAccount.get().getCurrency().getCurrencyCode());
}
} }
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////