From bd02f17f8f431e8ac7cd7afa6b6804c6900d6cc0 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Sat, 1 Apr 2023 16:20:54 +0200 Subject: [PATCH] Fix importing when motor name has delay Could not import e.g. B6-0 motor, it needed to be B6 (delay '-0' removed) --- core/src/net/sf/openrocket/file/motor/AbstractMotorLoader.java | 2 +- .../openrocket/file/rasaero/importt/RASAeroMotorsLoader.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/net/sf/openrocket/file/motor/AbstractMotorLoader.java b/core/src/net/sf/openrocket/file/motor/AbstractMotorLoader.java index 00c79716d..cf55538fc 100644 --- a/core/src/net/sf/openrocket/file/motor/AbstractMotorLoader.java +++ b/core/src/net/sf/openrocket/file/motor/AbstractMotorLoader.java @@ -116,7 +116,7 @@ public abstract class AbstractMotorLoader implements MotorLoader { * @param designation the motor designation. * @return the designation with a possible delay removed. */ - protected static String removeDelay(String designation) { + public static String removeDelay(String designation) { if (designation.matches(".*-([0-9]+|[pP])$")) { designation = designation.substring(0, designation.lastIndexOf('-')); } diff --git a/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroMotorsLoader.java b/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroMotorsLoader.java index cb608674b..f1acbd2a3 100644 --- a/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroMotorsLoader.java +++ b/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroMotorsLoader.java @@ -2,6 +2,7 @@ package net.sf.openrocket.file.rasaero.importt; import net.sf.openrocket.aerodynamics.WarningSet; import net.sf.openrocket.database.motor.ThrustCurveMotorSet; +import net.sf.openrocket.file.motor.AbstractMotorLoader; import net.sf.openrocket.motor.ThrustCurveMotor; import net.sf.openrocket.startup.Application; @@ -31,7 +32,7 @@ public abstract class RASAeroMotorsLoader { if (split.length != 2) { return null; } - String motorName = split[0]; + String motorName = AbstractMotorLoader.removeDelay(split[0]); String manufacturer = split[1].replaceAll("^\\(|\\)$", ""); // Remove beginning and ending parenthesis for (ThrustCurveMotor motor : allMotors) { if (motorName.equals(motor.getDesignation()) && motor.getManufacturer().matches(manufacturer)) {