private void writeElement(final XMLStreamWriter writer, final Element element, String value, String[] ... attributes) throws XMLStreamException { writer.writeStartElement(element.getLocalName()); for (String[] attribute : attributes) { writeAttribute(writer, attribute[0], attribute[1]); } writer.writeCharacters(value); writer.writeEndElement(); }
private void writeElement(final XMLStreamWriter writer, final Element element, String value, String[] ... attributes) throws XMLStreamException { writer.writeStartElement(element.getLocalName()); for (String[] attribute : attributes) { writeAttribute(writer, attribute[0], attribute[1]); } writer.writeCharacters(value); writer.writeEndElement(); }
private void writeProperties(final XMLStreamWriter writer, Map<String, String> props) throws XMLStreamException { for (Map.Entry<String, String> prop : props.entrySet()) { writer.writeStartElement(Element.PROPERTY.getLocalName()); String key = prop.getKey(); String value = prop.getValue(); writeAttribute(writer, Element.NAME.getLocalName(), key); if (value != null) { if (writePropertyElements) { writer.writeCharacters(value); } else { writeAttribute(writer, Element.VALUE.getLocalName(), value); } } writer.writeEndElement(); } }
VDBImportMetadata vdbImport = new VDBImportMetadata(); Properties props = getAttributes(reader); vdbImport.setName(props.getProperty(Element.NAME.getLocalName())); String version = props.getProperty(Element.VERSION.getLocalName()); if (version != null) { vdbImport.setVersion(version); vdbImport.setImportDataPolicies(Boolean.parseBoolean(props.getProperty(Element.IMPORT_POLICIES.getLocalName(), "true"))); vdb.getVDBImports().add(vdbImport); ignoreTillEnd(reader); default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element5",reader.getName(), Element.DESCRIPTION.getLocalName(), Element.PROPERTY.getLocalName(), Element.MODEL.getLocalName(), Element.TRANSLATOR.getLocalName(), Element.DATA_ROLE.getLocalName()), reader.getLocation());
private void writeModel(final XMLStreamWriter writer, ModelMetaData model) throws XMLStreamException { writer.writeStartElement(Element.MODEL.getLocalName()); writeAttribute(writer, Element.NAME.getLocalName(), model.getName()); writeAttribute(writer, Element.TYPE.getLocalName(), model.getModelType().name()); writeAttribute(writer, Element.VISIBLE.getLocalName(), String.valueOf(model.isVisible())); writeAttribute(writer, Element.PATH.getLocalName(), model.getPath()); writer.writeStartElement(Element.SOURCE.getLocalName()); writeAttribute(writer, Element.NAME.getLocalName(), source.getName()); writeAttribute(writer, Element.SOURCE_TRANSLATOR_NAME_ATTR.getLocalName(), source.getTranslatorName()); writeAttribute(writer, Element.SOURCE_CONNECTION_JNDI_NAME_ATTR.getLocalName(), source.getConnectionJndiName()); writer.writeEndElement(); writer.writeStartElement(Element.METADATA.getLocalName()); writeAttribute(writer, Element.TYPE.getLocalName(), model.getSourceMetadataType().get(i)); if (model.getSourceMetadataText().get(i) != null) { writer.writeCData(model.getSourceMetadataText().get(i)); continue; //info should be ephemeral writer.writeStartElement(Element.VALIDATION_ERROR.getLocalName()); writeAttribute(writer, Element.VALIDATION_SEVERITY_ATTR.getLocalName(), ve.getSeverity().name()); writeAttribute(writer, Element.PATH.getLocalName(), ve.getPath()); writer.writeCharacters(ve.getValue()); writer.writeEndElement();
private static void parseModel(XMLStreamReader reader, ModelMetaData model) throws XMLStreamException { Properties props = getAttributes(reader); model.setName(props.getProperty(Element.NAME.getLocalName())); model.setModelType(props.getProperty(Element.TYPE.getLocalName(), "PHYSICAL")); model.setVisible(Boolean.parseBoolean(props.getProperty(Element.VISIBLE.getLocalName(), "true"))); model.setPath(props.getProperty(Element.PATH.getLocalName())); case SOURCE: Properties sourceProps = getAttributes(reader); String name = sourceProps.getProperty(Element.NAME.getLocalName()); String translatorName = sourceProps.getProperty(Element.SOURCE_TRANSLATOR_NAME_ATTR.getLocalName()); String connectionName = sourceProps.getProperty(Element.SOURCE_CONNECTION_JNDI_NAME_ATTR.getLocalName()); model.addSourceMapping(name, translatorName, connectionName); ignoreTillEnd(reader); Properties validationProps = getAttributes(reader); String msg = reader.getElementText(); String severity = validationProps.getProperty(Element.VALIDATION_SEVERITY_ATTR.getLocalName()); String path = validationProps.getProperty(Element.PATH.getLocalName()); Message ve = new Message(Severity.valueOf(severity), msg); ve.setPath(path); case METADATA: Properties metdataProps = getAttributes(reader); String type = metdataProps.getProperty(Element.TYPE.getLocalName(), "DDL"); String text = reader.getElementText(); model.addSourceMetadata(type, text); default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element5",reader.getName(),
private void writeModel(final XMLStreamWriter writer, ModelMetaData model) throws XMLStreamException { writer.writeStartElement(Element.MODEL.getLocalName()); writeAttribute(writer, Element.NAME.getLocalName(), model.getName()); writeAttribute(writer, Element.TYPE.getLocalName(), model.getModelType().name()); writeAttribute(writer, Element.VISIBLE.getLocalName(), String.valueOf(model.isVisible())); writeAttribute(writer, Element.PATH.getLocalName(), model.getPath()); writer.writeStartElement(Element.SOURCE.getLocalName()); writeAttribute(writer, Element.NAME.getLocalName(), source.getName()); writeAttribute(writer, Element.SOURCE_TRANSLATOR_NAME_ATTR.getLocalName(), source.getTranslatorName()); writeAttribute(writer, Element.SOURCE_CONNECTION_JNDI_NAME_ATTR.getLocalName(), source.getConnectionJndiName()); writer.writeEndElement(); writer.writeStartElement(Element.METADATA.getLocalName()); writeAttribute(writer, Element.TYPE.getLocalName(), model.getSourceMetadataType().get(i)); if (model.getSourceMetadataText().get(i) != null) { writer.writeCData(model.getSourceMetadataText().get(i)); continue; //info should be ephemeral writer.writeStartElement(Element.VALIDATION_ERROR.getLocalName()); writeAttribute(writer, Element.VALIDATION_SEVERITY_ATTR.getLocalName(), ve.getSeverity().name()); writeAttribute(writer, Element.PATH.getLocalName(), ve.getPath()); writer.writeCharacters(ve.getValue()); writer.writeEndElement();
VDBMetaData vdb = new VDBMetaData(); Properties props = getAttributes(reader); vdb.setName(props.getProperty(Element.NAME.getLocalName())); String version = props.getProperty(Element.VERSION.getLocalName()); if (version != null) { vdb.setVersion(version); return vdb; default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element1",reader.getName(), Element.VDB.getLocalName()), reader.getLocation());
private static void parseDataRole(XMLStreamReader reader, DataPolicyMetadata policy) throws XMLStreamException { Properties props = getAttributes(reader); policy.setName(props.getProperty(Element.NAME.getLocalName())); policy.setAnyAuthenticated(Boolean.parseBoolean(props.getProperty(Element.DATA_ROLE_ANY_ATHENTICATED_ATTR.getLocalName()))); policy.setGrantAll(Boolean.parseBoolean(props.getProperty(Element.DATA_ROLE_GRANT_ALL_ATTR.getLocalName()))); policy.setAllowCreateTemporaryTables(Boolean.parseBoolean(props.getProperty(Element.DATA_ROLE_ALLOW_TEMP_TABLES_ATTR.getLocalName()))); while (reader.hasNext() && (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { Element element = Element.forName(reader.getLocalName()); switch (element) { case DESCRIPTION: policy.setDescription(reader.getElementText()); break; case PERMISSION: PermissionMetaData permission = new PermissionMetaData(); parsePermission(reader, permission); policy.addPermission(permission); break; case MAPPED_ROLE_NAME: policy.addMappedRoleName(reader.getElementText()); break; default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element2",reader.getName(), Element.DESCRIPTION.getLocalName(), Element.PERMISSION.getLocalName(), Element.MAPPED_ROLE_NAME.getLocalName()), reader.getLocation()); } } }
private static void parseProperty(XMLStreamReader reader, AdminObjectImpl anObj) throws XMLStreamException { boolean text = false; if (reader.getAttributeCount() > 0) { String key = null; String value = null; for(int i=0; i<reader.getAttributeCount(); i++) { String attrName = reader.getAttributeLocalName(i); String attrValue = reader.getAttributeValue(i); if (attrName.equals(Element.NAME.getLocalName())) { key = attrValue; } else if (attrName.equals(Element.VALUE.getLocalName())) { value = attrValue; } } if (value == null) { value = reader.getElementText(); text = true; } anObj.addProperty(key, value); } if (!text) { ignoreTillEnd(reader); } }
private static void parseDataRole(XMLStreamReader reader, DataPolicyMetadata policy) throws XMLStreamException { Properties props = getAttributes(reader); policy.setName(props.getProperty(Element.NAME.getLocalName())); policy.setAnyAuthenticated(Boolean.parseBoolean(props.getProperty(Element.DATA_ROLE_ANY_ATHENTICATED_ATTR.getLocalName()))); policy.setGrantAll(Boolean.parseBoolean(props.getProperty(Element.DATA_ROLE_GRANT_ALL_ATTR.getLocalName()))); policy.setAllowCreateTemporaryTables(Boolean.parseBoolean(props.getProperty(Element.DATA_ROLE_ALLOW_TEMP_TABLES_ATTR.getLocalName()))); while (reader.hasNext() && (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { Element element = Element.forName(reader.getLocalName()); switch (element) { case DESCRIPTION: policy.setDescription(reader.getElementText()); break; case PERMISSION: PermissionMetaData permission = new PermissionMetaData(); parsePermission(reader, permission); policy.addPermission(permission); break; case MAPPED_ROLE_NAME: policy.addMappedRoleName(reader.getElementText()); break; default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element2",reader.getName(), Element.DESCRIPTION.getLocalName(), Element.PERMISSION.getLocalName(), Element.MAPPED_ROLE_NAME.getLocalName()), reader.getLocation()); } } }
VDBMetaData vdb = new VDBMetaData(); Properties props = getAttributes(reader); vdb.setName(props.getProperty(Element.NAME.getLocalName())); String version = props.getProperty(Element.VERSION.getLocalName()); if (version != null) { vdb.setVersion(version); return vdb; default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element1",reader.getName(), Element.VDB.getLocalName()), reader.getLocation());
private static void parseProperty(XMLStreamReader reader, AdminObjectImpl anObj) throws XMLStreamException { boolean text = false; if (reader.getAttributeCount() > 0) { String key = null; String value = null; for(int i=0; i<reader.getAttributeCount(); i++) { String attrName = reader.getAttributeLocalName(i); String attrValue = reader.getAttributeValue(i); if (attrName.equals(Element.NAME.getLocalName())) { key = attrValue; } else if (attrName.equals(Element.VALUE.getLocalName())) { value = attrValue; } } if (value == null) { value = reader.getElementText(); text = true; } anObj.addProperty(key, value); } if (!text) { ignoreTillEnd(reader); } }
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())); } } }
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())); } } }
private void writeProperties(final XMLStreamWriter writer, Map<String, String> props) throws XMLStreamException { for (Map.Entry<String, String> prop : props.entrySet()) { writer.writeStartElement(Element.PROPERTY.getLocalName()); String key = prop.getKey(); String value = prop.getValue(); writeAttribute(writer, Element.NAME.getLocalName(), key); if (value != null) { if (writePropertyElements) { writer.writeCharacters(value); } else { writeAttribute(writer, Element.VALUE.getLocalName(), value); } } writer.writeEndElement(); } }
private static void parseTranslator(XMLStreamReader reader, VDBTranslatorMetaData translator) throws XMLStreamException { Properties props = getAttributes(reader); translator.setName(props.getProperty(Element.NAME.getLocalName())); translator.setType(props.getProperty(Element.TYPE.getLocalName())); translator.setDescription(props.getProperty(Element.DESCRIPTION.getLocalName())); while (reader.hasNext() && (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { Element element = Element.forName(reader.getLocalName()); switch (element) { case PROPERTY: parseProperty(reader, translator); break; default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element1",reader.getName(), Element.PROPERTY.getLocalName()), reader.getLocation()); } } }
private static void parseTranslator(XMLStreamReader reader, VDBTranslatorMetaData translator) throws XMLStreamException { Properties props = getAttributes(reader); translator.setName(props.getProperty(Element.NAME.getLocalName())); translator.setType(props.getProperty(Element.TYPE.getLocalName())); translator.setDescription(props.getProperty(Element.DESCRIPTION.getLocalName())); while (reader.hasNext() && (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { Element element = Element.forName(reader.getLocalName()); switch (element) { case PROPERTY: parseProperty(reader, translator); break; default: throw new XMLStreamException(AdminPlugin.Util.gs("unexpected_element1",reader.getName(), Element.PROPERTY.getLocalName()), reader.getLocation()); } } }
private void writeTranslator(final XMLStreamWriter writer, VDBTranslatorMetaData translator) throws XMLStreamException { writer.writeStartElement(Element.TRANSLATOR.getLocalName()); writeAttribute(writer, Element.NAME.getLocalName(), translator.getName()); writeAttribute(writer, Element.TYPE.getLocalName(), translator.getType()); writeAttribute(writer, Element.DESCRIPTION.getLocalName(), translator.getDescription()); writeProperties(writer, translator.getPropertiesMap()); writer.writeEndElement(); }
private void writeTranslator(final XMLStreamWriter writer, VDBTranslatorMetaData translator) throws XMLStreamException { writer.writeStartElement(Element.TRANSLATOR.getLocalName()); writeAttribute(writer, Element.NAME.getLocalName(), translator.getName()); writeAttribute(writer, Element.TYPE.getLocalName(), translator.getType()); writeAttribute(writer, Element.DESCRIPTION.getLocalName(), translator.getDescription()); writeProperties(writer, translator.getPropertiesMap()); writer.writeEndElement(); }