Search in sources :

Example 21 with SecurityNode

use of jgnash.engine.SecurityNode in project jgnash by ccavanaugh.

the class CreateModifySecuritiesController method handleApplyAction.

@FXML
private void handleApplyAction() {
    // always ensure a positive scale is entered
    if (scaleTextField.getInteger() <= 0) {
        scaleTextField.setInteger((int) reportedCurrencyComboBox.getValue().getScale());
    }
    final Engine engine = EngineFactory.getEngine(EngineFactory.DEFAULT);
    Objects.requireNonNull(engine);
    final SecurityNode newNode = buildSecurityNode();
    if (selectedSecurityNode.get() != null) {
        if (!engine.updateCommodity(selectedSecurityNode.get(), newNode)) {
            StaticUIMethods.displayError(ResourceUtils.getString("Message.Error.SecurityUpdate", newNode.getSymbol()));
        }
    } else {
        if (!engine.addSecurity(newNode)) {
            StaticUIMethods.displayError(ResourceUtils.getString("Message.Error.SecurityAdd", newNode.getSymbol()));
        }
    }
    clearForm();
}
Also used : SecurityNode(jgnash.engine.SecurityNode) Engine(jgnash.engine.Engine) InjectFXML(jgnash.uifx.util.InjectFXML) FXML(javafx.fxml.FXML)

Example 22 with SecurityNode

use of jgnash.engine.SecurityNode in project jgnash by ccavanaugh.

the class CreateModifySecuritiesController method buildSecurityNode.

private SecurityNode buildSecurityNode() {
    final SecurityNode node = new SecurityNode(reportedCurrencyComboBox.getValue());
    node.setDescription(descriptionTextField.getText());
    node.setScale(scaleTextField.getInteger().byteValue());
    node.setSymbol(symbolTextField.getText().trim());
    node.setISIN(cusipTextField.getText());
    node.setQuoteSource(quoteSourceComboBox.getValue());
    return node;
}
Also used : SecurityNode(jgnash.engine.SecurityNode)

Example 23 with SecurityNode

use of jgnash.engine.SecurityNode in project jgnash by ccavanaugh.

the class CreateModifySecuritiesController method loadForm.

private void loadForm() {
    if (selectedSecurityNode.get() != null) {
        final SecurityNode node = selectedSecurityNode.get();
        symbolTextField.setText(node.getSymbol());
        cusipTextField.setText(node.getISIN().trim());
        descriptionTextField.setText(node.getDescription());
        scaleTextField.setInteger((int) node.getScale());
        reportedCurrencyComboBox.setValue(node.getReportedCurrencyNode());
        quoteSourceComboBox.setValue(node.getQuoteSource());
    }
}
Also used : SecurityNode(jgnash.engine.SecurityNode)

Example 24 with SecurityNode

use of jgnash.engine.SecurityNode in project jgnash by ccavanaugh.

the class CreateModifySecuritiesController method loadList.

private void loadList() {
    final Engine engine = EngineFactory.getEngine(EngineFactory.DEFAULT);
    Objects.requireNonNull(engine);
    final List<SecurityNode> securityNodeList = engine.getSecurities();
    JavaFXUtils.runLater(() -> {
        listView.getItems().setAll(securityNodeList);
        FXCollections.sort(listView.getItems());
        clearForm();
    });
}
Also used : SecurityNode(jgnash.engine.SecurityNode) Engine(jgnash.engine.Engine)

Example 25 with SecurityNode

use of jgnash.engine.SecurityNode in project jgnash by ccavanaugh.

the class SecurityComboBox method loadModel.

private void loadModel() {
    final Collection<SecurityNode> securityNodes;
    if (account.get() != null) {
        items.clear();
        securityNodes = account.get().getSecurities();
    } else {
        final Engine engine = EngineFactory.getEngine(EngineFactory.DEFAULT);
        Objects.requireNonNull(engine);
        securityNodes = engine.getSecurities();
    }
    if (!securityNodes.isEmpty()) {
        final List<SecurityNode> sortedNodeList = new ArrayList<>(securityNodes);
        Collections.sort(sortedNodeList);
        items.addAll(sortedNodeList);
        getSelectionModel().select(0);
    }
}
Also used : SecurityNode(jgnash.engine.SecurityNode) ArrayList(java.util.ArrayList) Engine(jgnash.engine.Engine)

Aggregations

SecurityNode (jgnash.engine.SecurityNode)39 Engine (jgnash.engine.Engine)12 Account (jgnash.engine.Account)10 SecurityHistoryNode (jgnash.engine.SecurityHistoryNode)8 LocalDate (java.time.LocalDate)7 ArrayList (java.util.ArrayList)6 AbstractEngineTest (jgnash.engine.AbstractEngineTest)6 Test (org.junit.jupiter.api.Test)6 CurrencyNode (jgnash.engine.CurrencyNode)5 DisabledIfEnvironmentVariable (org.junit.jupiter.api.condition.DisabledIfEnvironmentVariable)5 List (java.util.List)4 QuoteSource (jgnash.engine.QuoteSource)4 SecurityParser (jgnash.net.security.SecurityParser)4 FXML (javafx.fxml.FXML)3 InvestmentTransaction (jgnash.engine.InvestmentTransaction)3 SecurityHistoryEvent (jgnash.engine.SecurityHistoryEvent)3 Transaction (jgnash.engine.Transaction)3 IEXParser (jgnash.net.security.iex.IEXParser)3 InjectFXML (jgnash.uifx.util.InjectFXML)3 NotNull (jgnash.util.NotNull)3