Java Code Examples for javax.xml.stream.XMLStreamReader#getAttributeValue()

The following examples show how to use javax.xml.stream.XMLStreamReader#getAttributeValue() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: NetconfRpcParserUtil.java    From onos with Apache License 2.0 6 votes vote down vote up
/**
  * Parse first rpc-reply contained in the input.
  *
  * @param xsr input
  * @return {@link NetconfRpcReply} or null on error
  */
public static NetconfRpcReply parseRpcReply(XMLStreamReader xsr) {
    try {
        for ( ; xsr.hasNext(); xsr.next()) {
            if (xsr.isStartElement() &&
                xsr.getName().getLocalPart().equals("rpc-reply")) {

                NetconfRpcReply.Builder builder = NetconfRpcReply.builder();
                String msgId = xsr.getAttributeValue(null, "message-id");
                builder.withMessageId(msgId);
                xsr.nextTag();

                return parseRpcReplyBody(builder, xsr);
            }
        }
    } catch (XMLStreamException e) {
        log.error("Exception thrown parsing rpc-reply", e);
    }
    return null;
}
 
Example 2
Source File: JBossDeploymentStructureParser13.java    From wildfly-core with GNU Lesser General Public License v2.1 6 votes vote down vote up
private static void parsePathName(final XMLStreamReader reader, final Set<String> set) throws XMLStreamException {
    String name = null;
    final Set<Attribute> required = EnumSet.of(Attribute.NAME);
    final int count = reader.getAttributeCount();
    for (int i = 0; i < count; i++) {
        final Attribute attribute = Attribute.of(reader.getAttributeName(i));
        required.remove(attribute);
        switch (attribute) {
            case NAME:
                name = reader.getAttributeValue(i);
                break;
            default:
                throw unexpectedContent(reader);
        }
    }
    if (!required.isEmpty()) {
        throw missingAttributes(reader.getLocation(), required);
    }
    set.add(name);

    // consume remainder of element
    parseNoContent(reader);
}
 
Example 3
Source File: JBossDeploymentStructureParser10.java    From wildfly-core with GNU Lesser General Public License v2.1 6 votes vote down vote up
private static void parsePathName(final XMLStreamReader reader, final Set<String> set) throws XMLStreamException {
    String name = null;
    final Set<Attribute> required = EnumSet.of(Attribute.NAME);
    final int count = reader.getAttributeCount();
    for (int i = 0; i < count; i++) {
        final Attribute attribute = Attribute.of(reader.getAttributeName(i));
        required.remove(attribute);
        switch (attribute) {
            case NAME:
                name = reader.getAttributeValue(i);
                break;
            default:
                throw unexpectedContent(reader);
        }
    }
    if (!required.isEmpty()) {
        throw missingAttributes(reader.getLocation(), required);
    }
    set.add(name);

    // consume remainder of element
    parseNoContent(reader);
}
 
Example 4
Source File: ItemDefinitionParser.java    From activiti6-boot2 with Apache License 2.0 6 votes vote down vote up
public void parse(XMLStreamReader xtr, BpmnModel model) throws Exception {
  if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, ATTRIBUTE_ID))) {
    String itemDefinitionId = model.getTargetNamespace() + ":" + xtr.getAttributeValue(null, ATTRIBUTE_ID);
    String structureRef = xtr.getAttributeValue(null, ATTRIBUTE_STRUCTURE_REF);
    if (StringUtils.isNotEmpty(structureRef)) {
      ItemDefinition item = new ItemDefinition();
      item.setId(itemDefinitionId);
      BpmnXMLUtil.addXMLLocation(item, xtr);

      int indexOfP = structureRef.indexOf(':');
      if (indexOfP != -1) {
        String prefix = structureRef.substring(0, indexOfP);
        String resolvedNamespace = model.getNamespace(prefix);
        structureRef = resolvedNamespace + ":" + structureRef.substring(indexOfP + 1);
      } else {
        structureRef = model.getTargetNamespace() + ":" + structureRef;
      }

      item.setStructureRef(structureRef);
      item.setItemKind(xtr.getAttributeValue(null, ATTRIBUTE_ITEM_KIND));
      BpmnXMLUtil.parseChildElements(ELEMENT_ITEM_DEFINITION, item, xtr, model);
      model.addItemDefinition(itemDefinitionId, item);
    }
  }
}
 
