protected void parseRemotingReceiver(final XMLExtendedStreamReader reader, final EJBClientDescriptorMetaData ejbClientDescriptorMetaData) throws XMLStreamException { String outboundConnectionRef = null; final Set<EJBClientDescriptorXMLAttribute> required = EnumSet.of(EJBClientDescriptorXMLAttribute.OUTBOUND_CONNECTION_REF); final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final EJBClientDescriptorXMLAttribute attribute = EJBClientDescriptorXMLAttribute.forName(reader.getAttributeLocalName(i)); required.remove(attribute); switch (attribute) { case OUTBOUND_CONNECTION_REF: outboundConnectionRef = readResolveValue(reader, i); ejbClientDescriptorMetaData.addRemotingReceiverConnectionRef(outboundConnectionRef); break; default: unexpectedContent(reader); } } if (!required.isEmpty()) { missingAttributes(reader.getLocation(), required); } // This element is just composed of attributes which we already processed, so no more content // is expected if (reader.hasNext() && reader.nextTag() != END_ELEMENT) { unexpectedContent(reader); } }
protected Properties parseConnectionCreationOptions(final XMLExtendedStreamReader reader) throws XMLStreamException { final Properties connectionCreationOptions = new Properties(); while (reader.hasNext()) { switch (reader.nextTag()) { case END_ELEMENT: { return connectionCreationOptions; } case START_ELEMENT: { final EJBClientDescriptorXMLElement element = EJBClientDescriptorXMLElement.forName(reader.getLocalName()); switch (element) { case PROPERTY: connectionCreationOptions.putAll(this.parseProperty(reader)); break; default: unexpectedElement(reader); } break; } default: { unexpectedContent(reader); } } } unexpectedEndOfDocument(reader.getLocation()); // unreachable return connectionCreationOptions; }
protected Properties parseProperty(final XMLExtendedStreamReader reader) throws XMLStreamException { final Set<EJBClientDescriptorXMLAttribute> required = EnumSet.of(EJBClientDescriptorXMLAttribute.NAME, EJBClientDescriptorXMLAttribute.VALUE); final int count = reader.getAttributeCount(); String name = null; String value = null; for (int i = 0; i < count; i++) { final EJBClientDescriptorXMLAttribute attribute = EJBClientDescriptorXMLAttribute.forName(reader.getAttributeLocalName(i)); required.remove(attribute); final String val = readResolveValue(reader, i); switch (attribute) { case NAME: name = val; break; case VALUE: value = val; break; default: unexpectedContent(reader); } } if (!required.isEmpty()) { missingAttributes(reader.getLocation(), required); } // no child elements allowed requireNoContent(reader); final Properties property = new Properties(); property.put(name, value); return property; }
ModelNode val = null; EnumSet<Attribute> required = EnumSet.of(Attribute.NAME, Attribute.PROP_VALUE); final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { requireNoNamespaceAttribute(reader, i); final String value = reader.getAttributeValue(i); final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); required.remove(attribute); switch (attribute) { val = JacORBSubsystemDefinitions.PROPERTIES.parse(value, reader.getLocation()); break;
public void readElement(final XMLExtendedStreamReader reader, final SharedSessionManagerConfig result, PropertyReplacer propertyReplacer) throws XMLStreamException { final int count = reader.getAttributeCount(); if (count != 0) { throw ParseUtils.unexpectedAttribute(reader, 0); while (reader.hasNext()) { switch (reader.nextTag()) { case XMLStreamConstants.END_ELEMENT: { return; break; default: throw ParseUtils.unexpectedElement(reader); throw ParseUtils.unexpectedElement(reader); throw endOfDocument(reader.getLocation());
private JBossServiceConstructorConfig.Argument parseArgument(XMLExtendedStreamReader reader) throws XMLStreamException { String type = null; String value = null; final int count = reader.getAttributeCount(); final Set<Attribute> required = EnumSet.of(Attribute.TYPE, Attribute.VALUE); for(int i = 0; i < count; i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i)); required.remove(attribute); final String attributeValue = reader.getAttributeValue(i); switch(attribute) { case TYPE: type = attributeValue; break; case VALUE: value = attributeValue; break; default: throw unexpectedContent(reader); } } if(!required.isEmpty()) { throw missingAttributes(reader.getLocation(), required); } reader.discardRemainder(); return new JBossServiceConstructorConfig.Argument(type, value); }
public void parseInterfaces(final XMLExtendedStreamReader reader, final Set<String> names, final ModelNode address, final Namespace expectedNs, final List<ModelNode> list, final boolean checkSpecified) throws XMLStreamException { requireNoAttributes(reader); while (reader.nextTag() != END_ELEMENT) { requireNamespace(reader, expectedNs); Element element = Element.forName(reader.getLocalName()); if (Element.INTERFACE != element) { throw unexpectedElement(reader); } // Attributes requireSingleAttribute(reader, Attribute.NAME.getLocalName()); final String name = reader.getAttributeValue(0); if (!names.add(name)) { throw ControllerLogger.ROOT_LOGGER.duplicateInterfaceDeclaration(reader.getLocation()); } final ModelNode interfaceAdd = new ModelNode(); interfaceAdd.get(OP_ADDR).set(address).add(ModelDescriptionConstants.INTERFACE, name); interfaceAdd.get(OP).set(ADD); final ModelNode criteriaNode = interfaceAdd; parseInterfaceCriteria(reader, expectedNs, interfaceAdd); if (checkSpecified && criteriaNode.getType() != ModelType.STRING && criteriaNode.getType() != ModelType.EXPRESSION && criteriaNode.asInt() == 0) { throw unexpectedEndElement(reader); } list.add(interfaceAdd); } }
/** * Get an exception reporting an invalid XML attribute value. * * @param reader the stream reader * @param index the attribute index * @return the exception */ public static XMLStreamException invalidAttributeValue(final XMLExtendedStreamReader reader, final int index) { return new XMLStreamException("Invalid value '" + reader.getAttributeValue(index) + "' for attribute '" + reader.getAttributeName(index) + "'", reader.getLocation()); }
public static void readFeatureGroupConfigBody(XMLExtendedStreamReader reader, FeatureGroupBuilderSupport<?> builder) throws XMLStreamException { while (reader.hasNext()) { switch (reader.nextTag()) { case XMLStreamConstants.END_ELEMENT: return; case XMLStreamConstants.START_ELEMENT: if(!handleFeatureGroupBodyElement(reader, builder)) { throw ParsingUtils.unexpectedContent(reader); } break; default: throw ParsingUtils.unexpectedContent(reader); } } throw ParsingUtils.endOfDocument(reader.getLocation()); }
private static FPID readPatch(XMLExtendedStreamReader reader, FeaturePackDepsConfigBuilder<?> depsBuilder) throws XMLStreamException { FeaturePackLocation fpl = null; for (int i = 0; i < reader.getAttributeCount(); i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i).getLocalPart()); switch (attribute) { case ID: fpl = parseFpl(reader, i); break; default: throw ParsingUtils.unexpectedContent(reader); } } if(fpl == null) { throw ParsingUtils.missingAttributes(reader.getLocation(), Collections.singleton(Attribute.ID)); } ParsingUtils.parseNoContent(reader); fpl = resolveUniverse(depsBuilder, fpl); return fpl.getFPID(); }
/** * Get an exception reporting a missing, required XML attribute. * @param reader the stream reader * @param supportedElement the element that is to be used in place of the unsupported one. * @return the exception */ public static XMLStreamException unsupportedElement(final XMLExtendedStreamReader reader, String supportedElement) { XMLStreamException ex = ControllerLogger.ROOT_LOGGER.unsupportedElement( new QName(reader.getNamespaceURI(), reader.getLocalName(),reader.getPrefix()), reader.getLocation(), supportedElement); return new XMLStreamValidationException(ex.getMessage(), ValidationError.from(ex, ErrorType.UNSUPPORTED_ELEMENT) .element(reader.getName()) .alternatives(new HashSet<String>() {{add(supportedElement);}}), ex); } }
final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { requireNoNamespaceAttribute(reader, i); final String value = reader.getAttributeValue(i); final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); switch (attribute) { case NODE_IDENTIFIER: case PATH: case RELATIVE_TO: throw TransactionLogger.ROOT_LOGGER.unsupportedAttribute(attribute.getLocalName(), reader.getLocation()); default: throw unexpectedAttribute(reader, i); while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { final Element element = Element.forName(reader.getLocalName()); required.remove(element); switch (element) { case PROCESS_ID: { if (!encountered.add(element)) { throw duplicateNamedElement(reader, reader.getLocalName()); throw unexpectedElement(reader);
protected Properties parseChannelCreationOptions(final XMLExtendedStreamReader reader) throws XMLStreamException { final Properties channelCreationOptions = new Properties(); while (reader.hasNext()) { switch (reader.nextTag()) { case END_ELEMENT: { return channelCreationOptions; } case START_ELEMENT: { final EJBClientDescriptorXMLElement element = EJBClientDescriptorXMLElement.forName(reader.getLocalName()); switch (element) { case PROPERTY: channelCreationOptions.putAll(this.parseProperty(reader)); break; default: unexpectedElement(reader); } break; } default: { unexpectedContent(reader); } } } unexpectedEndOfDocument(reader.getLocation()); // unreachable return channelCreationOptions; }
for (int i = 0; i < reader.getAttributeCount(); i++) { requireNoNamespaceAttribute(reader, i); String attrValue = reader.getAttributeValue(i); final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); SSLConfigValue value = SSLConfigValue.fromValue(attrValue); if (value == null) throw JacORBLogger.ROOT_LOGGER.invalidSSLConfig(attrValue, reader.getLocation()); attrValue = value.toString(); default:
private JBossServiceAttributeConfig.Inject parseInject(XMLExtendedStreamReader reader) throws XMLStreamException { final JBossServiceAttributeConfig.Inject injectConfig = new JBossServiceAttributeConfig.Inject(); final int count = reader.getAttributeCount(); final Set<Attribute> required = EnumSet.of(Attribute.BEAN); for(int i = 0; i < count; i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i)); required.remove(attribute); final String attributeValue = reader.getAttributeValue(i); switch(attribute) { case BEAN: injectConfig.setBeanName(attributeValue); break; case PROPERTY: injectConfig.setPropertyName(attributeValue); break; default: throw unexpectedContent(reader); } } if(!required.isEmpty()) { throw missingAttributes(reader.getLocation(), required); } reader.discardRemainder(); return injectConfig; }
protected void parseProfile(final XMLExtendedStreamReader reader, final EJBClientDescriptorMetaData ejbClientDescriptorMetaData) throws XMLStreamException { final Set<EJBClientDescriptorXMLAttribute> required = EnumSet.of(EJBClientDescriptorXMLAttribute.NAME); final int count = reader.getAttributeCount(); String profileName = null; for (int i = 0; i < count; i++) { final EJBClientDescriptorXMLAttribute attribute = EJBClientDescriptorXMLAttribute.forName(reader .getAttributeLocalName(i)); required.remove(attribute); final String value = readResolveValue(reader, i); switch (attribute) { case NAME: profileName = value; break; default: unexpectedContent(reader); } } if (!required.isEmpty()) { missingAttributes(reader.getLocation(), required); } // add a new node config to the cluster config ejbClientDescriptorMetaData.setProfile(profileName); } }
static FeaturePackLocation parseFpl(XMLExtendedStreamReader reader, int i) throws XMLStreamException { try { return FeaturePackLocation.fromString(reader.getAttributeValue(i)); } catch(IllegalArgumentException e) { throw ParsingUtils.error("Failed to parse feature-pack location " + reader.getAttributeValue(i), reader.getLocation(), e); } } }
private static FPID readPatch(XMLExtendedStreamReader reader, FeaturePackDepsConfigBuilder<?> depsBuilder) throws XMLStreamException { FeaturePackLocation fpl = null; for (int i = 0; i < reader.getAttributeCount(); i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i).getLocalPart()); switch (attribute) { case ID: fpl = parseFpl(reader, i); break; default: throw ParsingUtils.unexpectedContent(reader); } } if(fpl == null) { throw ParsingUtils.missingAttributes(reader.getLocation(), Collections.singleton(Attribute.ID)); } ParsingUtils.parseNoContent(reader); fpl = resolveUniverse(depsBuilder, fpl); return fpl.getFPID(); }
final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { requireNoNamespaceAttribute(reader, i); final String value = reader.getAttributeValue(i); final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); switch (attribute) { case NODE_IDENTIFIER: case PATH: case RELATIVE_TO: throw TransactionLogger.ROOT_LOGGER.unsupportedAttribute(attribute.getLocalName(), reader.getLocation()); default: throw unexpectedAttribute(reader, i); while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { final Element element = Element.forName(reader.getLocalName()); required.remove(element); switch (element) { case PROCESS_ID: { if (!encountered.add(element)) { throw duplicateNamedElement(reader, reader.getLocalName()); throw unexpectedElement(reader);
protected void parseClientContext(final XMLExtendedStreamReader reader, final EJBClientDescriptorMetaData ejbClientDescriptorMetaData) throws XMLStreamException { final Set<EJBClientDescriptorXMLElement> visited = EnumSet.noneOf(EJBClientDescriptorXMLElement.class); while (reader.hasNext()) { switch (reader.nextTag()) { case END_ELEMENT: { return; } case START_ELEMENT: { final EJBClientDescriptorXMLElement element = EJBClientDescriptorXMLElement.forName(reader.getLocalName()); if (visited.contains(element)) { unexpectedElement(reader); } visited.add(element); switch (element) { case EJB_RECEIVERS: this.parseEJBReceivers(reader, ejbClientDescriptorMetaData); break; default: unexpectedElement(reader); } break; } default: { unexpectedContent(reader); } } } unexpectedEndOfDocument(reader.getLocation()); }