[#2456] Save warning priority in .ork
This commit is contained in:
parent
7d23bb58ee
commit
90599bce02
@ -216,23 +216,8 @@ public class OpenRocketSaver extends RocketSaver {
|
|||||||
private int calculateNecessaryFileVersion(OpenRocketDocument document, StorageOptions opts) {
|
private int calculateNecessaryFileVersion(OpenRocketDocument document, StorageOptions opts) {
|
||||||
/*
|
/*
|
||||||
* NOTE: Remember to update the supported versions in DocumentConfig as well!
|
* NOTE: Remember to update the supported versions in DocumentConfig as well!
|
||||||
*
|
|
||||||
* File version 1.9 is required for:
|
|
||||||
* - new-style positioning
|
|
||||||
* - external/parallel booster stages
|
|
||||||
* - external pods
|
|
||||||
* - Rail Buttons
|
|
||||||
* - Flight event source saving
|
|
||||||
*
|
|
||||||
* Otherwise use version 1.9.
|
|
||||||
*/
|
*/
|
||||||
|
return FILE_VERSION_DIVISOR + 10;
|
||||||
/////////////////
|
|
||||||
// Version 1.9 //
|
|
||||||
/////////////////
|
|
||||||
// for any new-style positioning: 'axialoffset', 'angleoffset', 'radiusoffset' tags
|
|
||||||
// these tags are used for any RocketComponent child classes positioning... so... ALL the classes.
|
|
||||||
return FILE_VERSION_DIVISOR + 9;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -409,7 +394,7 @@ public class OpenRocketSaver extends RocketSaver {
|
|||||||
indent++;
|
indent++;
|
||||||
|
|
||||||
for (Warning w : data.getWarningSet()) {
|
for (Warning w : data.getWarningSet()) {
|
||||||
writeElement("warning", TextUtil.escapeXML(w.toString()));
|
writeElementWithAttribute("warning", "priority", w.getPriority().getExportLabel(), TextUtil.escapeXML(w.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check whether to store data
|
// Check whether to store data
|
||||||
@ -607,6 +592,12 @@ public class OpenRocketSaver extends RocketSaver {
|
|||||||
writeln("<" + element + ">" + TextUtil.escapeXML(content) + "</" + element + ">");
|
writeln("<" + element + ">" + TextUtil.escapeXML(content) + "</" + element + ">");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void writeElementWithAttribute(String element, String attributeName, String attribute, Object content) throws IOException {
|
||||||
|
content = content == null ? "" : content;
|
||||||
|
|
||||||
|
writeln("<" + element + " " + attributeName + " = \"" + attribute + "\">" + TextUtil.escapeXML(content) + "</" + element + ">");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeln(String str) throws IOException {
|
private void writeln(String str) throws IOException {
|
||||||
|
@ -52,7 +52,7 @@ import net.sf.openrocket.util.Reflection;
|
|||||||
class DocumentConfig {
|
class DocumentConfig {
|
||||||
|
|
||||||
/* Remember to update OpenRocketSaver as well! */
|
/* Remember to update OpenRocketSaver as well! */
|
||||||
public static final String[] SUPPORTED_VERSIONS = { "1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9" };
|
public static final String[] SUPPORTED_VERSIONS = { "1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10" };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Divisor used in converting an integer version to the point-represented version.
|
* Divisor used in converting an integer version to the point-represented version.
|
||||||
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.sf.openrocket.logging.MessagePriority;
|
||||||
import net.sf.openrocket.logging.Warning;
|
import net.sf.openrocket.logging.Warning;
|
||||||
import net.sf.openrocket.logging.WarningSet;
|
import net.sf.openrocket.logging.WarningSet;
|
||||||
import net.sf.openrocket.file.DocumentLoadingContext;
|
import net.sf.openrocket.file.DocumentLoadingContext;
|
||||||
@ -83,7 +84,9 @@ class FlightDataHandler extends AbstractElementHandler {
|
|||||||
branches.add(branch);
|
branches.add(branch);
|
||||||
}
|
}
|
||||||
} else if (element.equals("warning")) {
|
} else if (element.equals("warning")) {
|
||||||
warningSet.add(Warning.fromString(content));
|
String priorityStr = attributes.get("priority");
|
||||||
|
MessagePriority priority = MessagePriority.fromExportLabel(priorityStr);
|
||||||
|
warningSet.add(Warning.fromString(content, priority));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,5 +64,8 @@ The following file format versions exist:
|
|||||||
Rename <position> to <axialoffset> (<position> remains for backward compatibility)
|
Rename <position> to <axialoffset> (<position> remains for backward compatibility)
|
||||||
Rename <rotation> to <angleoffset> (<rotation> remains for backward compatibility)
|
Rename <rotation> to <angleoffset> (<rotation> remains for backward compatibility)
|
||||||
|
|
||||||
1.9: Introduced with OpenRocket 23.xx.
|
1.9: Introduced with OpenRocket 23.09.
|
||||||
Added ID for each rocket component, to in turn add this ID as a source for flight events.
|
Added ID for each rocket component, to in turn add this ID as a source for flight events.
|
||||||
|
|
||||||
|
1.10: Introduced with OpenRocket 24.XX.
|
||||||
|
Added a priority attribute to simulation warnings.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user