Example 5
Source File: WSDLParserExtensionFacade.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 *
 * @param reader
 * @return If the element has wsdl:required attribute set to true
 */

private boolean isRequiredExtension(XMLStreamReader reader) {
    String required = reader.getAttributeValue(WSDLConstants.NS_WSDL, "required");
    if(required != null)
        return Boolean.parseBoolean(required);
    return false;
}
 
Example 6
Source File: JBossDeploymentStructureParser12.java    From wildfly-core with GNU Lesser General Public License v2.1 5 votes vote down vote up
private static void parseSubsystem(final XMLStreamReader reader, final Set<String> subsystems) throws XMLStreamException {
    String name = null;
    final Set<Attribute> required = EnumSet.of(Attribute.NAME);
    final int count = reader.getAttributeCount();
    for (int i = 0; i < count; i++) {
        final Attribute attribute = Attribute.of(reader.getAttributeName(i));
        required.remove(attribute);
        switch (attribute) {
            case NAME:
                name = reader.getAttributeValue(i);
                break;
            default:
                throw unexpectedContent(reader);
        }
    }
    if (!required.isEmpty()) {
        throw missingAttributes(reader.getLocation(), required);
    }
    subsystems.add(name);
    if (reader.hasNext()) {
        switch (reader.nextTag()) {
            case XMLStreamConstants.END_ELEMENT:
                return;
            default:
                throw unexpectedContent(reader);
        }
    }
}
 
Example 7
Source File: MessageParser.java    From activiti6-boot2 with Apache License 2.0 5 votes vote down vote up
public void parse(XMLStreamReader xtr, BpmnModel model) throws Exception {
  if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, ATTRIBUTE_ID))) {
    String messageId = xtr.getAttributeValue(null, ATTRIBUTE_ID);
    String messageName = xtr.getAttributeValue(null, ATTRIBUTE_NAME);
    String itemRef = parseItemRef(xtr.getAttributeValue(null, ATTRIBUTE_ITEM_REF), model);
    Message message = new Message(messageId, messageName, itemRef);
    BpmnXMLUtil.addXMLLocation(message, xtr);
    BpmnXMLUtil.parseChildElements(ELEMENT_MESSAGE, message, xtr, model);
    model.addMessage(message);
  }
}
 
Example 8
Source File: TsoDisconnectedGenerator.java    From powsybl-core with Mozilla Public License 2.0 5 votes vote down vote up
public static TsoDisconnectedGenerator fromXml(String contingencyId, XMLStreamReader xmlsr) throws XMLStreamException {
    String text = null;
    Map<String, Float> disconnectedGenerators = new HashMap<>();
    String id = null;
    while (xmlsr.hasNext()) {
        int eventType = xmlsr.next();
        switch (eventType) {
            case XMLEvent.CHARACTERS:
                text = xmlsr.getText();
                break;

            case XMLEvent.START_ELEMENT:
                if (Objects.equals(ELEM_GENERATOR, xmlsr.getLocalName())) {
                    id = xmlsr.getAttributeValue(null, "id");
                }
                break;

            case XMLEvent.END_ELEMENT:
                switch (xmlsr.getLocalName()) {
                    case ELEM_GENERATOR:
                        if (id == null) {
                            throw new AssertionError();
                        }
                        float p = Float.parseFloat(text);
                        disconnectedGenerators.put(id, p);
                        id = null;
                        break;
                    case "index":
                        return new TsoDisconnectedGenerator(contingencyId, disconnectedGenerators);
                    default:
                        throw new AssertionError("Unexpected element: " + xmlsr.getLocalName());
                }
                break;

            default:
                break;
        }
    }
    throw new AssertionError("Should not happen");
}
 
Example 9
Source File: EPRHeader.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
@Nullable
public String getAttribute(@NotNull String nsUri, @NotNull String localName) {
    try {
        XMLStreamReader sr = epr.read("EndpointReference"/*doesn't matter*/);
        while(sr.getEventType()!= XMLStreamConstants.START_ELEMENT)
            sr.next();

        return sr.getAttributeValue(nsUri,localName);
    } catch (XMLStreamException e) {
        // since we are reading from buffer, this can't happen.
        throw new AssertionError(e);
    }
}
 
Example 10
Source File: XmiReader.java    From secure-data-service with Apache License 2.0 5 votes vote down vote up
protected static final boolean getBoolean(final XmiAttributeName name, final boolean defaultValue,
        final XMLStreamReader reader) {
    final String value = reader.getAttributeValue(GLOBAL_NAMESPACE, name.getLocalName());
    if (value != null) {
        return Boolean.valueOf(value);
    } else {
        return defaultValue;
    }
}
 
Example 11
Source File: WadlReader.java    From secure-data-service with Apache License 2.0 5 votes vote down vote up
private static final String getHRef(final XMLStreamReader reader, final String defaultName) {
    final String name = reader.getAttributeValue(GLOBAL_NAMESPACE, WadlAttributeName.HREF.getLocalName());
    if (name != null) {
        return name;
    } else {
        return defaultName;
    }
}
 
Example 12
Source File: XMLStreamReaderUtil.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
public AttributesImpl(XMLStreamReader reader) {
    if (reader == null) {

        // this is the case when we call getAttributes() on the
        // reader when it is not on a start tag
        atInfos = new AttributeInfo[0];
    } else {

        // this is the normal case
        int index = 0;
        int namespaceCount = reader.getNamespaceCount();
        int attributeCount = reader.getAttributeCount();
        atInfos = new AttributeInfo[namespaceCount + attributeCount];
        for (int i=0; i<namespaceCount; i++) {
            String namespacePrefix = reader.getNamespacePrefix(i);

            // will be null if default prefix. QName can't take null
            if (namespacePrefix == null) {
                namespacePrefix = "";
            }
            atInfos[index++] = new AttributeInfo(
                new QName(XMLNS_NAMESPACE_URI,
                    namespacePrefix,
                    "xmlns"),
                reader.getNamespaceURI(i));
        }
        for (int i=0; i<attributeCount; i++) {
            atInfos[index++] = new AttributeInfo(
                reader.getAttributeName(i),
                reader.getAttributeValue(i));
        }
    }
}
 
Example 13
Source File: PolicyWSDLParserExtension.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Reads policy reference URIs from PolicyURIs attribute and returns them
 * as a String array returns null if there is no such attribute. This method
 * will attempt to check for the attribute in every supported policy namespace.
 * Resulting array of URIs is concatenation of URIs defined in all found
 * PolicyURIs attribute version.
 */
private String[] getPolicyURIsFromAttr(final XMLStreamReader reader) {
    final StringBuilder policyUriBuffer = new StringBuilder();
    for (NamespaceVersion version : NamespaceVersion.values()) {
        final String value = reader.getAttributeValue(version.toString(), XmlToken.PolicyUris.toString());
        if (value != null) {
            policyUriBuffer.append(value).append(" ");
        }
    }
    return (policyUriBuffer.length() > 0) ? policyUriBuffer.toString().split("[\\n ]+") : null;
}
 
