public EntryMetaData unwrap(ModelNode node) { if (node == null) { return null; } EntryMetaData entry = new EntryMetaData(); if (node.has(PATH)) { entry.setPath(node.get(PATH).asString()); } if (node.has(DESCRIPTION)) { entry.setDescription(node.get(DESCRIPTION).asString()); } //PROPERTIES if (node.get(PROPERTIES).isDefined()) { List<ModelNode> propNodes = node.get(PROPERTIES).asList(); for (ModelNode propNode:propNodes) { String[] prop = PropertyMetaDataMapper.INSTANCE.unwrap(propNode); if (prop != null) { entry.addProperty(prop[0], prop[1]); } } } return entry; }
@Override public ModelNode wrap(EntryMetaData obj, ModelNode node) { if (obj == null) { return null; } node.get(PATH).set(obj.getPath()); if (obj.getDescription() != null) { node.get(DESCRIPTION).set(obj.getDescription()); } //PROPERTIES addProperties(node, obj); return node; }
private static void parseEntry(XMLStreamReader reader, EntryMetaData entry) throws XMLStreamException { Properties props = getAttributes(reader); entry.setPath(props.getProperty(Element.PATH.getLocalName())); while (reader.hasNext() && (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { Element element = Element.forName(reader.getLocalName()); switch (element) { case DESCRIPTION: entry.setDescription(reader.getElementText()); break; case PROPERTY: parseProperty(reader, entry); break; default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element2",reader.getName(), Element.DESCRIPTION.getLocalName(), Element.PROPERTY.getLocalName())); } } }
writeAttribute(writer, Element.PATH.getLocalName(), em.getPath()); if (em.getDescription() != null) { writeElement(writer, Element.DESCRIPTION, em.getDescription()); writeProperties(writer, em.getPropertiesMap()); writer.writeEndElement();
break; case ENTRY: EntryMetaData entry = new EntryMetaData(); parseEntry(reader, entry); vdb.getEntries().add(entry);
private static void parseEntry(XMLStreamReader reader, EntryMetaData entry) throws XMLStreamException { Properties props = getAttributes(reader); entry.setPath(props.getProperty(Element.PATH.getLocalName())); while (reader.hasNext() && (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { Element element = Element.forName(reader.getLocalName()); switch (element) { case DESCRIPTION: entry.setDescription(reader.getElementText()); break; case PROPERTY: parseProperty(reader, entry); break; default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element2",reader.getName(), Element.DESCRIPTION.getLocalName(), Element.PROPERTY.getLocalName())); } } }
writeAttribute(writer, Element.PATH.getLocalName(), em.getPath()); if (em.getDescription() != null) { writeElement(writer, Element.DESCRIPTION, em.getDescription()); writeProperties(writer, em.getPropertiesMap()); writer.writeEndElement();
break; case ENTRY: EntryMetaData entry = new EntryMetaData(); parseEntry(reader, entry); vdb.getEntries().add(entry);
public EntryMetaData unwrap(ModelNode node) { if (node == null) { return null; } EntryMetaData entry = new EntryMetaData(); if (node.has(PATH)) { entry.setPath(node.get(PATH).asString()); } if (node.has(DESCRIPTION)) { entry.setDescription(node.get(DESCRIPTION).asString()); } //PROPERTIES if (node.get(PROPERTIES).isDefined()) { List<ModelNode> propNodes = node.get(PROPERTIES).asList(); for (ModelNode propNode:propNodes) { String[] prop = PropertyMetaDataMapper.INSTANCE.unwrap(propNode); if (prop != null) { entry.addProperty(prop[0], prop[1]); } } } return entry; }
@Override public ModelNode wrap(EntryMetaData obj, ModelNode node) { if (obj == null) { return null; } node.get(PATH).set(obj.getPath()); if (obj.getDescription() != null) { node.get(DESCRIPTION).set(obj.getDescription()); } //PROPERTIES addProperties(node, obj); return node; }
EntryMetaData em = new EntryMetaData(); em.setPath("/path-one"); em.setDescription("entry one"); em.addProperty("entryone", "1"); vdb.getEntries().add(em); EntryMetaData em2 = new EntryMetaData(); em2.setPath("/path-two"); vdb.getEntries().add(em2); return vdb;