From 12b3211defb59ea32b237edbeca7ed66ae3f6ba0 Mon Sep 17 00:00:00 2001 From: Kevin Ruland Date: Tue, 18 Sep 2012 01:41:51 +0000 Subject: [PATCH] added StringUtil class contain isEmpyt( String ) implementation. This method is not available on Froyo and having a convenience function is useful. Modified all places in the code currently using "".equals(). --- .../preset/loader/DoubleUnitColumnParser.java | 3 ++- .../loader/LineMaterialColumnParser.java | 3 ++- .../preset/loader/MassColumnParser.java | 3 ++- .../preset/loader/MaterialColumnParser.java | 3 ++- .../loader/RocksimComponentFileLoader.java | 3 ++- .../loader/SurfaceMaterialColumnParser.java | 3 ++- .../openrocket/simulation/FlightDataType.java | 3 ++- .../customexpression/CustomExpression.java | 7 ++++--- .../customexpression/RangeExpression.java | 5 +++-- .../net/sf/openrocket/util/StringUtil.java | 21 +++++++++++++++++++ 10 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 core/src/net/sf/openrocket/util/StringUtil.java diff --git a/core/src/net/sf/openrocket/preset/loader/DoubleUnitColumnParser.java b/core/src/net/sf/openrocket/preset/loader/DoubleUnitColumnParser.java index bd9a5c185..4dee25b54 100644 --- a/core/src/net/sf/openrocket/preset/loader/DoubleUnitColumnParser.java +++ b/core/src/net/sf/openrocket/preset/loader/DoubleUnitColumnParser.java @@ -4,6 +4,7 @@ import net.sf.openrocket.preset.TypedKey; import net.sf.openrocket.preset.TypedPropertyMap; import net.sf.openrocket.unit.Unit; import net.sf.openrocket.unit.UnitGroup; +import net.sf.openrocket.util.StringUtil; public class DoubleUnitColumnParser extends BaseUnitColumnParser { @@ -18,7 +19,7 @@ public class DoubleUnitColumnParser extends BaseUnitColumnParser { @Override protected void doParse(String columnData, String[] data, TypedPropertyMap props) { try { - if (columnData == null || "".equals(columnData) ) { + if (StringUtil.isEmpty(columnData)) { return; } double value = Double.valueOf(columnData); diff --git a/core/src/net/sf/openrocket/preset/loader/LineMaterialColumnParser.java b/core/src/net/sf/openrocket/preset/loader/LineMaterialColumnParser.java index 42a79722a..9ba4ecb86 100644 --- a/core/src/net/sf/openrocket/preset/loader/LineMaterialColumnParser.java +++ b/core/src/net/sf/openrocket/preset/loader/LineMaterialColumnParser.java @@ -4,6 +4,7 @@ import net.sf.openrocket.database.Databases; import net.sf.openrocket.material.Material; import net.sf.openrocket.preset.TypedKey; import net.sf.openrocket.preset.TypedPropertyMap; +import net.sf.openrocket.util.StringUtil; public class LineMaterialColumnParser extends BaseColumnParser { @@ -21,7 +22,7 @@ public class LineMaterialColumnParser extends BaseColumnParser { @Override protected void doParse(String columnData, String[] data, TypedPropertyMap props) { - if (columnData == null || "".equals(columnData.trim())) { + if (StringUtil.isEmpty(columnData)) { return; } diff --git a/core/src/net/sf/openrocket/preset/loader/MassColumnParser.java b/core/src/net/sf/openrocket/preset/loader/MassColumnParser.java index ce382ec94..ba624758c 100644 --- a/core/src/net/sf/openrocket/preset/loader/MassColumnParser.java +++ b/core/src/net/sf/openrocket/preset/loader/MassColumnParser.java @@ -2,6 +2,7 @@ package net.sf.openrocket.preset.loader; import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.preset.TypedPropertyMap; +import net.sf.openrocket.util.StringUtil; /** * Special DoubleUnitColumnParser for Mass column. Here we assume that if a mass of 0 is @@ -17,7 +18,7 @@ public class MassColumnParser extends DoubleUnitColumnParser { @Override protected void doParse(String columnData, String[] data, TypedPropertyMap props) { - if ( columnData == null || "".equals(columnData.trim()) || "?".equals(columnData.trim())) { + if ( StringUtil.isEmpty(columnData) || "?".equals(columnData.trim())) { return; } double d = Double.valueOf(columnData); diff --git a/core/src/net/sf/openrocket/preset/loader/MaterialColumnParser.java b/core/src/net/sf/openrocket/preset/loader/MaterialColumnParser.java index 2d559bb74..1f6817560 100644 --- a/core/src/net/sf/openrocket/preset/loader/MaterialColumnParser.java +++ b/core/src/net/sf/openrocket/preset/loader/MaterialColumnParser.java @@ -5,6 +5,7 @@ import net.sf.openrocket.material.Material; import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.preset.TypedKey; import net.sf.openrocket.preset.TypedPropertyMap; +import net.sf.openrocket.util.StringUtil; public class MaterialColumnParser extends BaseColumnParser { @@ -26,7 +27,7 @@ public class MaterialColumnParser extends BaseColumnParser { @Override protected void doParse(String columnData, String[] data, TypedPropertyMap props) { - if (columnData == null || "".equals(columnData.trim())) { + if (StringUtil.isEmpty(columnData) { return; } diff --git a/core/src/net/sf/openrocket/preset/loader/RocksimComponentFileLoader.java b/core/src/net/sf/openrocket/preset/loader/RocksimComponentFileLoader.java index c0ca293c9..2317b66f4 100644 --- a/core/src/net/sf/openrocket/preset/loader/RocksimComponentFileLoader.java +++ b/core/src/net/sf/openrocket/preset/loader/RocksimComponentFileLoader.java @@ -6,6 +6,7 @@ import net.sf.openrocket.preset.TypedPropertyMap; import net.sf.openrocket.unit.Unit; import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.util.ArrayList; +import net.sf.openrocket.util.StringUtil; import java.io.File; import java.io.FileInputStream; @@ -125,7 +126,7 @@ public abstract class RocksimComponentFileLoader { if (data.length == 0) { continue; } - if (data.length == 1 && "".equals(data[0].trim())) { + if (data.length == 1 && StringUtil.isEmpty(data[0]) { continue; } parseData(data); diff --git a/core/src/net/sf/openrocket/preset/loader/SurfaceMaterialColumnParser.java b/core/src/net/sf/openrocket/preset/loader/SurfaceMaterialColumnParser.java index 703d128c3..fbb319474 100644 --- a/core/src/net/sf/openrocket/preset/loader/SurfaceMaterialColumnParser.java +++ b/core/src/net/sf/openrocket/preset/loader/SurfaceMaterialColumnParser.java @@ -4,6 +4,7 @@ import net.sf.openrocket.database.Databases; import net.sf.openrocket.material.Material; import net.sf.openrocket.preset.TypedKey; import net.sf.openrocket.preset.TypedPropertyMap; +import net.sf.openrocket.util.StringUtil; public class SurfaceMaterialColumnParser extends BaseColumnParser { @@ -21,7 +22,7 @@ public class SurfaceMaterialColumnParser extends BaseColumnParser { @Override protected void doParse(String columnData, String[] data, TypedPropertyMap props) { - if (columnData == null || "".equals(columnData.trim())) { + if (StringUtil.isEmpty(columnData) { return; } diff --git a/core/src/net/sf/openrocket/simulation/FlightDataType.java b/core/src/net/sf/openrocket/simulation/FlightDataType.java index adb4b51bc..3c73fc781 100644 --- a/core/src/net/sf/openrocket/simulation/FlightDataType.java +++ b/core/src/net/sf/openrocket/simulation/FlightDataType.java @@ -8,6 +8,7 @@ import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.logging.LogHelper; import net.sf.openrocket.startup.Application; import net.sf.openrocket.unit.UnitGroup; +import net.sf.openrocket.util.StringUtil; /** * A class defining a storable simulation variable type. This class defined numerous ready @@ -270,7 +271,7 @@ public class FlightDataType implements Comparable { // found it from symbol // if name was not given (empty string), can use the one we found - if ( s == null || s.isEmpty()){ + if ( s == null || StringUtil.isEmpty(s)){ s = type.getName(); } if ( u == null ){ diff --git a/core/src/net/sf/openrocket/simulation/customexpression/CustomExpression.java b/core/src/net/sf/openrocket/simulation/customexpression/CustomExpression.java index e233deff9..c01a0f999 100644 --- a/core/src/net/sf/openrocket/simulation/customexpression/CustomExpression.java +++ b/core/src/net/sf/openrocket/simulation/customexpression/CustomExpression.java @@ -11,6 +11,7 @@ import net.sf.openrocket.startup.Application; import net.sf.openrocket.unit.FixedUnitGroup; import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.util.ArrayList; +import net.sf.openrocket.util.StringUtil; import de.congrace.exp4j.Calculable; import de.congrace.exp4j.ExpressionBuilder; import de.congrace.exp4j.UnknownFunctionException; @@ -220,7 +221,7 @@ public class CustomExpression implements Cloneable{ } public boolean checkSymbol(){ - if ("".equals(symbol.trim())) + if (StringUtil.isEmpty(symbol) return false; // No bad characters @@ -246,7 +247,7 @@ public class CustomExpression implements Cloneable{ } public boolean checkName(){ - if ("".equals(name.trim())) + if (StringUtil.isEmpty(name) return false; // No characters that could mess things up saving etc @@ -295,7 +296,7 @@ public class CustomExpression implements Cloneable{ * building the expression. */ public boolean checkExpression(){ - if ("".equals(expression.trim())){ + if (StringUtil.isEmpty(expression)){ return false; } diff --git a/core/src/net/sf/openrocket/simulation/customexpression/RangeExpression.java b/core/src/net/sf/openrocket/simulation/customexpression/RangeExpression.java index 1667b61e9..99db66375 100644 --- a/core/src/net/sf/openrocket/simulation/customexpression/RangeExpression.java +++ b/core/src/net/sf/openrocket/simulation/customexpression/RangeExpression.java @@ -18,6 +18,7 @@ import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.ArrayUtils; import net.sf.openrocket.util.LinearInterpolator; import net.sf.openrocket.util.MathUtil; +import net.sf.openrocket.util.StringUtil; public class RangeExpression extends CustomExpression { private static final LogHelper log = Application.getLogger(); @@ -27,10 +28,10 @@ public class RangeExpression extends CustomExpression { public RangeExpression(OpenRocketDocument doc, String startTime, String endTime, String variableType) { super(doc); - if ("".equals(startTime.trim())){ + if (StringUtil.isEmpty(startTime)){ startTime = "0"; } - if ("".equals(endTime.trim())){ + if (StringUtil.isEmpty(endTime)){ endTime = "t"; } diff --git a/core/src/net/sf/openrocket/util/StringUtil.java b/core/src/net/sf/openrocket/util/StringUtil.java new file mode 100644 index 000000000..407e0bad6 --- /dev/null +++ b/core/src/net/sf/openrocket/util/StringUtil.java @@ -0,0 +1,21 @@ +package net.sf.openrocket.util; + +public class StringUtil { + + /** + * Returns true if the argument is null or empty. + * + * This is implemented without using String.isEmpty() because that method + * is not available in Froyo. + * + * @param s + * @return + */ + public static boolean isEmpty( String s ) { + if ( s == null ) { + return true; + } + return "".equals(s.trim()); + } + +}