Example 14
Source File: AntXmlParser.java    From rich-test-results with Apache License 2.0 5 votes vote down vote up
private void parseProperties(XMLStreamReader xmlStreamReader, TestSuite.Builder suiteBuilder)
    throws XMLStreamException {
  String tagName = null;
  do {
    xmlStreamReader.next();
    if (!xmlStreamReader.hasName()) {
      continue;
    }
    tagName = xmlStreamReader.getName().toString();
    if (xmlStreamReader.isStartElement()) {
      switch (tagName) {
        case "property":
          Builder builder = suiteBuilder.addPropertyBuilder();
          for (int i = 0; i < xmlStreamReader.getAttributeCount(); i++) {
            String attributeValue = xmlStreamReader.getAttributeValue(i);
            switch (xmlStreamReader.getAttributeName(i).toString()) {
              case "name":
                builder.setName(attributeValue);
                break;
              case "value":
                builder.setValue(attributeValue);
                break;
            }
          }
          break;
      }
    } else if (xmlStreamReader.isEndElement() && "properties".equals(tagName)) {
      break;
    }
  } while (!xmlStreamReader.isEndElement() || !"properties".equals(tagName));
}
 
Example 15
Source File: OSMParser.java    From atlas with GNU General Public License v3.0 5 votes vote down vote up
private Map<String, Object> extractProperties(XMLStreamReader parser ) {
    LinkedHashMap<String, Object> properties = new LinkedHashMap<String, Object>();
    for ( int i = 0; i < parser.getAttributeCount(); i++ )
    {
        String prop = parser.getAttributeLocalName( i );
        Object value = parser.getAttributeValue( i );
        properties.put( prop, value );
    }
    return properties;
}
 
Example 16
Source File: PolicyWSDLParserExtension.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Reads policy reference URIs from PolicyURIs attribute and returns them
 * as a String array returns null if there is no such attribute. This method
 * will attempt to check for the attribute in every supported policy namespace.
 * Resulting array of URIs is concatenation of URIs defined in all found
 * PolicyURIs attribute version.
 */
private String[] getPolicyURIsFromAttr(final XMLStreamReader reader) {
    final StringBuilder policyUriBuffer = new StringBuilder();
    for (NamespaceVersion version : NamespaceVersion.values()) {
        final String value = reader.getAttributeValue(version.toString(), XmlToken.PolicyUris.toString());
        if (value != null) {
            policyUriBuffer.append(value).append(" ");
        }
    }
    return (policyUriBuffer.length() > 0) ? policyUriBuffer.toString().split("[\\n ]+") : null;
}
 
Example 17
Source File: BusinessRuleTaskXMLConverter.java    From activiti6-boot2 with Apache License 2.0 5 votes vote down vote up
@Override
protected BaseElement convertXMLToElement(XMLStreamReader xtr, BpmnModel model) throws Exception {
  BusinessRuleTask businessRuleTask = new BusinessRuleTask();
  BpmnXMLUtil.addXMLLocation(businessRuleTask, xtr);
  businessRuleTask.setInputVariables(parseDelimitedList(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_TASK_RULE_VARIABLES_INPUT)));
  businessRuleTask.setRuleNames(parseDelimitedList(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_TASK_RULE_RULES)));
  businessRuleTask.setResultVariableName(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_TASK_RULE_RESULT_VARIABLE));
  businessRuleTask.setClassName(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_TASK_RULE_CLASS));
  String exclude = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_TASK_RULE_EXCLUDE);
  if (ATTRIBUTE_VALUE_TRUE.equalsIgnoreCase(exclude)) {
    businessRuleTask.setExclude(true);
  }
  parseChildElements(getXMLElementName(), businessRuleTask, model, xtr);
  return businessRuleTask;
}
 
Example 18
Source File: ParserUtil.java    From jdk8u60 with GNU General Public License v2.0 4 votes vote down vote up
public static String getAttribute(XMLStreamReader reader, String name) {
    return reader.getAttributeValue(null, name);
}
 
