mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-27 17:05:29 -04:00
Rename orders to portfolio, orderbook to offerbook
This commit is contained in:
parent
68387eb13d
commit
1184476448
11 changed files with 49 additions and 49 deletions
|
@ -66,9 +66,9 @@ public class MainViewCB extends ViewCB<MainPM> {
|
||||||
private VBox splashScreen;
|
private VBox splashScreen;
|
||||||
private AnchorPane contentContainer;
|
private AnchorPane contentContainer;
|
||||||
private HBox leftNavPane, rightNavPane;
|
private HBox leftNavPane, rightNavPane;
|
||||||
private ToggleButton buyButton, sellButton, homeButton, msgButton, ordersButton, fundsButton, settingsButton,
|
private ToggleButton buyButton, sellButton, homeButton, msgButton, portfolioButton, fundsButton, settingsButton,
|
||||||
accountButton;
|
accountButton;
|
||||||
private Pane ordersButtonButtonPane;
|
private Pane portfolioButtonButtonPane;
|
||||||
private Label numPendingTradesLabel;
|
private Label numPendingTradesLabel;
|
||||||
|
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ public class MainViewCB extends ViewCB<MainPM> {
|
||||||
private void applyPendingTradesInfoIcon(int numPendingTrades) {
|
private void applyPendingTradesInfoIcon(int numPendingTrades) {
|
||||||
log.debug("numPendingTrades " + numPendingTrades);
|
log.debug("numPendingTrades " + numPendingTrades);
|
||||||
if (numPendingTrades > 0) {
|
if (numPendingTrades > 0) {
|
||||||
if (ordersButtonButtonPane.getChildren().size() == 1) {
|
if (portfolioButtonButtonPane.getChildren().size() == 1) {
|
||||||
ImageView icon = new ImageView();
|
ImageView icon = new ImageView();
|
||||||
icon.setLayoutX(0.5);
|
icon.setLayoutX(0.5);
|
||||||
icon.setId("image-alert-round");
|
icon.setId("image-alert-round");
|
||||||
|
@ -207,7 +207,7 @@ public class MainViewCB extends ViewCB<MainPM> {
|
||||||
alert.setMouseTransparent(true);
|
alert.setMouseTransparent(true);
|
||||||
alert.setEffect(new DropShadow(4, 1, 2, Color.GREY));
|
alert.setEffect(new DropShadow(4, 1, 2, Color.GREY));
|
||||||
alert.getChildren().addAll(icon, numPendingTradesLabel);
|
alert.getChildren().addAll(icon, numPendingTradesLabel);
|
||||||
ordersButtonButtonPane.getChildren().add(alert);
|
portfolioButtonButtonPane.getChildren().add(alert);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
numPendingTradesLabel.setText(String.valueOf(numPendingTrades));
|
numPendingTradesLabel.setText(String.valueOf(numPendingTrades));
|
||||||
|
@ -217,8 +217,8 @@ public class MainViewCB extends ViewCB<MainPM> {
|
||||||
SystemNotification.openInfoNotification(BitSquare.getAppName(), "You got a new trade message.");
|
SystemNotification.openInfoNotification(BitSquare.getAppName(), "You got a new trade message.");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (ordersButtonButtonPane.getChildren().size() > 1)
|
if (portfolioButtonButtonPane.getChildren().size() > 1)
|
||||||
ordersButtonButtonPane.getChildren().remove(1);
|
portfolioButtonButtonPane.getChildren().remove(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@ public class MainViewCB extends ViewCB<MainPM> {
|
||||||
msgButton.setSelected(true);
|
msgButton.setSelected(true);
|
||||||
break;
|
break;
|
||||||
case PORTFOLIO:
|
case PORTFOLIO:
|
||||||
ordersButton.setSelected(true);
|
portfolioButton.setSelected(true);
|
||||||
break;
|
break;
|
||||||
case SETTINGS:
|
case SETTINGS:
|
||||||
settingsButton.setSelected(true);
|
settingsButton.setSelected(true);
|
||||||
|
@ -336,9 +336,9 @@ public class MainViewCB extends ViewCB<MainPM> {
|
||||||
buyButton = addNavButton(leftNavPane, "Buy BTC", Navigation.Item.BUY);
|
buyButton = addNavButton(leftNavPane, "Buy BTC", Navigation.Item.BUY);
|
||||||
sellButton = addNavButton(leftNavPane, "Sell BTC", Navigation.Item.SELL);
|
sellButton = addNavButton(leftNavPane, "Sell BTC", Navigation.Item.SELL);
|
||||||
|
|
||||||
ordersButtonButtonPane = new Pane();
|
portfolioButtonButtonPane = new Pane();
|
||||||
ordersButton = addNavButton(ordersButtonButtonPane, "Portfolio", Navigation.Item.PORTFOLIO);
|
portfolioButton = addNavButton(portfolioButtonButtonPane, "Portfolio", Navigation.Item.PORTFOLIO);
|
||||||
leftNavPane.getChildren().add(ordersButtonButtonPane);
|
leftNavPane.getChildren().add(portfolioButtonButtonPane);
|
||||||
|
|
||||||
fundsButton = addNavButton(leftNavPane, "Funds", Navigation.Item.FUNDS);
|
fundsButton = addNavButton(leftNavPane, "Funds", Navigation.Item.FUNDS);
|
||||||
|
|
||||||
|
|
|
@ -49,8 +49,8 @@ import org.slf4j.LoggerFactory;
|
||||||
public class TradeViewCB extends CachedViewCB implements TradeNavigator {
|
public class TradeViewCB extends CachedViewCB implements TradeNavigator {
|
||||||
private static final Logger log = LoggerFactory.getLogger(TradeViewCB.class);
|
private static final Logger log = LoggerFactory.getLogger(TradeViewCB.class);
|
||||||
|
|
||||||
// private final OrderBookInfo orderBookInfo = new OrderBookInfo();
|
// private final OfferBookInfo offerBookInfo = new OfferBookInfo();
|
||||||
private OfferBookViewCB orderBookViewCB;
|
private OfferBookViewCB offerBookViewCB;
|
||||||
private CreateOfferViewCB createOfferViewCB;
|
private CreateOfferViewCB createOfferViewCB;
|
||||||
private TakeOfferViewCB takeOfferViewCB;
|
private TakeOfferViewCB takeOfferViewCB;
|
||||||
private Node createOfferView;
|
private Node createOfferView;
|
||||||
|
@ -166,23 +166,23 @@ public class TradeViewCB extends CachedViewCB implements TradeNavigator {
|
||||||
protected Initializable loadView(Navigation.Item navigationItem) {
|
protected Initializable loadView(Navigation.Item navigationItem) {
|
||||||
super.loadView(navigationItem);
|
super.loadView(navigationItem);
|
||||||
TabPane tabPane = (TabPane) root;
|
TabPane tabPane = (TabPane) root;
|
||||||
if (navigationItem == Navigation.Item.OFFER_BOOK && orderBookViewCB == null) {
|
if (navigationItem == Navigation.Item.OFFER_BOOK && offerBookViewCB == null) {
|
||||||
// Orderbook must not be cached by ViewLoader as we use 2 instances for sell and buy screens.
|
// Offerbook must not be cached by ViewLoader as we use 2 instances for sell and buy screens.
|
||||||
ViewLoader orderBookLoader =
|
ViewLoader offerBookLoader =
|
||||||
new ViewLoader(getClass().getResource(navigationItem.getFxmlUrl()), false);
|
new ViewLoader(getClass().getResource(navigationItem.getFxmlUrl()), false);
|
||||||
try {
|
try {
|
||||||
final Parent view = orderBookLoader.load();
|
final Parent view = offerBookLoader.load();
|
||||||
final Tab tab = new Tab(direction == Direction.BUY ? "Buy Bitcoin" : "Sell Bitcoin");
|
final Tab tab = new Tab(direction == Direction.BUY ? "Buy Bitcoin" : "Sell Bitcoin");
|
||||||
tab.setClosable(false);
|
tab.setClosable(false);
|
||||||
tab.setContent(view);
|
tab.setContent(view);
|
||||||
tabPane.getTabs().add(tab);
|
tabPane.getTabs().add(tab);
|
||||||
orderBookViewCB = orderBookLoader.getController();
|
offerBookViewCB = offerBookLoader.getController();
|
||||||
orderBookViewCB.setParent(this);
|
offerBookViewCB.setParent(this);
|
||||||
|
|
||||||
orderBookViewCB.setDirection(direction);
|
offerBookViewCB.setDirection(direction);
|
||||||
// orderBookViewCB.setNavigationListener(n -> loadView(n));
|
// offerBookViewCB.setNavigationListener(n -> loadView(n));
|
||||||
|
|
||||||
return orderBookViewCB;
|
return offerBookViewCB;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
@ -241,7 +241,7 @@ public class TradeViewCB extends CachedViewCB implements TradeNavigator {
|
||||||
|
|
||||||
private void onCreateOfferViewRemoved() {
|
private void onCreateOfferViewRemoved() {
|
||||||
createOfferViewCB = null;
|
createOfferViewCB = null;
|
||||||
orderBookViewCB.enableCreateOfferButton();
|
offerBookViewCB.enableCreateOfferButton();
|
||||||
|
|
||||||
// update the navigation state
|
// update the navigation state
|
||||||
navigation.navigationTo(Navigation.Item.MAIN, navigationItem, Navigation.Item.OFFER_BOOK);
|
navigation.navigationTo(Navigation.Item.MAIN, navigationItem, Navigation.Item.OFFER_BOOK);
|
||||||
|
|
|
@ -152,7 +152,7 @@ class CreateOfferPM extends PresentationModel<CreateOfferModel> {
|
||||||
// Public API methods
|
// Public API methods
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// setOrderBookFilter is a one time call
|
// setOfferBookFilter is a one time call
|
||||||
void initWithData(Direction direction, Coin amount, Fiat price) {
|
void initWithData(Direction direction, Coin amount, Fiat price) {
|
||||||
model.setDirection(direction);
|
model.setDirection(direction);
|
||||||
directionLabel.set(model.getDirection() == Direction.BUY ? BSResources.get("shared.buy") : BSResources.get
|
directionLabel.set(model.getDirection() == Direction.BUY ? BSResources.get("shared.buy") : BSResources.get
|
||||||
|
|
|
@ -150,7 +150,7 @@ public class CreateOfferViewCB extends CachedViewCB<CreateOfferPM> {
|
||||||
super.terminate();
|
super.terminate();
|
||||||
|
|
||||||
// Inform parent that we got removed.
|
// Inform parent that we got removed.
|
||||||
// Needed to reset disable state of createOfferButton in OrderBookController
|
// Needed to reset disable state of createOfferButton in OfferBookController
|
||||||
if (closeListener != null)
|
if (closeListener != null)
|
||||||
closeListener.onClosed();
|
closeListener.onClosed();
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,10 +41,10 @@ import org.slf4j.LoggerFactory;
|
||||||
import static com.google.common.base.Preconditions.checkArgument;
|
import static com.google.common.base.Preconditions.checkArgument;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds and manages the unsorted and unfiltered orderbook list of both buy and sell offers.
|
* Holds and manages the unsorted and unfiltered offerbook list of both buy and sell offers.
|
||||||
* It is handled as singleton by Guice and is used by 2 instances of OrderBookModel (one for Buy one for Sell).
|
* It is handled as singleton by Guice and is used by 2 instances of OfferBookModel (one for Buy one for Sell).
|
||||||
* As it is used only by the Buy and Sell UIs we treat it as local UI model.
|
* As it is used only by the Buy and Sell UIs we treat it as local UI model.
|
||||||
* It also use OrderBookListener as the lists items class and we don't want to get any dependency out of the package
|
* It also use OfferBookListener as the lists items class and we don't want to get any dependency out of the package
|
||||||
* for that.
|
* for that.
|
||||||
*/
|
*/
|
||||||
public class OfferBook {
|
public class OfferBook {
|
||||||
|
@ -79,14 +79,14 @@ public class OfferBook {
|
||||||
offerBookListener = new OfferBookListener() {
|
offerBookListener = new OfferBookListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onOfferAdded(Offer offer) {
|
public void onOfferAdded(Offer offer) {
|
||||||
addOfferToOrderBookListItems(offer);
|
addOfferToOfferBookListItems(offer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onOffersReceived(List<Offer> offers) {
|
public void onOffersReceived(List<Offer> offers) {
|
||||||
//TODO use deltas instead replacing the whole list
|
//TODO use deltas instead replacing the whole list
|
||||||
offerBookListItems.clear();
|
offerBookListItems.clear();
|
||||||
offers.stream().forEach(e -> addOfferToOrderBookListItems(e));
|
offers.stream().forEach(e -> addOfferToOfferBookListItems(e));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -143,18 +143,18 @@ public class OfferBook {
|
||||||
private void addListeners() {
|
private void addListeners() {
|
||||||
log.debug("addListeners ");
|
log.debug("addListeners ");
|
||||||
user.currentBankAccountProperty().addListener(bankAccountChangeListener);
|
user.currentBankAccountProperty().addListener(bankAccountChangeListener);
|
||||||
messageFacade.addOrderBookListener(offerBookListener);
|
messageFacade.addOfferBookListener(offerBookListener);
|
||||||
messageFacade.invalidationTimestampProperty().addListener(invalidationListener);
|
messageFacade.invalidationTimestampProperty().addListener(invalidationListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeListeners() {
|
private void removeListeners() {
|
||||||
log.debug("removeListeners ");
|
log.debug("removeListeners ");
|
||||||
user.currentBankAccountProperty().removeListener(bankAccountChangeListener);
|
user.currentBankAccountProperty().removeListener(bankAccountChangeListener);
|
||||||
messageFacade.removeOrderBookListener(offerBookListener);
|
messageFacade.removeOfferBookListener(offerBookListener);
|
||||||
messageFacade.invalidationTimestampProperty().removeListener(invalidationListener);
|
messageFacade.invalidationTimestampProperty().removeListener(invalidationListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addOfferToOrderBookListItems(Offer offer) {
|
private void addOfferToOfferBookListItems(Offer offer) {
|
||||||
if (offer != null) {
|
if (offer != null) {
|
||||||
offerBookListItems.add(new OfferBookListItem(offer, country));
|
offerBookListItems.add(new OfferBookListItem(offer, country));
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,14 +55,14 @@ class OfferBookModel extends UIModel {
|
||||||
private static final Logger log = LoggerFactory.getLogger(OfferBookModel.class);
|
private static final Logger log = LoggerFactory.getLogger(OfferBookModel.class);
|
||||||
|
|
||||||
private final User user;
|
private final User user;
|
||||||
private final OfferBook orderBook;
|
private final OfferBook offerBook;
|
||||||
private final Settings settings;
|
private final Settings settings;
|
||||||
private BSFormatter formatter;
|
private BSFormatter formatter;
|
||||||
private final TradeManager tradeManager;
|
private final TradeManager tradeManager;
|
||||||
|
|
||||||
private final FilteredList<OfferBookListItem> filteredItems;
|
private final FilteredList<OfferBookListItem> filteredItems;
|
||||||
private final SortedList<OfferBookListItem> sortedItems;
|
private final SortedList<OfferBookListItem> sortedItems;
|
||||||
// private OrderBookInfo orderBookInfo;
|
// private OfferBookInfo offerBookInfo;
|
||||||
private ChangeListener<BankAccount> bankAccountChangeListener;
|
private ChangeListener<BankAccount> bankAccountChangeListener;
|
||||||
|
|
||||||
private final ObjectProperty<Coin> amountAsCoin = new SimpleObjectProperty<>();
|
private final ObjectProperty<Coin> amountAsCoin = new SimpleObjectProperty<>();
|
||||||
|
@ -84,16 +84,16 @@ class OfferBookModel extends UIModel {
|
||||||
@Inject
|
@Inject
|
||||||
OfferBookModel(User user,
|
OfferBookModel(User user,
|
||||||
TradeManager tradeManager,
|
TradeManager tradeManager,
|
||||||
OfferBook orderBook,
|
OfferBook offerBook,
|
||||||
Settings settings,
|
Settings settings,
|
||||||
BSFormatter formatter) {
|
BSFormatter formatter) {
|
||||||
this.tradeManager = tradeManager;
|
this.tradeManager = tradeManager;
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.orderBook = orderBook;
|
this.offerBook = offerBook;
|
||||||
this.settings = settings;
|
this.settings = settings;
|
||||||
this.formatter = formatter;
|
this.formatter = formatter;
|
||||||
|
|
||||||
filteredItems = new FilteredList<>(orderBook.getOfferBookListItems());
|
filteredItems = new FilteredList<>(offerBook.getOfferBookListItems());
|
||||||
sortedItems = new SortedList<>(filteredItems);
|
sortedItems = new SortedList<>(filteredItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@ class OfferBookModel extends UIModel {
|
||||||
public void activate() {
|
public void activate() {
|
||||||
super.activate();
|
super.activate();
|
||||||
|
|
||||||
orderBook.addClient();
|
offerBook.addClient();
|
||||||
user.currentBankAccountProperty().addListener(bankAccountChangeListener);
|
user.currentBankAccountProperty().addListener(bankAccountChangeListener);
|
||||||
btcCode.bind(settings.btcDenominationProperty());
|
btcCode.bind(settings.btcDenominationProperty());
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ class OfferBookModel extends UIModel {
|
||||||
public void deactivate() {
|
public void deactivate() {
|
||||||
super.deactivate();
|
super.deactivate();
|
||||||
|
|
||||||
orderBook.removeClient();
|
offerBook.removeClient();
|
||||||
user.currentBankAccountProperty().removeListener(bankAccountChangeListener);
|
user.currentBankAccountProperty().removeListener(bankAccountChangeListener);
|
||||||
btcCode.unbind();
|
btcCode.unbind();
|
||||||
}
|
}
|
||||||
|
@ -294,8 +294,8 @@ class OfferBookModel extends UIModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
void applyFilter() {
|
void applyFilter() {
|
||||||
filteredItems.setPredicate(orderBookListItem -> {
|
filteredItems.setPredicate(offerBookListItem -> {
|
||||||
Offer offer = orderBookListItem.getOffer();
|
Offer offer = offerBookListItem.getOffer();
|
||||||
|
|
||||||
boolean directionResult = offer.getDirection() != direction;
|
boolean directionResult = offer.getDirection() != direction;
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ public class OfferBookViewCB extends CachedViewCB<OfferBookPM> {
|
||||||
public void activate() {
|
public void activate() {
|
||||||
super.activate();
|
super.activate();
|
||||||
|
|
||||||
// setOrderBookInfo has been called before
|
// setOfferBookInfo has been called before
|
||||||
SortedList<OfferBookListItem> offerList = presentationModel.getOfferList();
|
SortedList<OfferBookListItem> offerList = presentationModel.getOfferList();
|
||||||
table.setItems(offerList);
|
table.setItems(offerList);
|
||||||
offerList.comparatorProperty().bind(table.comparatorProperty());
|
offerList.comparatorProperty().bind(table.comparatorProperty());
|
||||||
|
|
|
@ -140,7 +140,7 @@ class TakeOfferPM extends PresentationModel<TakeOfferModel> {
|
||||||
// Setter
|
// Setter
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// setOrderBookFilter is a one time call
|
// setOfferBookFilter is a one time call
|
||||||
void initWithData(Direction direction, Coin amount, Offer offer) {
|
void initWithData(Direction direction, Coin amount, Offer offer) {
|
||||||
model.initWithData(amount, offer);
|
model.initWithData(amount, offer);
|
||||||
|
|
||||||
|
|
|
@ -231,14 +231,14 @@ public class MessageFacade implements MessageBroker {
|
||||||
public void operationComplete(BaseFuture future) throws Exception {
|
public void operationComplete(BaseFuture future) throws Exception {
|
||||||
if (future.isSuccess()) {
|
if (future.isSuccess()) {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
offerBookListeners.stream().forEach(orderBookListener -> {
|
offerBookListeners.stream().forEach(offerBookListener -> {
|
||||||
try {
|
try {
|
||||||
Object offerDataObject = offerData.object();
|
Object offerDataObject = offerData.object();
|
||||||
if (offerDataObject instanceof Offer) {
|
if (offerDataObject instanceof Offer) {
|
||||||
log.trace("Remove offer from DHT was successful. Removed data: [key: " +
|
log.trace("Remove offer from DHT was successful. Removed data: [key: " +
|
||||||
locationKey + ", " +
|
locationKey + ", " +
|
||||||
"offer: " + (Offer) offerDataObject + "]");
|
"offer: " + (Offer) offerDataObject + "]");
|
||||||
orderBookListener.onOfferRemoved((Offer) offerDataObject);
|
offerBookListener.onOfferRemoved((Offer) offerDataObject);
|
||||||
}
|
}
|
||||||
} catch (ClassNotFoundException | IOException e) {
|
} catch (ClassNotFoundException | IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -447,11 +447,11 @@ public class MessageFacade implements MessageBroker {
|
||||||
// Event Listeners
|
// Event Listeners
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
public void addOrderBookListener(OfferBookListener listener) {
|
public void addOfferBookListener(OfferBookListener listener) {
|
||||||
offerBookListeners.add(listener);
|
offerBookListeners.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeOrderBookListener(OfferBookListener listener) {
|
public void removeOfferBookListener(OfferBookListener listener) {
|
||||||
offerBookListeners.remove(listener);
|
offerBookListeners.remove(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
<TitledSeparator text="Open trades" GridPane.rowIndex="0" GridPane.columnIndex="0"
|
<TitledSeparator text="Open trades" GridPane.rowIndex="0" GridPane.columnIndex="0"
|
||||||
GridPane.columnSpan="2"/>
|
GridPane.columnSpan="2"/>
|
||||||
|
|
||||||
<TableView fx:id="orderBookTable" GridPane.rowIndex="0" GridPane.columnIndex="0" GridPane.columnSpan="2"
|
<TableView fx:id="offerBookTable" GridPane.rowIndex="0" GridPane.columnIndex="0" GridPane.columnSpan="2"
|
||||||
prefHeight="150">
|
prefHeight="150">
|
||||||
<GridPane.margin>
|
<GridPane.margin>
|
||||||
<Insets top="10.0" left="-10" right="-10"/>
|
<Insets top="10.0" left="-10" right="-10"/>
|
||||||
|
|
|
@ -89,7 +89,7 @@ public class DHTTestController implements Initializable {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
messageFacade.addOrderBookListener(new OfferBookListener() {
|
messageFacade.addOfferBookListener(new OfferBookListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onOfferAdded(Offer offer) {
|
public void onOfferAdded(Offer offer) {
|
||||||
log.debug("offer added " + offer.getId());
|
log.debug("offer added " + offer.getId());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue