List of usage examples for javax.xml.stream XMLStreamReader getLocalName
public String getLocalName();
From source file:org.slc.sli.modeling.xmi.comp.XmiMappingReader.java
private static final XmiMappingStatus readStatus(final XMLStreamReader reader) throws XMLStreamException { assertStartElement(reader);/*from w ww . jav a 2s.c o m*/ assertName(XmiMappingConstants.STATUS, reader); final StringBuilder sb = new StringBuilder(); boolean done = false; while (!done && reader.hasNext()) { reader.next(); switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: { throw new AssertionError(reader.getLocalName()); } case XMLStreamConstants.END_ELEMENT: { assertName(XmiMappingConstants.STATUS, reader); done = true; break; } case XMLStreamConstants.CHARACTERS: { sb.append(reader.getText()); break; } default: { throw new AssertionError(reader.getEventType()); } } } // Intentionally make the coupling loose between the serialization and // the enumeration. final String value = sb.toString().trim(); if (XmiMappingValues.STATUS_MATCH.equals(value)) { return XmiMappingStatus.MATCH; } else if (XmiMappingValues.STATUS_IGNORABLE.equals(value)) { return XmiMappingStatus.IGNORABLE; } else if (XmiMappingValues.STATUS_ALIGN.equals(value)) { return XmiMappingStatus.ALIGN; } else if (XmiMappingValues.STATUS_UNKNOWN.equals(value)) { return XmiMappingStatus.UNKNOWN; } else if (XmiMappingValues.STATUS_TRANSIENT.equals(value)) { return XmiMappingStatus.TRANSIENT; } else if (XmiMappingValues.STATUS_BUG.equals(value)) { return XmiMappingStatus.BUG; } else if (XmiMappingValues.STATUS_FINANCIAL.equals(value)) { return XmiMappingStatus.FINANCIAL; } else { throw new AssertionError(XmiMappingConstants.STATUS + " : " + value); } }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
protected static final void assertName(final QName name, final XMLStreamReader reader) { if (!match(name, reader)) { throw new AssertionError(reader.getLocalName()); }// w w w . j a va 2 s. c o m }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
/** * A programmatic assertion that we have the reader positioned on the correct element. * * @param expectLocalName//www .jav a 2s. c o m * The local name that we expect. * @param reader * The reader. */ protected static final void assertName(final XmiElementName name, final XMLStreamReader reader) { if (!match(name, reader)) { throw new AssertionError(reader.getLocalName()); } }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
protected static final boolean match(final XmiElementName name, final XMLStreamReader reader) { return name.getLocalName().equals(reader.getLocalName()); }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
protected static final Attribute readAttribute(final XMLStreamReader reader) throws XMLStreamException { assertName(XmiElementName.ATTRIBUTE, reader); final Identifier id = getId(reader); final String name = getName(reader, null, XmiAttributeName.NAME); Identifier type = null;/* w ww. ja v a 2 s . c o m*/ Multiplicity multiplicity = null; final List<TaggedValue> taggedValues = new LinkedList<TaggedValue>(); while (reader.hasNext()) { reader.next(); switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: { if (match(XmiElementName.STRUCTURAL_FEATURE_DOT_MULTIPLICITY, reader)) { multiplicity = assertNotNull(readStructuralFeatureDotMultiplicity(reader)); } else if (match(XmiElementName.STRUCTURAL_FEATURE_DOT_TYPE, reader)) { try { type = assertNotNull( readIdentifierWrapper(XmiElementName.STRUCTURAL_FEATURE_DOT_TYPE, reader)); } catch (final AssertionError e) { throw new XmiBadAttributeException(name.toString(), e); } } else if (match(XmiElementName.MODEL_ELEMENT_DOT_TAGGED_VALUE, reader)) { taggedValues.addAll(readTaggedValueGroup(reader)); } else { throw new AssertionError(reader.getLocalName()); } break; } case XMLStreamConstants.END_ELEMENT: { assertName(XmiElementName.ATTRIBUTE, reader); return new Attribute(id, name, type, multiplicity, taggedValues); } case XMLStreamConstants.CHARACTERS: { // Ignore. break; } default: { throw new AssertionError(reader.getEventType()); } } } throw new AssertionError(); }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
protected static final List<Attribute> readClassifierDotFeature(final XMLStreamReader reader) throws XMLStreamException { assertName(XmiElementName.CLASSIFIER_DOT_FEATURE, reader); final List<Attribute> attributes = new LinkedList<Attribute>(); while (reader.hasNext()) { reader.next();/* w w w. j a va2 s.c o m*/ switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: { if (match(XmiElementName.ATTRIBUTE, reader)) { attributes.add(assertNotNull(readAttribute(reader))); } else if (match(XmiElementName.OPERATION, reader)) { skipElement(reader, false); } else { throw new AssertionError(reader.getLocalName()); } break; } case XMLStreamConstants.END_ELEMENT: { assertName(XmiElementName.CLASSIFIER_DOT_FEATURE, reader); return assertNotNull(attributes); } case XMLStreamConstants.CHARACTERS: { // Ignore. break; } default: { throw new AssertionError(reader.getEventType()); } } } throw new AssertionError(); }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
protected static final ClassType readClassType(final QName elementName, final XMLStreamReader reader) throws XMLStreamException { assertName(elementName, reader);//w w w . j a v a2 s . c om boolean isAbstract = false; final List<Attribute> attributes = new LinkedList<Attribute>(); final List<TaggedValue> taggedValues = new LinkedList<TaggedValue>(); final Identifier id = getId(reader); final String name = getName(reader, null, XmiAttributeName.NAME); XmiAssociationConnection connection = null; while (reader.hasNext()) { reader.next(); switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: { if (match(XmiElementName.MODEL_ELEMENT_DOT_TAGGED_VALUE, reader)) { taggedValues.addAll(readTaggedValueGroup(reader)); } else if (match(XmiElementName.CLASSIFIER_DOT_FEATURE, reader)) { try { attributes.addAll(readClassifierDotFeature(reader)); } catch (final AssertionError e) { throw new XmiBadModelElementException(name.toString(), e); } } else if ("GeneralizableElement.generalization".equals(reader.getLocalName())) { skipElement(reader, false); } else if ("ModelElement.comment".equals(reader.getLocalName())) { skipElement(reader, false); } else if ("ModelElement.clientDependency".equals(reader.getLocalName())) { skipElement(reader, false); } else if ("Namespace.ownedElement".equals(reader.getLocalName())) { skipElement(reader, false); } else if (match(XmiElementName.ASSOCIATION_DOT_CONNECTION, reader)) { connection = assertNotNull(readAssociationConnection(reader)); } else { skipElement(reader, true); } break; } case XMLStreamConstants.END_ELEMENT: { assertName(elementName, reader); if (match(XmiElementName.CLASS, elementName)) { return new ClassType(id, name, isAbstract, attributes, taggedValues); } else if (match(XmiElementName.ASSOCIATION_CLASS, elementName)) { return new ClassType(id, name, isAbstract, attributes, connection.getLHS(), connection.getRHS(), taggedValues); } else if (match(XmiElementName.ASSOCIATION, elementName)) { return new ClassType(id, name, connection.getLHS(), connection.getRHS(), taggedValues); } else { throw new AssertionError(elementName); } } case XMLStreamConstants.CHARACTERS: { // Ignore. break; } default: { throw new AssertionError(reader.getEventType()); } } } throw new AssertionError(); }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
protected static final Model readContent(final XMLStreamReader reader) { try {/*from ww w. ja v a 2 s .c o m*/ if ("XMI.content".equals(reader.getLocalName())) { Model model = null; while (reader.hasNext()) { reader.next(); switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: { if ("Model".equals(reader.getLocalName())) { model = readModel(reader); if (model == null) { throw new IllegalStateException(); } break; } else { throw new XmiRuntimeException("Expecting Foo element, got: " + reader.getLocalName()); } } case XMLStreamConstants.END_ELEMENT: { if ("XMI.content".equals(reader.getLocalName())) { if (model == null) { throw new IllegalStateException(); } return model; } else { throw new AssertionError(reader.getLocalName()); } } case XMLStreamConstants.CHARACTERS: { // Ignore. break; } default: { throw new AssertionError(reader.getEventType()); } } } throw new AssertionError(); } else { throw new AssertionError(reader.getLocalName()); } } catch (final XMLStreamException e) { throw new XmiRuntimeException(e); } }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
protected static final Model readDocument(final XMLStreamReader reader) { try {/* ww w .ja va2 s.c om*/ if (XMLStreamConstants.START_DOCUMENT == reader.getEventType()) { Model model = null; while (reader.hasNext()) { reader.next(); switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: { if ("XMI".equals(reader.getLocalName())) { model = readXMI(reader); if (model == null) { throw new IllegalStateException(); } break; } else { throw new XmiRuntimeException("Expecting Foo element, got: " + reader.getLocalName()); } } case XMLStreamConstants.END_DOCUMENT: { if (model == null) { throw new IllegalStateException(); } return model; } default: { throw new AssertionError(reader.getEventType()); } } } throw new AssertionError(); } else { throw new AssertionError(reader.getLocalName()); } } catch (final XMLStreamException e) { throw new XmiRuntimeException(e); } }
From source file:org.slc.sli.modeling.xmi.reader.XmiReader.java
protected static final EnumLiteral readEnumerationLiteral(final XMLStreamReader reader) throws XMLStreamException { assertName(XmiElementName.ENUMERATION_LITERAL, reader); final List<TaggedValue> taggedValues = new LinkedList<TaggedValue>(); final Identifier id = getId(reader); final String name = getName(reader, null, XmiAttributeName.NAME); while (reader.hasNext()) { reader.next();//from w ww .j a v a 2 s . co m switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: { if (match(XmiElementName.MODEL_ELEMENT_DOT_TAGGED_VALUE, reader)) { taggedValues.addAll(readTaggedValueGroup(reader)); break; } else { throw new AssertionError(reader.getLocalName()); } } case XMLStreamConstants.END_ELEMENT: { assertName(XmiElementName.ENUMERATION_LITERAL, reader); return new EnumLiteral(id, name, taggedValues); } case XMLStreamConstants.CHARACTERS: { // Ignore. break; } default: { throw new AssertionError(reader.getEventType()); } } } throw new AssertionError(); }