Example 19
Source File: XmlMetadataConsumer.java    From olingo-odata2 with Apache License 2.0 4 votes vote down vote up
private Facets readFacets(final XMLStreamReader reader) throws XMLStreamException {
  String isNullable = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_NULLABLE);
  String maxLength = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_MAX_LENGTH);
  String precision = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_PRECISION);
  String scale = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_SCALE);
  String isFixedLength = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_FIXED_LENGTH);
  String isUnicode = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_UNICODE);
  String concurrencyMode = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_CONCURRENCY_MODE);
  String defaultValue = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_DEFAULT_VALUE);
  String collation = reader.getAttributeValue(null, XmlMetadataConstants.EDM_PROPERTY_COLLATION);
  if (isNullable != null || maxLength != null || precision != null || scale != null || isFixedLength != null
      || isUnicode != null || concurrencyMode != null || defaultValue != null || collation != null) {
    Facets facets = new Facets();
    if (isNullable != null) {
      facets.setNullable("true".equalsIgnoreCase(isNullable));
    }
    if (maxLength != null) {
      if (XmlMetadataConstants.EDM_PROPERTY_MAX_LENGTH_MAX_VALUE_FIRST_UPPERCASE.equals(maxLength)
          || XmlMetadataConstants.EDM_PROPERTY_MAX_LENGTH_MAX_VALUE_LOWERCASE.equals(maxLength)) {
        facets.setMaxLength(Integer.MAX_VALUE);
      } else {
        facets.setMaxLength(Integer.parseInt(maxLength));
      }
    }
    if (precision != null) {
      facets.setPrecision(Integer.parseInt(precision));
    }
    if (scale != null) {
      facets.setScale(Integer.parseInt(scale));
    }
    if (isFixedLength != null) {
      facets.setFixedLength("true".equalsIgnoreCase(isFixedLength));
    }
    if (isUnicode != null) {
      facets.setUnicode("true".equalsIgnoreCase(isUnicode));
    }
    for (int i = 0; i < EdmConcurrencyMode.values().length; i++) {
      if (EdmConcurrencyMode.values()[i].name().equalsIgnoreCase(concurrencyMode)) {
        facets.setConcurrencyMode(EdmConcurrencyMode.values()[i]);
      }
    }
    facets.setDefaultValue(defaultValue);
    facets.setCollation(collation);
    return facets;
  } else {
    return null;
  }
}
 
Example 20
Source File: DocumentStaxUtils.java    From gate-core with GNU Lesser General Public License v3.0 4 votes vote down vote up
/**
 * Processes the TextWithNodes element from this XMLStreamReader,
 * returning the text content of the document. The supplied map is
 * updated with the offset of each Node element encountered. The
 * reader must be positioned on the starting TextWithNodes tag and
 * will be returned positioned on the corresponding closing tag.
 * 
 * @param xsr
 * @param nodeIdToOffsetMap
 * @return the text content of the document
 */
public static String readTextWithNodes(XMLStreamReader xsr,
        Map<Integer, Long> nodeIdToOffsetMap) throws XMLStreamException {
  StringBuffer textBuf = new StringBuffer(20480);
  int eventType;
  while((eventType = xsr.next()) != XMLStreamConstants.END_ELEMENT) {
    switch(eventType) {
      case XMLStreamConstants.CHARACTERS:
      case XMLStreamConstants.CDATA:
        textBuf.append(xsr.getTextCharacters(), xsr.getTextStart(), xsr
                .getTextLength());
        break;

      case XMLStreamConstants.START_ELEMENT:
        // only Node elements allowed
        xsr.require(XMLStreamConstants.START_ELEMENT, null, "Node");
        String idString = xsr.getAttributeValue(null, "id");
        if(idString == null) {
          throw new XMLStreamException("Node element has no id", xsr
                  .getLocation());
        }
        try {
          Integer id = Integer.valueOf(idString);
          Long offset = Long.valueOf(textBuf.length());
          nodeIdToOffsetMap.put(id, offset);
        }
        catch(NumberFormatException nfe) {
          throw new XMLStreamException("Node element must have "
                  + "integer id", xsr.getLocation());
        }

        // Node element must be empty
        if(xsr.next() != XMLStreamConstants.END_ELEMENT) {
          throw new XMLStreamException("Node element within TextWithNodes "
                  + "must be empty.", xsr.getLocation());
        }
        break;

      default:
        // do nothing - ignore comments, PIs...
    }
  }
  return textBuf.toString();
}