summaryrefslogtreecommitdiff
path: root/src/org/unitConverter/converterGUI
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/unitConverter/converterGUI')
-rwxr-xr-xsrc/org/unitConverter/converterGUI/UnitConverterGUI.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/org/unitConverter/converterGUI/UnitConverterGUI.java b/src/org/unitConverter/converterGUI/UnitConverterGUI.java
index 867211c..fd40ff4 100755
--- a/src/org/unitConverter/converterGUI/UnitConverterGUI.java
+++ b/src/org/unitConverter/converterGUI/UnitConverterGUI.java
@@ -47,7 +47,7 @@ import javax.swing.ListSelectionModel;
import org.unitConverter.UnitsDatabase;
import org.unitConverter.dimension.StandardDimensions;
import org.unitConverter.dimension.UnitDimension;
-import org.unitConverter.unit.AbstractUnit;
+import org.unitConverter.unit.BaseUnit;
import org.unitConverter.unit.NonlinearUnits;
import org.unitConverter.unit.SI;
import org.unitConverter.unit.Unit;
@@ -143,8 +143,13 @@ final class UnitConverterGUI {
this.prefixNamesFiltered = new DelegateListModel<>(new ArrayList<>(this.units.prefixNameSet()));
this.prefixNamesFiltered.sort(this.prefixNameComparator); // sorts it using my comparator
- System.out.printf("Successfully loaded %d units (%d base units)", AbstractUnit.getUnitCount(),
- AbstractUnit.getBaseUnitCount());
+ // a Predicate that returns true iff the argument is a full base unit
+ final Predicate<Unit> isFullBase = unit -> unit instanceof BaseUnit && ((BaseUnit) unit).isFullBase();
+
+ // print out unit counts
+ System.out.printf("Successfully loaded %d units with %d unit names (%d base units).%n",
+ this.units.prefixlessUnitSet().size(), this.units.prefixlessUnitNameSet().size(),
+ this.units.prefixlessUnitSet().stream().filter(isFullBase).count());
}
/**
@@ -162,6 +167,11 @@ final class UnitConverterGUI {
final String fromUnitString = this.view.getFromText();
final String toUnitString = this.view.getToText();
+ if (fromUnitString.isEmpty()) {
+ this.view.showErrorDialog("Parse Error", "Please enter a unit expression in the From: box.");
+ return;
+ }
+
// try to parse from
final Unit from;
try {
@@ -175,8 +185,8 @@ final class UnitConverterGUI {
// try to parse to
final Unit to;
try {
- // if it's a unit, convert to that
if (this.units.containsUnitName(toUnitString)) {
+ // if it's a unit, convert to that
to = this.units.getUnit(toUnitString);
} else {
to = this.units.getUnitFromExpression(toUnitString);