Package javax.xml.stream.events

Examples of javax.xml.stream.events.XMLEvent


      r = factory.createXMLEventReader(in);
      List<String> parents = new ArrayList<String>();

      while (r.hasNext()) {
        XMLEvent event = r.nextEvent();

        if (event.isStartElement()) {
          StartElement start = event.asStartElement();

          String tag = start.getName().getLocalPart();

          if (tag.equalsIgnoreCase("domain")) {
            if (start.getAttributeByName(new QName("", "value")) != null) {
              domain = start.getAttributeByName(
                  new QName("", "value")).getValue();
              rule.setDomain(domain);
            }

            continue;
          }

          if (tag.equalsIgnoreCase("alias")) {
            Alias alias = new Alias();
            alias.setName(start.getAttributeByName(
                new QName("", "name")).getValue());
            alias.setKey(Integer.valueOf(start.getAttributeByName(
                new QName("", "key")).getValue()));

            rule.getAliasPool().put(alias.getName(), alias);

            continue;
          }
         
          if (tag.equalsIgnoreCase("inner-key")){
            InnerKey innerKey = new InnerKey();
           
            innerKey.setKey(Integer.parseInt(start.getAttributeByName(
                new QName("", "key")).getValue()));
           
            boolean isExist = false;
           
            for(InnerKey ik : rule.getInnerKeyPool())
            {
              if (ik.getKey() == innerKey.getKey())
              {
                logger.error("duplicate innerkey define, key :" + innerKey.getKey());
               
                isExist = true;
                break;
              }
            }
           
            if (!isExist)
            {
              if (innerKey.setFile(start.getAttributeByName(
                  new QName("", "file")).getValue()))
                rule.getInnerKeyPool().add(innerKey);
              else
                logger.error("inner-key set error, file : " + innerKey.getFile());
             
            }
           
            continue;
           
          }

          if (tag.equalsIgnoreCase("global-condition")) {
            if (start.getAttributeByName(new QName("", "value")) != null) {
              if (globalConditions.length() > 0) {
                globalConditions.append("&"
                    + start.getAttributeByName(
                        new QName("", "value"))
                        .getValue());
              } else {
                globalConditions.append(start
                    .getAttributeByName(
                        new QName("", "value"))
                    .getValue());
              }

            }

            continue;
          }

          if (tag.equalsIgnoreCase("global-mapClass")) {
            if (start.getAttributeByName(new QName("", "value")) != null) {
              globalMapClass.add(start.getAttributeByName(
                  new QName("", "value")).getValue());
            }

            continue;
          }

          if (tag.equalsIgnoreCase("global-valuefilter")) {
            if (start.getAttributeByName(new QName("", "value")) != null) {
              globalValuefilter.append(
                  start.getAttributeByName(
                      new QName("", "value")).getValue())
                  .append("&");
            }

            continue;
          }

          if (tag.equalsIgnoreCase("ReportEntry")
              || tag.equalsIgnoreCase("entry")) {
            ReportEntry entry = new ReportEntry();
            if (tag.equalsIgnoreCase("ReportEntry"))
              setReportEntry(true, start, entry, report,
                  rule.getEntryPool(), rule.getAliasPool(),
                  globalConditions, globalValuefilter,
                  globalMapClass, parents);
            else {
              setReportEntry(false, start, entry, report,
                  rule.getEntryPool(), rule.getAliasPool(),
                  globalConditions, globalValuefilter,
                  globalMapClass, parents);
            }

            if (entry.getId() != null) {
              if (rule.getEntryPool().get(entry.getId()) != null)
                throw new java.lang.RuntimeException(
                    "ID confict:" + entry.getId());
              rule.getEntryPool().put(entry.getId(), entry);
            }

            // 增加引用标识
            if (tag.equalsIgnoreCase("entry")) {
              if (entry.getId() != null)
                rule.getReferEntrys().put(entry.getId(), entry);
              else if (report.getReportEntrys() != null
                  && report.getReportEntrys().size() > 0)
                rule.getReferEntrys().put(
                    report.getReportEntrys()
                        .get(report.getReportEntrys()
                            .size() - 1).getId(),
                    report.getReportEntrys()
                        .get(report.getReportEntrys()
                            .size() - 1));
            }

            ReportEntry _tmpEntry = entry;

            if (_tmpEntry.getId() == null
                && report.getReportEntrys() != null
                && report.getReportEntrys().size() > 0)
              _tmpEntry = report.getReportEntrys().get(
                  report.getReportEntrys().size() - 1);
           
            List<Object> bindingStack = ((SimpleCalculator)_tmpEntry.getCalculator()).getBindingStack();
            String valueExpression = ((SimpleCalculator)_tmpEntry.getCalculator()).getValue();
            if (bindingStack != null) {
              if (valueExpression != null
                  && valueExpression.indexOf(
                      "entry(") >= 0)
                for (Object k : bindingStack) {
                  rule.getReferEntrys().put((String)k, null);
                }
            }

            continue;
          }

          if (tag.equalsIgnoreCase("report")) {
            if (report != null) {
                if(report.getId() != null) {
                    if(rule.getReportPool().get(report.getId()) != null)
                        throw new java.lang.RuntimeException(
                                        "ID confict:" + report.getId());
                }
              rule.getReportPool().put(report.getId(), report);
            }

            report = new Report();
            setReport(start, report, rule.getReportPool());
            continue;
          }

          if (tag.equalsIgnoreCase("entryList")) {
            report.setReportEntrys(new ArrayList<ReportEntry>());
            continue;
          }

        }

        if (event.isEndElement()) {
          EndElement end = event.asEndElement();

          String tag = end.getName().getLocalPart();

          if (tag.equalsIgnoreCase("reports") && report != null) {
            rule.getReportPool().put(report.getId(), report);
View Full Code Here


      /**
       * Read XML document
       */
      while (eventReader.hasNext()) {

        XMLEvent event = eventReader.nextEvent();

        if (event.isStartElement()) {
          if (event.asStartElement().getName().getLocalPart() == (ITEM)) {
            if (isFeedHeader) {
              isFeedHeader = false;
              feed = new Feed(title, link, description, language,
                  copyright, pubdate);
            }
            event = eventReader.nextEvent();
            continue;
          }

          if (event.asStartElement().getName().getLocalPart() == (TITLE)) {
            event = eventReader.nextEvent();
            title = event.asCharacters().getData();
            continue;
          }
          if (event.asStartElement().getName().getLocalPart() == (DESCRIPTION)) {
            event = eventReader.nextEvent();
            description = event.asCharacters().getData();
            continue;
          }

          if (event.asStartElement().getName().getLocalPart() == (LINK)) {
            event = eventReader.nextEvent();
            link = event.asCharacters().getData();
            continue;
          }

          if (event.asStartElement().getName().getLocalPart() == (GUID)) {
            event = eventReader.nextEvent();
            guid = event.asCharacters().getData();
            continue;
          }
          if (event.asStartElement().getName().getLocalPart() == (LANGUAGE)) {
            event = eventReader.nextEvent();
            language = event.asCharacters().getData();
            continue;
          }
          if (event.asStartElement().getName().getLocalPart() == (AUTHOR)) {
            event = eventReader.nextEvent();
            author = event.asCharacters().getData();
            continue;
          }
          if (event.asStartElement().getName().getLocalPart() == (PUB_DATE)) {
            event = eventReader.nextEvent();
            pubdate = event.asCharacters().getData();
            continue;
          }
          if (event.asStartElement().getName().getLocalPart() == (COPYRIGHT)) {
            event = eventReader.nextEvent();
            copyright = event.asCharacters().getData();
            continue;
          }
        } else if (event.isEndElement()) {
          if (event.asEndElement().getName().getLocalPart() == (ITEM)) {
            FeedMessage message = new FeedMessage();
            message.setAuthor(author);
            /**
             * bugfix: if description was not explicitly set to the
             * empty string, it would still contain the last
View Full Code Here

      XMLInputFactory factory = XMLInputFactory.newInstance();
      XMLEventReader reader = factory.createXMLEventReader(new FileInputStream(bindingsStorePath), "UTF-8");

      while (reader.hasNext())
      {
         XMLEvent event = reader.nextEvent();
         switch (event.getEventType())
         {
            case XMLStreamConstants.START_ELEMENT :
               StartElement startElement = event.asStartElement();

               Map<String, String> attr = new HashMap<String, String>();

               Iterator attributes = startElement.getAttributes();
               while (attributes.hasNext())
               {
                  Attribute attribute = (Attribute)attributes.next();
                  attr.put(attribute.getName().getLocalPart(), attribute.getValue());
               }

               String localName = startElement.getName().getLocalPart();
               if (localName.equals(REFERENCE_ELEMENT))
               {
                  String bindName = attr.get(BIND_NAME_ATTR);
                  String className = attr.get(CLASS_NAME_ATTR);
                  String factoryName = attr.get(FACTORY_ATTR);
                  String factoryLocation = attr.get(FACTORY_LOCATION_ATTR);

                  Reference reference = new Reference(className, factoryName, factoryLocation);
                  stack.push(new RefEntity(bindName, reference));
               }
               else if (localName.equals(PROPERTY_ELEMENT))
               {
                  RefEntity refEntity = stack.pop();
                  Reference reference = refEntity.getValue();

                  for (Entry<String, String> entry : attr.entrySet())
                  {
                     reference.add(new StringRefAddr(entry.getKey(), entry.getValue()));
                  }

                  refEntity.setValue(reference);
                  stack.push(refEntity);
               }

               break;
            case XMLStreamConstants.END_ELEMENT :
               EndElement endElement = event.asEndElement();
               localName = endElement.getName().getLocalPart();

               if (localName.equals(REFERENCE_ELEMENT))
               {
                  RefEntity refEntity = stack.pop();
View Full Code Here

        try {
            is.mark(Integer.MAX_VALUE);
            rdr = xmlInputFactory.createXMLEventReader(
                    new InputStreamReader(is));
            while (rdr.hasNext()) {
                final XMLEvent ev = rdr.nextEvent();
                if (ev.isStartDocument()) {
                    final StartDocument sd = (StartDocument) ev;
                    encoding = sd.getCharacterEncodingScheme();
                    break;
                }
            }
View Full Code Here

        {
            xmlReader = XML_INPUT_FACTORY.createXMLEventReader(new StringReader(soap));

            while (xmlReader.hasNext())
            {
                XMLEvent xmlEvent = xmlReader.nextEvent();
                if (isStartOfHeader(xmlEvent))
                {
                    while (xmlReader.hasNext())
                    {
                        xmlEvent = xmlReader.nextEvent();
                        if (isStartOfBinarySecurityToken(xmlEvent))
                        {
                            final StartElement bstElement = (StartElement) xmlEvent;
                            BinarySecurityToken bst = new BinarySecurityToken();
                            bst.setEncodingType(bstElement.getAttributeByName(encodingTypeQName).getValue());
                            bst.setValueType(bstElement.getAttributeByName(valueTypeQName).getValue());

                            final StringBuilder data = new StringBuilder();
                            while (xmlReader.hasNext())
                            {
                                final XMLEvent nextEvent = xmlReader.nextEvent();
                                if (nextEvent.isCharacters())
                                {
                                    Characters characters = nextEvent.asCharacters();
                                    data.append(characters.getData());
                                }

                                if (isEndOfBinarySecurityToken(nextEvent))
                                {
View Full Code Here

    }

    public String getElementText()
        throws XMLStreamException
    {
        XMLEvent event = nextEvent() ;
        if (!event.isStartElement())
        {
            throw new XMLStreamException("Expected start element, found event type " + event.getEventType()) ;
        }
        final StringBuffer sb = new StringBuffer() ;
        while(hasNext())
        {
            event = nextEvent() ;
            if (event.isStartElement())
            {
                throw new XMLStreamException("Unexpected nested start element") ;
            }
            else if (event.isCharacters())
            {
                sb.append(event.asCharacters().getData()) ;
            }
            else if (event.isEndElement())
            {
                return sb.toString() ;
            }
        }
        throw new XMLStreamException("Unexpected end of Document");
View Full Code Here

    public XMLEvent nextTag()
        throws XMLStreamException
    {
        while(hasNext())
        {
            final XMLEvent event = nextEvent() ;
            if (event.isCharacters() && !event.asCharacters().isWhiteSpace())
            {
                throw new XMLStreamException("Unexpected character content in stream") ;
            }
            if (event.isStartElement() || event.isEndElement())
            {
                return event ;
            }
        }
        throw new XMLStreamException("End of document") ;
View Full Code Here

    }

    public XMLEvent peek()
        throws XMLStreamException
    {
        final XMLEvent peak = eventIter.next();
        eventIter.previous() ;
        return peak ;
    }
View Full Code Here

        {
            xmlReader = XML_INPUT_FACTORY.createXMLEventReader(new StringReader(soap));

            while (xmlReader.hasNext())
            {
                XMLEvent xmlEvent = xmlReader.nextEvent();
                if (isStartOfHeader(xmlEvent))
                {
                    while (xmlReader.hasNext())
                    {
                        xmlEvent = xmlReader.nextEvent();
                    if (isStartOfUsernameToken(xmlEvent))
                    {
                        while (xmlReader.hasNext())
                        {
                            xmlEvent = xmlReader.nextEvent();
                            if (isStartOfUsername(xmlEvent))
                            {
                                XMLEvent username = xmlReader.nextEvent();
                                if (username.isCharacters())
                                {
                                    // username is a required element.
                                    user = new User(((Characters) username).getData());
                                }
                            }
                         
                            if (isStartOfPassword(xmlEvent))
                            {
                                final XMLEvent password = xmlReader.nextEvent();
                                if (password.isCharacters())
                                {
                                    final Characters characters = (Characters) password;
                                    final String data = characters.getData();
                                    // Password is an optional element
                                    if (data != null)
View Full Code Here

        final StringWriter stringWriter = new StringWriter();
        final XMLEventWriter xmlWriter = XML_OUTPUT_FACTORY.createXMLEventWriter(stringWriter);
       
        while(xmlReader.hasNext())
        {
            XMLEvent event = xmlReader.nextEvent();
            if (isStartOfHeader(event))
            {
                while (xmlReader.hasNext())
                {
                  event = xmlReader.nextEvent();
                if (isStartOfAssertion(event))
                {
                    xmlWriter.add(event);
                    while (xmlReader.hasNext())
                    {
                        XMLEvent nextEvent = xmlReader.nextEvent();
                        xmlWriter.add(nextEvent);
                        if (isEndOfAssertion(nextEvent))
                        {
                      xmlWriter.flush();
                      return stringWriter.toString();
View Full Code Here

TOP

Related Classes of javax.xml.stream.events.XMLEvent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.