private void parseCacheAttribute( XMLExtendedStreamReader reader, int index, Attribute attribute, String value, ModelNode cache) throws XMLStreamException { switch (attribute) { case NAME: { CacheResource.NAME.parseAndSetParameter(value, cache, reader); break; } case START: { CacheResource.START.parseAndSetParameter(value, cache, reader); break; } case JNDI_NAME: { CacheResource.JNDI_NAME.parseAndSetParameter(value, cache, reader); break; } case BATCHING: { CacheResource.BATCHING.parseAndSetParameter(value, cache, reader); break; } case INDEXING: { CacheResource.INDEXING.parseAndSetParameter(value, cache, reader); break; } default: { throw ParseUtils.unexpectedAttribute(reader, index); } } }
private void parseIndexing(XMLExtendedStreamReader reader, ModelNode node) throws XMLStreamException { for (int i = 0; i < reader.getAttributeCount(); i++) { String value = reader.getAttributeValue(i); Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); if (attribute == Attribute.INDEX) { CacheResource.INDEXING.parseAndSetParameter(value, node, reader); } else { throw ParseUtils.unexpectedAttribute(reader, i); } } while (reader.hasNext() && (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { Element element = Element.forName(reader.getLocalName()); switch (element) { case PROPERTY: { int attributes = reader.getAttributeCount(); String property = null; for (int i = 0; i < attributes; i++) { String value = reader.getAttributeValue(i); Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); switch (attribute) { case NAME: { property = value; break; } default: { throw ParseUtils.unexpectedAttribute(reader, i); } } } if (property == null) { throw ParseUtils.missingRequired(reader, Collections.singleton(Attribute.NAME)); } String value = reader.getElementText(); CacheResource.INDEXING_PROPERTIES.parseAndAddParameterElement( property, value, node, reader); break; } default: { throw ParseUtils.unexpectedElement(reader); } } } // ParseUtils.requireNoContent(reader); }