summaryrefslogtreecommitdiff
path: root/src/org/unitConverter
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/unitConverter')
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/UnitsDatabase.java26
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/converterGUI/DelegateListModel.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/converterGUI/FilterComparator.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/converterGUI/GridBagBuilder.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/converterGUI/UnitConverterGUI.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/dimension/BaseDimension.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/dimension/OtherBaseDimension.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/dimension/SIBaseDimension.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/dimension/StandardDimensions.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/dimension/UnitDimension.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/dimension/package-info.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/unit/BaseUnit.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/unit/DefaultUnitPrefix.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/unit/NonlinearUnits.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/unit/SIPrefix.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/unit/Unit.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/unit/UnitPrefix.java0
-rw-r--r--[-rwxr-xr-x]src/org/unitConverter/unit/UnitSystem.java0
18 files changed, 21 insertions, 5 deletions
diff --git a/src/org/unitConverter/UnitsDatabase.java b/src/org/unitConverter/UnitsDatabase.java
index 37d53d4..dcc98df 100755..100644
--- a/src/org/unitConverter/UnitsDatabase.java
+++ b/src/org/unitConverter/UnitsDatabase.java
@@ -36,6 +36,8 @@ import java.util.Set;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Predicate;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.unitConverter.dimension.UnitDimension;
import org.unitConverter.math.DecimalComparison;
@@ -972,6 +974,11 @@ public final class UnitsDatabase {
}
/**
+ * A regular expression that separates names and expressions in unit files.
+ */
+ private static final Pattern NAME_EXPRESSION = Pattern.compile("(\\S+)\\s+(\\S.*)");
+
+ /**
* The exponent operator
*
* @param base
@@ -1200,13 +1207,22 @@ public final class UnitsDatabase {
}
// divide line into name and expression
- final String[] parts = line.split("\t");
- if (parts.length < 2)
+ final Matcher lineMatcher = NAME_EXPRESSION.matcher(line);
+ if (!lineMatcher.matches())
throw new IllegalArgumentException(String.format(
- "Lines must consist of a unit name and its definition, separated by tab(s) (line %d).",
+ "Error at line %d: Lines of a unit file must consist of a unit name, then spaces or tabs, then a unit expression.",
lineCounter));
- final String name = parts[0];
- final String expression = parts[parts.length - 1];
+ final String name = lineMatcher.group(1);
+ final String expression = lineMatcher.group(2);
+
+ // divide line into name and expression
+ // final String[] parts = line.split("\t");
+ // if (parts.length < 2)
+ // throw new IllegalArgumentException(String.format(
+ // "Lines must consist of a unit name and its definition, separated by tab(s) (line %d).",
+ // lineCounter));
+ // final String name = parts[0];
+ // final String expression = parts[parts.length - 1];
if (name.endsWith(" ")) {
System.err.printf("Warning - line %d's unit name ends in a space", lineCounter);
diff --git a/src/org/unitConverter/converterGUI/DelegateListModel.java b/src/org/unitConverter/converterGUI/DelegateListModel.java
index b80f63d..b80f63d 100755..100644
--- a/src/org/unitConverter/converterGUI/DelegateListModel.java
+++ b/src/org/unitConverter/converterGUI/DelegateListModel.java
diff --git a/src/org/unitConverter/converterGUI/FilterComparator.java b/src/org/unitConverter/converterGUI/FilterComparator.java
index 7b17bfc..7b17bfc 100755..100644
--- a/src/org/unitConverter/converterGUI/FilterComparator.java
+++ b/src/org/unitConverter/converterGUI/FilterComparator.java
diff --git a/src/org/unitConverter/converterGUI/GridBagBuilder.java b/src/org/unitConverter/converterGUI/GridBagBuilder.java
index f1229b2..f1229b2 100755..100644
--- a/src/org/unitConverter/converterGUI/GridBagBuilder.java
+++ b/src/org/unitConverter/converterGUI/GridBagBuilder.java
diff --git a/src/org/unitConverter/converterGUI/UnitConverterGUI.java b/src/org/unitConverter/converterGUI/UnitConverterGUI.java
index 2d3d1a5..2d3d1a5 100755..100644
--- a/src/org/unitConverter/converterGUI/UnitConverterGUI.java
+++ b/src/org/unitConverter/converterGUI/UnitConverterGUI.java
diff --git a/src/org/unitConverter/dimension/BaseDimension.java b/src/org/unitConverter/dimension/BaseDimension.java
index 5e3ddad..5e3ddad 100755..100644
--- a/src/org/unitConverter/dimension/BaseDimension.java
+++ b/src/org/unitConverter/dimension/BaseDimension.java
diff --git a/src/org/unitConverter/dimension/OtherBaseDimension.java b/src/org/unitConverter/dimension/OtherBaseDimension.java
index 8aea2b9..8aea2b9 100755..100644
--- a/src/org/unitConverter/dimension/OtherBaseDimension.java
+++ b/src/org/unitConverter/dimension/OtherBaseDimension.java
diff --git a/src/org/unitConverter/dimension/SIBaseDimension.java b/src/org/unitConverter/dimension/SIBaseDimension.java
index c459963..c459963 100755..100644
--- a/src/org/unitConverter/dimension/SIBaseDimension.java
+++ b/src/org/unitConverter/dimension/SIBaseDimension.java
diff --git a/src/org/unitConverter/dimension/StandardDimensions.java b/src/org/unitConverter/dimension/StandardDimensions.java
index 4b1b814..4b1b814 100755..100644
--- a/src/org/unitConverter/dimension/StandardDimensions.java
+++ b/src/org/unitConverter/dimension/StandardDimensions.java
diff --git a/src/org/unitConverter/dimension/UnitDimension.java b/src/org/unitConverter/dimension/UnitDimension.java
index dbeaeff..dbeaeff 100755..100644
--- a/src/org/unitConverter/dimension/UnitDimension.java
+++ b/src/org/unitConverter/dimension/UnitDimension.java
diff --git a/src/org/unitConverter/dimension/package-info.java b/src/org/unitConverter/dimension/package-info.java
index 8cb26b1..8cb26b1 100755..100644
--- a/src/org/unitConverter/dimension/package-info.java
+++ b/src/org/unitConverter/dimension/package-info.java
diff --git a/src/org/unitConverter/unit/BaseUnit.java b/src/org/unitConverter/unit/BaseUnit.java
index 67309cf..67309cf 100755..100644
--- a/src/org/unitConverter/unit/BaseUnit.java
+++ b/src/org/unitConverter/unit/BaseUnit.java
diff --git a/src/org/unitConverter/unit/DefaultUnitPrefix.java b/src/org/unitConverter/unit/DefaultUnitPrefix.java
index 4a9e487..4a9e487 100755..100644
--- a/src/org/unitConverter/unit/DefaultUnitPrefix.java
+++ b/src/org/unitConverter/unit/DefaultUnitPrefix.java
diff --git a/src/org/unitConverter/unit/NonlinearUnits.java b/src/org/unitConverter/unit/NonlinearUnits.java
index eda4a74..eda4a74 100755..100644
--- a/src/org/unitConverter/unit/NonlinearUnits.java
+++ b/src/org/unitConverter/unit/NonlinearUnits.java
diff --git a/src/org/unitConverter/unit/SIPrefix.java b/src/org/unitConverter/unit/SIPrefix.java
index 31d7ff2..31d7ff2 100755..100644
--- a/src/org/unitConverter/unit/SIPrefix.java
+++ b/src/org/unitConverter/unit/SIPrefix.java
diff --git a/src/org/unitConverter/unit/Unit.java b/src/org/unitConverter/unit/Unit.java
index 54f0ab5..54f0ab5 100755..100644
--- a/src/org/unitConverter/unit/Unit.java
+++ b/src/org/unitConverter/unit/Unit.java
diff --git a/src/org/unitConverter/unit/UnitPrefix.java b/src/org/unitConverter/unit/UnitPrefix.java
index 9f9645d..9f9645d 100755..100644
--- a/src/org/unitConverter/unit/UnitPrefix.java
+++ b/src/org/unitConverter/unit/UnitPrefix.java
diff --git a/src/org/unitConverter/unit/UnitSystem.java b/src/org/unitConverter/unit/UnitSystem.java
index 550eff6..550eff6 100755..100644
--- a/src/org/unitConverter/unit/UnitSystem.java
+++ b/src/org/unitConverter/unit/UnitSystem.java