diff --git a/core/src/main/java/de/congrace/exp4j/ExpressionBuilder.java b/core/src/main/java/de/congrace/exp4j/ExpressionBuilder.java index 0b9fecc62..52feb0ba2 100644 --- a/core/src/main/java/de/congrace/exp4j/ExpressionBuilder.java +++ b/core/src/main/java/de/congrace/exp4j/ExpressionBuilder.java @@ -48,7 +48,7 @@ public class ExpressionBuilder { for (String name : variables.getVariableNames()) { function.append(name).append(','); } - expression = function.deleteCharAt(function.length() - 1).toString() + ")=" + expression; + expression = function.deleteCharAt(function.length() - 1) + ")=" + expression; } // create the PostfixExpression and return it as a Calculable PostfixExpression delegate = PostfixExpression.fromInfix(expression, customFunctions); diff --git a/core/src/main/java/de/congrace/exp4j/Tokenizer.java b/core/src/main/java/de/congrace/exp4j/Tokenizer.java index c2c99d974..d3784b58a 100644 --- a/core/src/main/java/de/congrace/exp4j/Tokenizer.java +++ b/core/src/main/java/de/congrace/exp4j/Tokenizer.java @@ -218,6 +218,6 @@ class Tokenizer { } tokens.add(lastToken); } - return tokens.toArray(new Token[tokens.size()]); + return tokens.toArray(new Token[0]); } } diff --git a/core/src/main/java/info/openrocket/core/aerodynamics/BarrowmanCalculator.java b/core/src/main/java/info/openrocket/core/aerodynamics/BarrowmanCalculator.java index 8ff8ee10f..a49a643f5 100644 --- a/core/src/main/java/info/openrocket/core/aerodynamics/BarrowmanCalculator.java +++ b/core/src/main/java/info/openrocket/core/aerodynamics/BarrowmanCalculator.java @@ -534,9 +534,9 @@ public class BarrowmanCalculator extends AbstractAerodynamicCalculator { // Correct body data in map if (forceMap != null) { - for (RocketComponent c : forceMap.keySet()) { - if (c instanceof SymmetricComponent) { - forceMap.get(c).setFrictionCD(forceMap.get(c).getFrictionCD() * correction); + for (Map.Entry entry : forceMap.entrySet()) { + if (entry.getKey() instanceof SymmetricComponent) { + entry.getValue().setFrictionCD(entry.getValue().getFrictionCD() * correction); } } } diff --git a/core/src/main/java/info/openrocket/core/file/motor/AbstractMotorLoader.java b/core/src/main/java/info/openrocket/core/file/motor/AbstractMotorLoader.java index 5e224e429..9aefcf05a 100644 --- a/core/src/main/java/info/openrocket/core/file/motor/AbstractMotorLoader.java +++ b/core/src/main/java/info/openrocket/core/file/motor/AbstractMotorLoader.java @@ -134,7 +134,7 @@ public abstract class AbstractMotorLoader implements MotorLoader { */ protected static String[] split(String str, String delim) { String[] pieces = str.split(delim); - if (pieces.length == 0 || !pieces[0].equals("")) + if (pieces.length == 0 || !pieces[0].isEmpty()) return pieces; return ArrayUtils.copyOfRange(pieces, 1, pieces.length); } diff --git a/core/src/main/java/info/openrocket/core/file/openrocket/importt/ColorSetter.java b/core/src/main/java/info/openrocket/core/file/openrocket/importt/ColorSetter.java index 042b60cf3..564e25685 100644 --- a/core/src/main/java/info/openrocket/core/file/openrocket/importt/ColorSetter.java +++ b/core/src/main/java/info/openrocket/core/file/openrocket/importt/ColorSetter.java @@ -47,7 +47,7 @@ class ColorSetter implements Setter { ORColor color = new ORColor(r, g, b); setMethod.invoke(c, color); - if (!s.trim().equals("")) { + if (!s.trim().isEmpty()) { warnings.add(Warning.FILE_INVALID_PARAMETER); } } diff --git a/core/src/main/java/info/openrocket/core/file/openrocket/importt/MaterialSetter.java b/core/src/main/java/info/openrocket/core/file/openrocket/importt/MaterialSetter.java index d3435ed91..105911811 100644 --- a/core/src/main/java/info/openrocket/core/file/openrocket/importt/MaterialSetter.java +++ b/core/src/main/java/info/openrocket/core/file/openrocket/importt/MaterialSetter.java @@ -28,7 +28,7 @@ class MaterialSetter implements Setter { // Check name != "" name = name.trim(); - if (name.equals("")) { + if (name.isEmpty()) { warnings.add(Warning.fromString("Illegal material specification, ignoring.")); return; } diff --git a/core/src/main/java/info/openrocket/core/file/openrocket/importt/MotorConfigurationHandler.java b/core/src/main/java/info/openrocket/core/file/openrocket/importt/MotorConfigurationHandler.java index 4f5bf3a25..fe3753823 100644 --- a/core/src/main/java/info/openrocket/core/file/openrocket/importt/MotorConfigurationHandler.java +++ b/core/src/main/java/info/openrocket/core/file/openrocket/importt/MotorConfigurationHandler.java @@ -1,6 +1,7 @@ package info.openrocket.core.file.openrocket.importt; import java.util.HashMap; +import java.util.Map; import org.xml.sax.SAXException; @@ -69,8 +70,8 @@ class MotorConfigurationHandler extends AbstractElementHandler { rocket.getFlightConfiguration(fcid).setName(name); } - for (int stageNr : stageActiveness.keySet()) { - rocket.getFlightConfiguration(fcid).preloadStageActiveness(stageNr, stageActiveness.get(stageNr)); + for (Map.Entry entry : stageActiveness.entrySet()) { + rocket.getFlightConfiguration(fcid).preloadStageActiveness(entry.getKey(), entry.getValue()); } if ("true".equals(attributes.remove("default"))) { diff --git a/core/src/main/java/info/openrocket/core/file/openrocket/importt/OpenRocketHandler.java b/core/src/main/java/info/openrocket/core/file/openrocket/importt/OpenRocketHandler.java index c44d62c35..95c5ac26e 100644 --- a/core/src/main/java/info/openrocket/core/file/openrocket/importt/OpenRocketHandler.java +++ b/core/src/main/java/info/openrocket/core/file/openrocket/importt/OpenRocketHandler.java @@ -72,7 +72,7 @@ public class OpenRocketHandler extends AbstractElementHandler { String str = "Unsupported document version"; if (docVersion != null) str += " " + docVersion; - if (creator != null && !creator.trim().equals("")) + if (creator != null && !creator.trim().isEmpty()) str += " (written using '" + creator.trim() + "')"; str += ", attempting to read file anyway."; warnings.add(str); diff --git a/core/src/main/java/info/openrocket/core/file/rasaero/importt/RecoveryHandler.java b/core/src/main/java/info/openrocket/core/file/rasaero/importt/RecoveryHandler.java index 85901b820..664f1f145 100644 --- a/core/src/main/java/info/openrocket/core/file/rasaero/importt/RecoveryHandler.java +++ b/core/src/main/java/info/openrocket/core/file/rasaero/importt/RecoveryHandler.java @@ -75,10 +75,10 @@ public class RecoveryHandler extends AbstractElementHandler { // Set the values of the recovery parameters for (int i = 1; i <= NR_OF_RECOVERY_DEVICES; i++) { - for (String e : mapParametersToVars.keySet()) { - String key = e + i; + for (Map.Entry entry : mapParametersToVars.entrySet()) { + String key = entry.getKey() + i; if (key.equals(element)) { - Object[] vars = mapParametersToVars.get(e); + Object[] vars = entry.getValue(); if (vars.length != NR_OF_RECOVERY_DEVICES) { throw new IllegalArgumentException("Recovery var array length is not 2"); } diff --git a/core/src/main/java/info/openrocket/core/file/simplesax/AbstractElementHandler.java b/core/src/main/java/info/openrocket/core/file/simplesax/AbstractElementHandler.java index ddf8c4f30..b2f743ed6 100644 --- a/core/src/main/java/info/openrocket/core/file/simplesax/AbstractElementHandler.java +++ b/core/src/main/java/info/openrocket/core/file/simplesax/AbstractElementHandler.java @@ -31,7 +31,7 @@ public abstract class AbstractElementHandler implements ElementHandler { public void closeElement(String element, HashMap attributes, String content, WarningSet warnings) throws SAXException { - if (!content.trim().equals("")) { + if (!content.trim().isEmpty()) { warnings.add(Warning.fromString("Unknown text in element '" + element + "', ignoring.")); } diff --git a/core/src/main/java/info/openrocket/core/motor/MotorConfigurationSet.java b/core/src/main/java/info/openrocket/core/motor/MotorConfigurationSet.java index 63e5f1402..8f1c87c5b 100644 --- a/core/src/main/java/info/openrocket/core/motor/MotorConfigurationSet.java +++ b/core/src/main/java/info/openrocket/core/motor/MotorConfigurationSet.java @@ -5,6 +5,8 @@ import info.openrocket.core.rocketcomponent.FlightConfigurableParameterSet; import info.openrocket.core.rocketcomponent.FlightConfigurationId; import info.openrocket.core.rocketcomponent.MotorMount; +import java.util.Map; + /** * FlightConfigurationSet for motors. * This is used for motors, where the default value is always no motor. @@ -49,8 +51,9 @@ public class MotorConfigurationSet extends FlightConfigurableParameterSet entry : this.map.entrySet()) { + FlightConfigurationId loopFCID = entry.getKey(); + MotorConfiguration curConfig = entry.getValue(); if (this.isDefault(loopFCID)) { buffer.append(" [DEF]"); } else { diff --git a/core/src/main/java/info/openrocket/core/motor/ThrustCurveMotor.java b/core/src/main/java/info/openrocket/core/motor/ThrustCurveMotor.java index 579c1a49c..0545738af 100644 --- a/core/src/main/java/info/openrocket/core/motor/ThrustCurveMotor.java +++ b/core/src/main/java/info/openrocket/core/motor/ThrustCurveMotor.java @@ -246,14 +246,14 @@ public class ThrustCurveMotor implements Motor, Comparable, Se // If I don't have a motor designation (will be the case if I read the // thrustcurve from a file) // use the motor code - if (motor.designation.equals("")) { + if (motor.designation.isEmpty()) { motor.designation = motor.code; } // If I don't have a motor common name (will be the case if I read the // thrustcurve from a flle) // apply the motor code simplification heuristics to generate a common name - if (motor.commonName.equals("")) { + if (motor.commonName.isEmpty()) { motor.commonName = simplifyDesignation(motor.designation); } diff --git a/core/src/main/java/info/openrocket/core/optimization/general/OptimizationControllerDelegator.java b/core/src/main/java/info/openrocket/core/optimization/general/OptimizationControllerDelegator.java index a6ced2706..7c89c09a5 100644 --- a/core/src/main/java/info/openrocket/core/optimization/general/OptimizationControllerDelegator.java +++ b/core/src/main/java/info/openrocket/core/optimization/general/OptimizationControllerDelegator.java @@ -1,6 +1,7 @@ package info.openrocket.core.optimization.general; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -21,9 +22,7 @@ public class OptimizationControllerDelegator implements OptimizationController { * @param controllers the controllers to use. */ public OptimizationControllerDelegator(OptimizationController... controllers) { - for (OptimizationController c : controllers) { - this.controllers.add(c); - } + this.controllers.addAll(Arrays.asList(controllers)); } /** diff --git a/core/src/main/java/info/openrocket/core/preset/loader/DoubleUnitColumnParser.java b/core/src/main/java/info/openrocket/core/preset/loader/DoubleUnitColumnParser.java index f422f92d1..18d100783 100644 --- a/core/src/main/java/info/openrocket/core/preset/loader/DoubleUnitColumnParser.java +++ b/core/src/main/java/info/openrocket/core/preset/loader/DoubleUnitColumnParser.java @@ -29,7 +29,7 @@ public class DoubleUnitColumnParser extends BaseUnitColumnParser { Unit unit = rocksimUnits.get(unitName); if (unit == null) { - if (unitName == null || "".equals(unitName) || "?".equals(unitName)) { + if (unitName == null || unitName.isEmpty() || "?".equals(unitName)) { // Hmm no data... Lets assume SI if (propKey.getUnitGroup() == UnitGroup.UNITS_LENGTH) { unit = UnitGroup.UNITS_LENGTH.getUnit("in"); diff --git a/core/src/main/java/info/openrocket/core/preset/loader/ShapeColumnParser.java b/core/src/main/java/info/openrocket/core/preset/loader/ShapeColumnParser.java index 8381e9961..39fabdea8 100644 --- a/core/src/main/java/info/openrocket/core/preset/loader/ShapeColumnParser.java +++ b/core/src/main/java/info/openrocket/core/preset/loader/ShapeColumnParser.java @@ -49,7 +49,7 @@ public class ShapeColumnParser extends BaseColumnParser { if ("0".equals(lc)) { shape = Shape.CONICAL; } - if ("".equals(lc)) { + if (lc.isEmpty()) { shape = Shape.CONICAL; } if ("3".equals(lc)) { diff --git a/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfigurableParameterSet.java b/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfigurableParameterSet.java index fc81f55e2..647150288 100644 --- a/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfigurableParameterSet.java +++ b/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfigurableParameterSet.java @@ -3,6 +3,7 @@ package info.openrocket.core.rocketcomponent; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import java.util.Map.Entry; import info.openrocket.core.util.ArrayList; @@ -38,9 +39,9 @@ public class FlightConfigurableParameterSet configSet) { - for (FlightConfigurationId key : configSet.map.keySet()) { - E cloneConfig = configSet.map.get(key).clone(); - this.map.put(key, cloneConfig); + for (Entry entry : configSet.map.entrySet()) { + E cloneConfig = entry.getValue().clone(); + this.map.put(entry.getKey(), cloneConfig); } } diff --git a/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfiguration.java b/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfiguration.java index ff89f82fc..1d9192bf8 100644 --- a/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfiguration.java +++ b/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfiguration.java @@ -313,8 +313,8 @@ public class FlightConfiguration implements FlightConfigurableParameter entry : preloadStageActiveness.entrySet()) { + _setStageActive(entry.getKey(), entry.getValue(), false); } preloadStageActiveness.clear(); preloadStageActiveness = null; diff --git a/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfigurationId.java b/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfigurationId.java index 4a8f3c279..2d4547480 100644 --- a/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfigurationId.java +++ b/core/src/main/java/info/openrocket/core/rocketcomponent/FlightConfigurationId.java @@ -36,7 +36,7 @@ public final class FlightConfigurationId implements Comparable> entry : values.entrySet()) { + sanityCheckValues(entry.getKey(), Double.NaN); + entry.getValue().add(Double.NaN); } modID = new ModID(); } @@ -249,8 +249,8 @@ public class FlightDataBranch implements Monitorable { * Return the number of data points in this branch. */ public int getLength() { - for (FlightDataType t : values.keySet()) { - return values.get(t).size(); + for (ArrayList doubles : values.values()) { + return doubles.size(); } return 0; } @@ -449,8 +449,8 @@ public class FlightDataBranch implements Monitorable { public FlightDataBranch clone() { FlightDataType[] types = getTypes(); FlightDataBranch clone = new FlightDataBranch(name, types); - for (FlightDataType type : values.keySet()) { - clone.values.put(type, values.get(type).clone()); + for (Map.Entry> entry : values.entrySet()) { + clone.values.put(entry.getKey(), entry.getValue().clone()); } clone.minValues.putAll(minValues); clone.maxValues.putAll(maxValues); diff --git a/core/src/main/java/info/openrocket/core/thrustcurve/SearchRequest.java b/core/src/main/java/info/openrocket/core/thrustcurve/SearchRequest.java index 173fe28ac..4e65f5d12 100644 --- a/core/src/main/java/info/openrocket/core/thrustcurve/SearchRequest.java +++ b/core/src/main/java/info/openrocket/core/thrustcurve/SearchRequest.java @@ -23,7 +23,7 @@ public class SearchRequest { this.manufacturer = null; if (manufacturer != null) { manufacturer = manufacturer.trim(); - if (!"".equals(manufacturer)) { + if (!manufacturer.isEmpty()) { this.manufacturer = manufacturer; } } @@ -43,7 +43,7 @@ public class SearchRequest { return; } this.common_name = common_name.trim(); - if ("".equals(this.common_name)) { + if (this.common_name.isEmpty()) { this.common_name = null; } } @@ -52,7 +52,7 @@ public class SearchRequest { this.impulse_class = null; if (impulse_class != null) { this.impulse_class = impulse_class.trim(); - if ("".equals(impulse_class)) { + if (impulse_class.isEmpty()) { this.impulse_class = null; } } diff --git a/core/src/main/java/info/openrocket/core/unit/UnitGroup.java b/core/src/main/java/info/openrocket/core/unit/UnitGroup.java index 5cb7cc5d5..8acd23b18 100644 --- a/core/src/main/java/info/openrocket/core/unit/UnitGroup.java +++ b/core/src/main/java/info/openrocket/core/unit/UnitGroup.java @@ -758,7 +758,7 @@ public class UnitGroup { double value = StringUtils.convertToDouble(matcher.group(1)); String unit = matcher.group(2).trim(); - if (unit.equals("")) { + if (unit.isEmpty()) { value = this.getDefaultUnit().fromUnit(value); } else { int i; diff --git a/core/src/main/java/info/openrocket/core/util/QuaternionMultiply.java b/core/src/main/java/info/openrocket/core/util/QuaternionMultiply.java index 7bd28f564..d681d2029 100644 --- a/core/src/main/java/info/openrocket/core/util/QuaternionMultiply.java +++ b/core/src/main/java/info/openrocket/core/util/QuaternionMultiply.java @@ -50,7 +50,7 @@ public class QuaternionMultiply { for (int i = 0; i < arg.length; i++) { Value value = new Value(); - if (arg[i].equals("")) { + if (arg[i].isEmpty()) { value.sign = 0; } else { if (arg[i].startsWith("-")) { diff --git a/core/src/main/java/info/openrocket/core/util/StringUtils.java b/core/src/main/java/info/openrocket/core/util/StringUtils.java index ff5bb51a7..d918e473a 100644 --- a/core/src/main/java/info/openrocket/core/util/StringUtils.java +++ b/core/src/main/java/info/openrocket/core/util/StringUtils.java @@ -47,7 +47,7 @@ public class StringUtils { if (s == null) { return true; } - return "".equals(s.trim()); + return s.trim().isEmpty(); } /** diff --git a/core/src/main/java/info/openrocket/core/util/Transformation.java b/core/src/main/java/info/openrocket/core/util/Transformation.java index 9f699873f..db986e94d 100644 --- a/core/src/main/java/info/openrocket/core/util/Transformation.java +++ b/core/src/main/java/info/openrocket/core/util/Transformation.java @@ -88,8 +88,7 @@ public class Transformation implements java.io.Serializable { */ public Transformation(double[][] rotation, Coordinate translation) { for (int i = 0; i < 3; i++) - for (int j = 0; j < 3; j++) - this.rotation[i][j] = rotation[i][j]; + System.arraycopy(rotation[i], 0, this.rotation[i], 0, 3); this.translate = translation; } @@ -101,8 +100,7 @@ public class Transformation implements java.io.Serializable { */ public Transformation(double[][] rotation) { for (int i = 0; i < 3; i++) - for (int j = 0; j < 3; j++) - this.rotation[i][j] = rotation[i][j]; + System.arraycopy(rotation[i], 0, this.rotation[i], 0, 3); this.translate = Coordinate.NUL; } diff --git a/core/src/test/java/info/openrocket/core/rocketcomponent/FreeformFinSetTest.java b/core/src/test/java/info/openrocket/core/rocketcomponent/FreeformFinSetTest.java index a931b9d1e..7caa5be21 100644 --- a/core/src/test/java/info/openrocket/core/rocketcomponent/FreeformFinSetTest.java +++ b/core/src/test/java/info/openrocket/core/rocketcomponent/FreeformFinSetTest.java @@ -1222,7 +1222,7 @@ public class FreeformFinSetTest extends BaseTestCase { final Coordinate[] actualPoints = fin.getFinPoints(); - final String rawPointDescr = "\n" + fin.toDebugDetail().toString() + "\n>> axial offset: " + x_delta; + final String rawPointDescr = "\n" + fin.toDebugDetail() + "\n>> axial offset: " + x_delta; Coordinate[] displayPoints = FinSet.translatePoints(actualPoints, x_delta, 0); for (int index = 0; index < displayPoints.length; ++index) { diff --git a/swing/src/main/java/info/openrocket/swing/communication/AssetHandler.java b/swing/src/main/java/info/openrocket/swing/communication/AssetHandler.java index 996512ff1..93faa814a 100644 --- a/swing/src/main/java/info/openrocket/swing/communication/AssetHandler.java +++ b/swing/src/main/java/info/openrocket/swing/communication/AssetHandler.java @@ -57,9 +57,9 @@ public class AssetHandler { if (urls == null) return null; for (String url : urls) { - for (String ext : mapExtensionToPlatform.keySet()) { - if (url.endsWith(ext)) { - output.put(mapExtensionToPlatform.get(ext)[0], url); // First Platform element is enough + for (Map.Entry entry : mapExtensionToPlatform.entrySet()) { + if (url.endsWith(entry.getKey())) { + output.put(entry.getValue()[0], url); // First Platform element is enough } } } @@ -73,10 +73,10 @@ public class AssetHandler { * @return URL to download the installer for the given platform */ public static String getInstallerURLForPlatform(UpdatePlatform platform, String version) { - for (UpdatePlatform[] platforms : mapPlatformToURL.keySet()) { - for (UpdatePlatform p : platforms) { + for (Map.Entry entry : mapPlatformToURL.entrySet()) { + for (UpdatePlatform p : entry.getKey()) { if (p == platform) { - return String.format(mapPlatformToURL.get(platforms), version); + return String.format(entry.getValue(), version); } } } diff --git a/swing/src/main/java/info/openrocket/swing/file/motor/MotorLoaderHelper.java b/swing/src/main/java/info/openrocket/swing/file/motor/MotorLoaderHelper.java index a0db2d9b5..481b2eff2 100644 --- a/swing/src/main/java/info/openrocket/swing/file/motor/MotorLoaderHelper.java +++ b/swing/src/main/java/info/openrocket/swing/file/motor/MotorLoaderHelper.java @@ -99,9 +99,7 @@ public final class MotorLoaderHelper { log.debug("Loading motors from file " + input.getU()); try { List motors = load(input.getV(), input.getU().getName()); - for (ThrustCurveMotor.Builder m : motors) { - list.add(m); - } + list.addAll(motors); } finally { try { input.getV().close(); diff --git a/swing/src/main/java/info/openrocket/swing/file/photo/PhotoStudioGetter.java b/swing/src/main/java/info/openrocket/swing/file/photo/PhotoStudioGetter.java index 53957ee53..333223391 100644 --- a/swing/src/main/java/info/openrocket/swing/file/photo/PhotoStudioGetter.java +++ b/swing/src/main/java/info/openrocket/swing/file/photo/PhotoStudioGetter.java @@ -36,8 +36,8 @@ public class PhotoStudioGetter { public PhotoSettings getPhotoSettings() { if (parameters != null) { - for (String element : parameters.keySet()) { - processElement(element, parameters.get(element)); + for (Map.Entry entry : parameters.entrySet()) { + processElement(entry.getKey(), entry.getValue()); } } return p; @@ -166,7 +166,7 @@ public class PhotoStudioGetter { } if ("sky".equals(element)) { - if (content.equals("")) { // Case where sky is null + if (content.isEmpty()) { // Case where sky is null p.setSky(null); return; } diff --git a/swing/src/main/java/info/openrocket/swing/gui/adaptors/EnumModel.java b/swing/src/main/java/info/openrocket/swing/gui/adaptors/EnumModel.java index 31580ebf6..444866ff3 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/adaptors/EnumModel.java +++ b/swing/src/main/java/info/openrocket/swing/gui/adaptors/EnumModel.java @@ -1,6 +1,7 @@ package info.openrocket.swing.gui.adaptors; import java.util.ArrayList; +import java.util.Arrays; import java.util.EventObject; import javax.swing.AbstractListModel; @@ -65,10 +66,8 @@ public class EnumModel> extends AbstractListModel this.values = values; else this.values = (T[]) enumClass.getEnumConstants(); - - for (T e : this.values){ - this.displayedValues.add( e ); - } + + this.displayedValues.addAll(Arrays.asList(this.values)); this.nullText = nullText; stateChanged(null); // Update current value diff --git a/swing/src/main/java/info/openrocket/swing/gui/configdialog/FreeformFinSetConfig.java b/swing/src/main/java/info/openrocket/swing/gui/configdialog/FreeformFinSetConfig.java index 206a12b4e..98cdab1e4 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/configdialog/FreeformFinSetConfig.java +++ b/swing/src/main/java/info/openrocket/swing/gui/configdialog/FreeformFinSetConfig.java @@ -366,7 +366,7 @@ public class FreeformFinSetConfig extends FinSetConfig { bufferHeader.append(table.getColumnName(j)); bufferHeader.append(", "); } - writer.write(bufferHeader.toString() + "\r\n"); + writer.write(bufferHeader + "\r\n"); //write row information for (int i = 0; i < nRow; i++) { @@ -375,7 +375,7 @@ public class FreeformFinSetConfig extends FinSetConfig { buffer.append(table.getValueAt(i, j)); buffer.append(", "); } - writer.write(buffer.toString() + "\r\n"); + writer.write(buffer + "\r\n"); } writer.close(); diff --git a/swing/src/main/java/info/openrocket/swing/gui/dialogs/optimization/GeneralOptimizationDialog.java b/swing/src/main/java/info/openrocket/swing/gui/dialogs/optimization/GeneralOptimizationDialog.java index 74ef7c712..342acb217 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/dialogs/optimization/GeneralOptimizationDialog.java +++ b/swing/src/main/java/info/openrocket/swing/gui/dialogs/optimization/GeneralOptimizationDialog.java @@ -1025,8 +1025,7 @@ public class GeneralOptimizationDialog extends JDialog { list.add(m); } - for (Object key : simulationModifiers.keySet()) { - List list = simulationModifiers.get(key); + for (List list : simulationModifiers.values()) { list.sort((o1, o2) -> o1.getName().compareTo(o2.getName())); } diff --git a/swing/src/main/java/info/openrocket/swing/gui/dialogs/optimization/OptimizationPlotDialog.java b/swing/src/main/java/info/openrocket/swing/gui/dialogs/optimization/OptimizationPlotDialog.java index bfb5c66fa..7dc9d7115 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/dialogs/optimization/OptimizationPlotDialog.java +++ b/swing/src/main/java/info/openrocket/swing/gui/dialogs/optimization/OptimizationPlotDialog.java @@ -144,8 +144,8 @@ public class OptimizationPlotDialog extends JDialog { // Create the optimization path (with autosort) XYSeries series = new XYSeries(trans.get("plot1d.series"), true, true); List tooltips = new ArrayList(); - for (Point p : evaluations.keySet()) { - FunctionEvaluationData data = evaluations.get(p); + for (Map.Entry entry : evaluations.entrySet()) { + FunctionEvaluationData data = entry.getValue(); if (data != null) { if (data.getParameterValue() != null) { Value[] state = data.getState(); @@ -153,7 +153,7 @@ public class OptimizationPlotDialog extends JDialog { tooltips.add(getTooltip(data, parameter)); } } else { - log.error("Could not find evaluation data for point " + p); + log.error("Could not find evaluation data for point " + entry.getKey()); } } diff --git a/swing/src/main/java/info/openrocket/swing/gui/figure3d/RealisticRenderer.java b/swing/src/main/java/info/openrocket/swing/gui/figure3d/RealisticRenderer.java index 2ab341bd9..6e18bb3d8 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/figure3d/RealisticRenderer.java +++ b/swing/src/main/java/info/openrocket/swing/gui/figure3d/RealisticRenderer.java @@ -127,9 +127,7 @@ public class RealisticRenderer extends RocketRenderer { gl.glLightModeli(GL2.GL_LIGHT_MODEL_COLOR_CONTROL, GL2.GL_SEPARATE_SPECULAR_COLOR); float[] convertedColor = this.convertColor(a, alpha); - for (int i=0; i < convertedColor.length; i++) { - color[i] = convertedColor[i]; - } + System.arraycopy(convertedColor, 0, color, 0, convertedColor.length); gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, color, 0); gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, color, 0); diff --git a/swing/src/main/java/info/openrocket/swing/gui/figure3d/RocketFigure3d.java b/swing/src/main/java/info/openrocket/swing/gui/figure3d/RocketFigure3d.java index 296cc3149..841863cd1 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/figure3d/RocketFigure3d.java +++ b/swing/src/main/java/info/openrocket/swing/gui/figure3d/RocketFigure3d.java @@ -13,6 +13,7 @@ import java.awt.event.MouseEvent; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -600,8 +601,7 @@ public class RocketFigure3d extends JPanel implements GLEventListener { public void setSelection(final RocketComponent[] selection) { this.selection.clear(); if (selection != null) { - for (RocketComponent c : selection) - this.selection.add(c); + this.selection.addAll(Arrays.asList(selection)); } internalRepaint(); } diff --git a/swing/src/main/java/info/openrocket/swing/gui/main/componenttree/ComponentTreeTransferHandler.java b/swing/src/main/java/info/openrocket/swing/gui/main/componenttree/ComponentTreeTransferHandler.java index e5c9c7962..0ac3ce054 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/main/componenttree/ComponentTreeTransferHandler.java +++ b/swing/src/main/java/info/openrocket/swing/gui/main/componenttree/ComponentTreeTransferHandler.java @@ -89,7 +89,7 @@ public class ComponentTreeTransferHandler extends TransferHandler { } } - log.info("Creating transferable from component " + sb.toString()); + log.info("Creating transferable from component " + sb); return new RocketComponentTransferable(components); } diff --git a/swing/src/main/java/info/openrocket/swing/gui/plot/SimulationPlot.java b/swing/src/main/java/info/openrocket/swing/gui/plot/SimulationPlot.java index bd1c3ca1f..2f9edcbd3 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/plot/SimulationPlot.java +++ b/swing/src/main/java/info/openrocket/swing/gui/plot/SimulationPlot.java @@ -21,6 +21,7 @@ import java.util.HashSet; import java.util.List; import java.util.Objects; import java.util.Optional; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -453,7 +454,7 @@ public class SimulationPlot { private void fillEventLists(int branch, List eventTimes, List eventLabels, List eventColors, List eventImages) { - HashSet typeSet = new HashSet<>(); + Set typeSet = new HashSet<>(); double prevTime = -100; String text = null; Color color = null; diff --git a/swing/src/main/java/info/openrocket/swing/gui/preset/PresetEditorDialog.java b/swing/src/main/java/info/openrocket/swing/gui/preset/PresetEditorDialog.java index 5e0693753..ec6dfefec 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/preset/PresetEditorDialog.java +++ b/swing/src/main/java/info/openrocket/swing/gui/preset/PresetEditorDialog.java @@ -2192,10 +2192,10 @@ public class PresetEditorDialog extends JDialog implements ItemListener { JOptionPane.showMessageDialog(null, "A material must be selected.", "Error", JOptionPane.ERROR_MESSAGE); return null; } - if (!pcLineCount.getText().equals("")) { + if (!pcLineCount.getText().isEmpty()) { props.put(ComponentPreset.LINE_COUNT, Integer.parseInt(pcLineCount.getText())); } - if (!pcSides.getText().equals("")) { + if (!pcSides.getText().isEmpty()) { props.put(ComponentPreset.SIDES, Integer.parseInt(pcSides.getText())); } props.put(ComponentPreset.LINE_LENGTH, pcLineLength.getValue()); diff --git a/swing/src/main/java/info/openrocket/swing/gui/print/DesignReport.java b/swing/src/main/java/info/openrocket/swing/gui/print/DesignReport.java index 46f7660e4..4b0c02237 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/print/DesignReport.java +++ b/swing/src/main/java/info/openrocket/swing/gui/print/DesignReport.java @@ -668,7 +668,7 @@ public class DesignReport { protected void runSimulations(List simulations) { if (window != null) { log.debug("Updating " + simulations.size() + "simulations using SimulationRunDialog"); - Simulation[] runMe = simulations.toArray(new Simulation[simulations.size()]); + Simulation[] runMe = simulations.toArray(new Simulation[0]); new SimulationRunDialog(window, rocketDocument, runMe).setVisible(true); } else { /* This code is left for compatibility with any developers who are diff --git a/swing/src/main/java/info/openrocket/swing/gui/print/FinMarkingGuide.java b/swing/src/main/java/info/openrocket/swing/gui/print/FinMarkingGuide.java index c3b12c237..3d093dc48 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/print/FinMarkingGuide.java +++ b/swing/src/main/java/info/openrocket/swing/gui/print/FinMarkingGuide.java @@ -255,10 +255,10 @@ public class FinMarkingGuide extends JPanel { int column = 0; - for (BodyTube next : markingGuideItems.keySet()) { - double circumferenceInPoints = PrintUnit.METERS.toPoints((next.getOuterRadius() + PAPER_THICKNESS_IN_METERS) * + for (Map.Entry> entry : markingGuideItems.entrySet()) { + double circumferenceInPoints = PrintUnit.METERS.toPoints((entry.getKey().getOuterRadius() + PAPER_THICKNESS_IN_METERS) * TWO_PI); - List componentList = markingGuideItems.get(next); + List componentList = entry.getValue(); //Don't draw the lug if there are no fins. if (hasFins(componentList)) { length = (int) Math.ceil(circumferenceInPoints); diff --git a/swing/src/main/java/info/openrocket/swing/gui/print/components/CheckTreeSelectionModel.java b/swing/src/main/java/info/openrocket/swing/gui/print/components/CheckTreeSelectionModel.java index 02ea757d8..cc055772f 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/print/components/CheckTreeSelectionModel.java +++ b/swing/src/main/java/info/openrocket/swing/gui/print/components/CheckTreeSelectionModel.java @@ -134,7 +134,7 @@ public class CheckTreeSelectionModel extends DefaultTreeSelectionModel { toBeRemoved.add(selectionPath); } } - super.removeSelectionPaths(toBeRemoved.toArray(new TreePath[toBeRemoved.size()])); + super.removeSelectionPaths(toBeRemoved.toArray(new TreePath[0])); } // if all siblings are selected then deselect them and select parent recursively diff --git a/swing/src/main/java/info/openrocket/swing/gui/print/components/RocketPrintTree.java b/swing/src/main/java/info/openrocket/swing/gui/print/components/RocketPrintTree.java index 1ca2e5a9f..83c829bdd 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/print/components/RocketPrintTree.java +++ b/swing/src/main/java/info/openrocket/swing/gui/print/components/RocketPrintTree.java @@ -185,7 +185,7 @@ public class RocketPrintTree extends JTree { INITIAL_CHECKBOX_SELECTED)); } } - return nodes.toArray(new CheckBoxNode[nodes.size()]); + return nodes.toArray(new CheckBoxNode[0]); } /** diff --git a/swing/src/main/java/info/openrocket/swing/gui/simulation/SimulationConfigDialog.java b/swing/src/main/java/info/openrocket/swing/gui/simulation/SimulationConfigDialog.java index 02c8257de..41ad1185c 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/simulation/SimulationConfigDialog.java +++ b/swing/src/main/java/info/openrocket/swing/gui/simulation/SimulationConfigDialog.java @@ -254,7 +254,7 @@ public class SimulationConfigDialog extends JDialog { private void setText() { String name = field.getText(); - if (name == null || name.equals("")) + if (name == null || name.isEmpty()) return; simulationList[0].setName(name); diff --git a/swing/src/main/java/info/openrocket/swing/gui/util/SwingPreferences.java b/swing/src/main/java/info/openrocket/swing/gui/util/SwingPreferences.java index c769ff919..6640ac979 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/util/SwingPreferences.java +++ b/swing/src/main/java/info/openrocket/swing/gui/util/SwingPreferences.java @@ -16,6 +16,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Set; import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; @@ -677,12 +678,12 @@ public class SwingPreferences extends info.openrocket.core.startup.Preferences i public void storeDefaultUnits() { Preferences prefs = PREFNODE.node("units"); - for (String key : UnitGroup.UNITS.keySet()) { - UnitGroup group = UnitGroup.UNITS.get(key); + for (Map.Entry entry : UnitGroup.UNITS.entrySet()) { + UnitGroup group = entry.getValue(); if (group == null || group.getUnitCount() < 2) continue; - prefs.put(key, group.getDefaultUnit().getUnit()); + prefs.put(entry.getKey(), group.getDefaultUnit().getUnit()); } } diff --git a/swing/src/main/java/info/openrocket/swing/gui/widgets/MultiSlider.java b/swing/src/main/java/info/openrocket/swing/gui/widgets/MultiSlider.java index 990f60659..c0c185652 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/widgets/MultiSlider.java +++ b/swing/src/main/java/info/openrocket/swing/gui/widgets/MultiSlider.java @@ -228,9 +228,7 @@ public class MultiSlider extends JSlider { values[0] = getMinimum(); values[num_of_values - 1] = getMaximum(); int[] def = createDefaultValues(getMinimum(), getMaximum(), num_of_values - 2, false); - for (int i = 0; i < def.length; i++) { - values[i + 1] = def[i]; - } + System.arraycopy(def, 0, values, 1, def.length); } return values; } diff --git a/swing/src/main/java/info/openrocket/swing/gui/widgets/SearchableAndCategorizableComboBox.java b/swing/src/main/java/info/openrocket/swing/gui/widgets/SearchableAndCategorizableComboBox.java index d06ac7f49..bbd383314 100644 --- a/swing/src/main/java/info/openrocket/swing/gui/widgets/SearchableAndCategorizableComboBox.java +++ b/swing/src/main/java/info/openrocket/swing/gui/widgets/SearchableAndCategorizableComboBox.java @@ -151,8 +151,8 @@ public class SearchableAndCategorizableComboBox extends JComboBox { private T[] extractItemsFromMap(Map itemGroupMap) { Set uniqueItems = new HashSet<>(); // Use a Set to ensure uniqueness - for (E group : itemGroupMap.keySet()) { - uniqueItems.addAll(Arrays.asList(itemGroupMap.get(group))); + for (T[] ts : itemGroupMap.values()) { + uniqueItems.addAll(Arrays.asList(ts)); } ArrayList items = new ArrayList<>(uniqueItems); return items.toArray((T[]) new Object[0]); @@ -166,9 +166,9 @@ public class SearchableAndCategorizableComboBox extends JComboBox { menu.addSeparator(); // Separator between search field and menu items // Fill the menu with the groups - for (E group : itemGroupMap.keySet()) { - JMenu groupList = new JMenu(group.toString()); - T[] itemsForGroup = itemGroupMap.get(group); + for (Map.Entry entry : itemGroupMap.entrySet()) { + JMenu groupList = new JMenu(entry.getKey().toString()); + T[] itemsForGroup = entry.getValue(); if (itemsForGroup != null) { for (T item : itemsForGroup) {