diff --git a/rules/src/main/java/dev/ikm/komet/rules/actions/axiom/AddIntervalRole.java b/rules/src/main/java/dev/ikm/komet/rules/actions/axiom/AddIntervalRole.java index 76215cd55..3b693123c 100644 --- a/rules/src/main/java/dev/ikm/komet/rules/actions/axiom/AddIntervalRole.java +++ b/rules/src/main/java/dev/ikm/komet/rules/actions/axiom/AddIntervalRole.java @@ -23,6 +23,9 @@ import dev.ikm.tinkar.coordinate.view.calculator.ViewCalculator; import dev.ikm.tinkar.terms.TinkarTerm; import javafx.event.ActionEvent; + +import java.math.BigDecimal; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,8 +42,8 @@ public AddIntervalRole(String text, AxiomSubjectRecord axiomSubjectRecord, ViewC @Override public void doAction(ActionEvent t, AxiomSubjectRecord axiomSubjectRecord, EditCoordinateRecord editCoordinate) { LogicalExpressionBuilder leb = new LogicalExpressionBuilder(axiomSubjectRecord.axiomTree()); - LogicalAxiom.Atom.TypedAtom.IntervalRole role = leb.IntervalRole(TinkarTerm.UNMODELED_ROLE_CONCEPT, 0, true, 10, - true, TinkarTerm.UNMODELED_ROLE_CONCEPT); + LogicalAxiom.Atom.TypedAtom.IntervalRole role = leb.IntervalRole(TinkarTerm.UNMODELED_ROLE_CONCEPT, + new BigDecimal(0), true, new BigDecimal(10), true, TinkarTerm.UNMODELED_ROLE_CONCEPT); leb.addToFirstAnd(axiomSubjectRecord.axiomIndex(), role); putUpdatedLogicalExpression(editCoordinate, leb.build()); } diff --git a/rules/src/main/java/dev/ikm/komet/rules/actions/axiom/ChangeIntervalBound.java b/rules/src/main/java/dev/ikm/komet/rules/actions/axiom/ChangeIntervalBound.java index 83843271a..d77e82211 100644 --- a/rules/src/main/java/dev/ikm/komet/rules/actions/axiom/ChangeIntervalBound.java +++ b/rules/src/main/java/dev/ikm/komet/rules/actions/axiom/ChangeIntervalBound.java @@ -15,6 +15,7 @@ */ package dev.ikm.komet.rules.actions.axiom; +import java.math.BigDecimal; import java.util.Optional; import dev.ikm.elk.snomed.interval.Interval; @@ -56,14 +57,14 @@ public void doAction(ActionEvent t, AxiomSubjectRecord axiomSubjectRecord, EditC if (!result.isPresent()) return; try { - int value = Integer.parseInt(result.get()); + BigDecimal value = new BigDecimal(result.get()); if (lower) { interval.setLowerBound(value); } else { interval.setUpperBound(value); } } catch (NumberFormatException ex) { - new Alert(AlertType.ERROR, "Enter an integer").showAndWait(); + new Alert(AlertType.ERROR, "Enter an integer or decimal ").showAndWait(); return; } LogicalExpressionBuilder leb = new LogicalExpressionBuilder(axiomSubjectRecord.axiomTree());