public static void saveTree(HashTree tree, OutputStream out) throws IOException { // Get the OutputWriter to use OutputStreamWriter outputStreamWriter = getOutputStreamWriter(out); writeXmlHeader(outputStreamWriter); // Use deprecated method, to avoid duplicating code ScriptWrapper wrapper = new ScriptWrapper(); wrapper.testPlan = tree; JMXSAVER.toXML(wrapper, outputStreamWriter); outputStreamWriter.write('\n');// Ensure terminated properly outputStreamWriter.close(); }
/** * {@inheritDoc} */ @Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { ScriptWrapper wrap = new ScriptWrapper(); wrap.version = reader.getAttribute(ATT_VERSION); ConversionHelp.setInVersion(wrap.version);// Make sure decoding // follows input file reader.moveDown(); // Catch errors and rethrow as ConversionException so we get location details try { wrap.testPlan = (HashTree) context.convertAnother(wrap, getNextType(reader)); } catch (NoClassDefFoundError | Exception e) { throw createConversionException(e); } return wrap; }