diff --git a/core/src/net/sf/openrocket/file/rasaero/importt/BodyTubeHandler.java b/core/src/net/sf/openrocket/file/rasaero/importt/BodyTubeHandler.java index d7ce9d2e3..e43c9b33b 100644 --- a/core/src/net/sf/openrocket/file/rasaero/importt/BodyTubeHandler.java +++ b/core/src/net/sf/openrocket/file/rasaero/importt/BodyTubeHandler.java @@ -44,7 +44,13 @@ public class BodyTubeHandler extends BaseHandler { if (RASAeroCommonConstants.FIN.equals(element)) { return new FinHandler(this.bodyTube, warnings); } - return PlainTextHandler.INSTANCE; + if (RASAeroCommonConstants.LENGTH.equals(element) || RASAeroCommonConstants.DIAMETER.equals(element) || + RASAeroCommonConstants.LAUNCH_LUG_DIAMETER.equals(element) || RASAeroCommonConstants.LAUNCH_LUG_LENGTH.equals(element) || + RASAeroCommonConstants.RAIL_GUIDE_DIAMETER.equals(element) || RASAeroCommonConstants.RAIL_GUIDE_HEIGHT.equals(element) || + RASAeroCommonConstants.LOCATION.equals(element) || RASAeroCommonConstants.COLOR.equals(element)) { + return PlainTextHandler.INSTANCE; + } + return null; } @Override diff --git a/core/src/net/sf/openrocket/file/rasaero/importt/LaunchSiteHandler.java b/core/src/net/sf/openrocket/file/rasaero/importt/LaunchSiteHandler.java index 197af5269..77e112603 100644 --- a/core/src/net/sf/openrocket/file/rasaero/importt/LaunchSiteHandler.java +++ b/core/src/net/sf/openrocket/file/rasaero/importt/LaunchSiteHandler.java @@ -28,7 +28,7 @@ public class LaunchSiteHandler extends AbstractElementHandler { || RASAeroCommonConstants.LAUNCH_TEMPERATURE.equals(element) || RASAeroCommonConstants.LAUNCH_WIND_SPEED.equals(element)) { return PlainTextHandler.INSTANCE; } - warnings.add("Unknown element " + element + ", ignoring."); + warnings.add("Unknown element " + element + " for launch site, ignoring."); return null; } diff --git a/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroCommonConstants.java b/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroCommonConstants.java index a54d9fb8d..f5e487a70 100644 --- a/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroCommonConstants.java +++ b/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroCommonConstants.java @@ -20,6 +20,7 @@ public class RASAeroCommonConstants { public static final String FILE_VERSION = "FileVersion"; public static final String ROCKET_DESIGN = "RocketDesign"; + public static final String PART_TYPE = "PartType"; public static final String LENGTH = "Length"; public static final String DIAMETER = "Diameter"; public static final String LOCATION = "Location"; diff --git a/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroHandler.java b/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroHandler.java index 805d8e8ad..3b85c9d5b 100644 --- a/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroHandler.java +++ b/core/src/net/sf/openrocket/file/rasaero/importt/RASAeroHandler.java @@ -48,7 +48,7 @@ public class RASAeroHandler extends AbstractElementHandler { public ElementHandler openElement(String element, HashMap attributes, WarningSet warnings) throws SAXException { // Check for unknown elements if (!RASAeroCommonConstants.RASAERO_DOCUMENT.equals(element)) { - warnings.add("Unknown element " + element + ", ignoring."); + warnings.add("Unknown element " + element + " in RASAeroDocument, ignoring."); return null; } @@ -192,6 +192,7 @@ public class RASAeroHandler extends AbstractElementHandler { return PlainTextHandler.INSTANCE; } + //warnings.add("Unknown element " + element + " in RocketDesign, ignoring."); return null; } diff --git a/core/src/net/sf/openrocket/file/rasaero/importt/RecoveryHandler.java b/core/src/net/sf/openrocket/file/rasaero/importt/RecoveryHandler.java index 22218208e..dc75a106b 100644 --- a/core/src/net/sf/openrocket/file/rasaero/importt/RecoveryHandler.java +++ b/core/src/net/sf/openrocket/file/rasaero/importt/RecoveryHandler.java @@ -42,6 +42,7 @@ public class RecoveryHandler extends AbstractElementHandler { public RecoveryHandler(Rocket rocket) { this.rocket = rocket; } + @Override public ElementHandler openElement(String element, HashMap attributes, WarningSet warnings) throws SAXException { String[] elements = new String[] {RASAeroCommonConstants.RECOVERY_ALTITUDE, RASAeroCommonConstants.RECOVERY_DEVICE_TYPE, diff --git a/core/test/net/sf/openrocket/file/rasaero/importt/RASAeroLoaderTest.java b/core/test/net/sf/openrocket/file/rasaero/importt/RASAeroLoaderTest.java index 42d85b9c4..f2063effa 100644 --- a/core/test/net/sf/openrocket/file/rasaero/importt/RASAeroLoaderTest.java +++ b/core/test/net/sf/openrocket/file/rasaero/importt/RASAeroLoaderTest.java @@ -201,6 +201,6 @@ public class RASAeroLoaderTest extends BaseTestCase { } // TODO: this also includes all motor warnings, so change motor db in setUp() to include OR motors so the total // warning size decreases - assertEquals(10, loader.getWarnings().size()); + assertEquals(4, loader.getWarnings().size()); } }