* @see com.thoughtworks.xstream.converters.Converter#unmarshal(com.thoughtworks.xstream.io.HierarchicalStreamReader,
* com.thoughtworks.xstream.converters.UnmarshallingContext)
*/
@Override
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
TestResultWrapper results = new TestResultWrapper();
Collection<SampleResult> samples = new ArrayList<SampleResult>();
String ver = reader.getAttribute("version"); //$NON-NLS-1$
if (ver == null || ver.length() == 0) {
ver = "1.0"; //$NON-NLS-1$
}
results.setVersion(ver);
ConversionHelp.setInVersion(ver);// Make sure decoding follows input file
final ResultCollectorHelper resultCollectorHelper = (ResultCollectorHelper) context.get(SaveService.RESULTCOLLECTOR_HELPER_OBJECT);
while (reader.hasMoreChildren()) {
reader.moveDown();
SampleResult sample = (SampleResult) readItem(reader, context, results);
if (resultCollectorHelper != null) {
resultCollectorHelper.add(sample);
} else {
samples.add(sample);
}
reader.moveUp();
}
results.setSampleResults(samples);
return results;
}