Routers update
This commit is contained in:
@@ -4,10 +4,10 @@
|
|||||||
<output url="file://$MODULE_DIR$/target/classes" />
|
<output url="file://$MODULE_DIR$/target/classes" />
|
||||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
|
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.0.b2" level="project" />
|
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.0.b2" level="project" />
|
||||||
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
|
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.slf4j:slf4j-log4j12:1.7.7" level="project" />
|
<orderEntry type="library" name="Maven: org.slf4j:slf4j-log4j12:1.7.7" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.controlsfx:controlsfx:8.0.6" level="project" />
|
<orderEntry type="library" name="Maven: org.controlsfx:controlsfx:8.0.6" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class OffersController {
|
|||||||
private VendorModel vendor;
|
private VendorModel vendor;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private ComboBox<Vendor> vendors;
|
private ComboBox<VendorModel> vendors;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private TableView<OfferDescModel> tblSell;
|
private TableView<OfferDescModel> tblSell;
|
||||||
@@ -35,7 +35,7 @@ public class OffersController {
|
|||||||
vendors.getSelectionModel().selectedItemProperty().addListener((ob, oldValue, newValue) ->{
|
vendors.getSelectionModel().selectedItemProperty().addListener((ob, oldValue, newValue) ->{
|
||||||
if (newValue != null){
|
if (newValue != null){
|
||||||
LOG.info("Change vendor to {}", newValue);
|
LOG.info("Change vendor to {}", newValue);
|
||||||
setVendor(newValue);
|
this.vendor = newValue;
|
||||||
fillTables(vendor);
|
fillTables(vendor);
|
||||||
} else {
|
} else {
|
||||||
vendors.getSelectionModel().select(oldValue);
|
vendors.getSelectionModel().select(oldValue);
|
||||||
@@ -78,9 +78,6 @@ public class OffersController {
|
|||||||
return vendor;
|
return vendor;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setVendor(Vendor vendor){
|
|
||||||
this.vendor = MainController.getMarket().asModel(vendor);
|
|
||||||
}
|
|
||||||
|
|
||||||
private OfferDescModel asOfferDescModel(OfferModel offer){
|
private OfferDescModel asOfferDescModel(OfferModel offer){
|
||||||
return MainController.getMarket().asOfferDescModel(offer);
|
return MainController.getMarket().asOfferDescModel(offer);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import ru.trader.core.Vendor;
|
|||||||
import ru.trader.model.MarketModel;
|
import ru.trader.model.MarketModel;
|
||||||
import ru.trader.model.OfferDescModel;
|
import ru.trader.model.OfferDescModel;
|
||||||
import ru.trader.model.OrderModel;
|
import ru.trader.model.OrderModel;
|
||||||
|
import ru.trader.model.VendorModel;
|
||||||
import ru.trader.view.support.NumberField;
|
import ru.trader.view.support.NumberField;
|
||||||
|
|
||||||
|
|
||||||
@@ -32,7 +33,7 @@ public class RoutersController {
|
|||||||
private Button add;
|
private Button add;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private ComboBox<Vendor> vendors;
|
private ComboBox<VendorModel> vendors;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private TableView<OrderModel> tblOrders;
|
private TableView<OrderModel> tblOrders;
|
||||||
@@ -49,18 +50,19 @@ public class RoutersController {
|
|||||||
while (c.next()) {
|
while (c.next()) {
|
||||||
if (c.wasRemoved()){
|
if (c.wasRemoved()){
|
||||||
for (OrderModel o : c.getRemoved()) {
|
for (OrderModel o : c.getRemoved()) {
|
||||||
totalProfit.setValue(totalProfit.getValue().doubleValue()-o.getProfit());
|
onRemove(o);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (c.wasAdded()){
|
if (c.wasAdded()){
|
||||||
for (OrderModel o : c.getAddedSubList()) {
|
for (OrderModel o : c.getAddedSubList()) {
|
||||||
totalProfit.setValue(totalProfit.getValue().doubleValue()+o.getProfit());
|
onAdd(o);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void init(){
|
void init(){
|
||||||
MarketModel market = MainController.getMarket();
|
MarketModel market = MainController.getMarket();
|
||||||
vendors.setItems(market.vendorsProperty());
|
vendors.setItems(market.vendorsProperty());
|
||||||
@@ -71,8 +73,20 @@ public class RoutersController {
|
|||||||
|
|
||||||
private Collection<OfferDescModel> getOffers(){
|
private Collection<OfferDescModel> getOffers(){
|
||||||
MarketModel market = MainController.getMarket();
|
MarketModel market = MainController.getMarket();
|
||||||
Vendor vendor = vendors.getSelectionModel().getSelectedItem();
|
VendorModel vendor = vendors.getSelectionModel().getSelectedItem();
|
||||||
return vendor.getAllSellOffers().stream().map(market::asOfferDescModel).collect(Collectors.toList());
|
return vendor.getSells(market::asOfferDescModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onAdd(OrderModel order){
|
||||||
|
balance.add(order.getProfit());
|
||||||
|
totalProfit.add(order.getProfit());
|
||||||
|
vendors.getSelectionModel().select(order.getBuyer().getVendor());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onRemove(OrderModel order) {
|
||||||
|
balance.sub(order.getProfit());
|
||||||
|
totalProfit.sub(order.getProfit());
|
||||||
|
vendors.getSelectionModel().select(order.getVendor());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addOrders(ActionEvent e){
|
public void addOrders(ActionEvent e){
|
||||||
|
|||||||
@@ -21,12 +21,12 @@ public class MarketModel {
|
|||||||
|
|
||||||
private final Collection<ChangeMarketListener> listener = new ArrayList<>();
|
private final Collection<ChangeMarketListener> listener = new ArrayList<>();
|
||||||
|
|
||||||
private final ListProperty<Vendor> vendors;
|
private final ListProperty<VendorModel> vendors;
|
||||||
private final ListProperty<ItemDescModel> items;
|
private final ListProperty<ItemDescModel> items;
|
||||||
|
|
||||||
private boolean alert = true;
|
private boolean alert = true;
|
||||||
|
|
||||||
public ReadOnlyListProperty<Vendor> vendorsProperty() {
|
public ReadOnlyListProperty<VendorModel> vendorsProperty() {
|
||||||
return vendors;
|
return vendors;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,8 +40,8 @@ public class MarketModel {
|
|||||||
|
|
||||||
public MarketModel(Market market) {
|
public MarketModel(Market market) {
|
||||||
this.market = market;
|
this.market = market;
|
||||||
items = new SimpleListProperty<>(BindingsHelper.observableList(market.getItems(), this::getItemDesc));
|
items = new SimpleListProperty<ItemDescModel>(BindingsHelper.observableList(market.getItems(), this::getItemDesc));
|
||||||
vendors = new SimpleListProperty<>(FXCollections.observableArrayList(market.get()));
|
vendors = new SimpleListProperty<VendorModel>(BindingsHelper.observableList(market.get(), this::asModel));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addListener(ChangeMarketListener listener){
|
public void addListener(ChangeMarketListener listener){
|
||||||
@@ -101,7 +101,7 @@ public class MarketModel {
|
|||||||
LOG.info("Add vendor {} to market {}", vendor, this);
|
LOG.info("Add vendor {} to market {}", vendor, this);
|
||||||
market.add(vendor.getVendor());
|
market.add(vendor.getVendor());
|
||||||
if (alert) listener.forEach((c) -> c.add(vendor));
|
if (alert) listener.forEach((c) -> c.add(vendor));
|
||||||
vendors.add(vendor.getVendor());
|
vendors.add(vendor);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(ItemModel item) {
|
public void add(ItemModel item) {
|
||||||
|
|||||||
@@ -28,6 +28,14 @@ public class NumberField extends TextField {
|
|||||||
setText(converter.toString(value));
|
setText(converter.toString(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void add(Number value){
|
||||||
|
setValue(number.getValue().doubleValue() + value.doubleValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sub(Number value){
|
||||||
|
setValue(number.getValue().doubleValue() - value.doubleValue());
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isWrong() {
|
public boolean isWrong() {
|
||||||
return wrong.get();
|
return wrong.get();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,5 +51,5 @@
|
|||||||
<TableView fx:constant="UNCONSTRAINED_RESIZE_POLICY"/>
|
<TableView fx:constant="UNCONSTRAINED_RESIZE_POLICY"/>
|
||||||
</columnResizePolicy>
|
</columnResizePolicy>
|
||||||
</TableView>
|
</TableView>
|
||||||
<HBox><Label text="Итого:"/><NumberField editable="false" fx:id="totalProfit"/></HBox>
|
<HBox><Label text="Суммарная прибыль:"/><NumberField editable="false" fx:id="totalProfit"/></HBox>
|
||||||
</VBox>
|
</VBox>
|
||||||
|
|||||||
Reference in New Issue
Block a user