public AdiAjaxController(DataItemTransportService dataItemTransportService) { if (dataItemTransportService == null) { throw new IllegalArgumentException("Data Item Transport Service must not be null."); } this.dataItemTransportService = dataItemTransportService; // Create the xstream instance that will serialize objects into JSON. xstream = new XStream( new JsonHierarchicalStreamDriver() { public HierarchicalStreamWriter createWriter(Writer writer) { return new JsonWriter(writer, JsonWriter.DROP_ROOT_MODE); } }); // Register specific object converters to serialize business objects. this.xstream.setMode(XStream.NO_REFERENCES); this.xstream.registerConverter(new DataItemTransportConverter()); this.xstream.registerConverter(new AdiAjaxDataItemConverter()); this.xstream.registerConverter(new DataFileConverter()); this.xstream.registerConverter(new AdiAjaxDateTimeConverter()); }
@Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { DataItemTransport dataItemTransportObject = new DataItemTransport(); DateTime initialDepositDate = null; DataItem dataItem = null; ArchiveDepositInfo.Status depositStatus = null; while (reader.hasMoreChildren()) { reader.moveDown(); final String ename = getElementName(reader); if (ename.equals(E_INITIAL_DEPOSIT_DATE)) { reader.moveDown(); initialDepositDate = (DateTime) context.convertAnother(initialDepositDate, DateTime.class); dataItemTransportObject.setInitialDepositDate(initialDepositDate); reader.moveUp(); } else if (ename.equals(E_DATA_ITEM)) { reader.moveDown(); dataItem = (DataItem) context.convertAnother(dataItem, DataItem.class); dataItemTransportObject.setDataItem(dataItem); reader.moveUp(); } else if (ename.equals(E_DEPOSIT_STATUS)) { final String value = reader.getValue(); if (!isEmptyOrNull(value)) { dataItemTransportObject.setDepositStatus(ArchiveDepositInfo.Status.valueOf(value.toUpperCase().trim())); } } reader.moveUp(); } return dataItemTransportObject; }
@Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { DataItemTransport dataItemTransportObject = new DataItemTransport(); DateTime initialDepositDate = null; DataItem dataItem = null; ArchiveDepositInfo.Status depositStatus = null; while (reader.hasMoreChildren()) { reader.moveDown(); final String ename = getElementName(reader); if (ename.equals(E_INITIAL_DEPOSIT_DATE)) { reader.moveDown(); initialDepositDate = (DateTime) context.convertAnother(initialDepositDate, DateTime.class); dataItemTransportObject.setInitialDepositDate(initialDepositDate); reader.moveUp(); } else if (ename.equals(E_DATA_ITEM)) { reader.moveDown(); dataItem = (DataItem) context.convertAnother(dataItem, DataItem.class); dataItemTransportObject.setDataItem(dataItem); reader.moveUp(); } else if (ename.equals(E_DEPOSIT_STATUS)) { final String value = reader.getValue(); if (!isEmptyOrNull(value)) { dataItemTransportObject.setDepositStatus(ArchiveDepositInfo.Status.valueOf(value.toUpperCase().trim())); } } reader.moveUp(); } return dataItemTransportObject; }
public AdiAjaxController(DataItemTransportService dataItemTransportService) { if (dataItemTransportService == null) { throw new IllegalArgumentException("Data Item Transport Service must not be null."); } this.dataItemTransportService = dataItemTransportService; // Create the xstream instance that will serialize objects into JSON. xstream = new XStream( new JsonHierarchicalStreamDriver() { public HierarchicalStreamWriter createWriter(Writer writer) { return new JsonWriter(writer, JsonWriter.DROP_ROOT_MODE); } }); // Register specific object converters to serialize business objects. this.xstream.setMode(XStream.NO_REFERENCES); this.xstream.registerConverter(new DataItemTransportConverter()); this.xstream.registerConverter(new AdiAjaxDataItemConverter()); this.xstream.registerConverter(new DataFileConverter()); this.xstream.registerConverter(new AdiAjaxDateTimeConverter()); }