Package javax.xml.stream

Examples of javax.xml.stream.XMLEventReader


      Stack<HierarchicalProperty> curProperty = new Stack<HierarchicalProperty>();

      try
      {
         XMLInputFactory factory = XMLInputFactory.newInstance();
         XMLEventReader reader = factory.createXMLEventReader(entityStream);
         while (reader.hasNext())
         {
            XMLEvent event = reader.nextEvent();
            switch (event.getEventType())
            {
               case XMLEvent.START_ELEMENT :
                  StartElement element = event.asStartElement();
                  QName name = element.getName();
View Full Code Here


    this.metadataSources = metadataSources;
  }

  public JaxbRoot unmarshal(InputStream stream, Origin origin) {
    try {
      XMLEventReader staxReader = staxFactory().createXMLEventReader( stream );
      try {
        return unmarshal( staxReader, origin );
      }
      finally {
        try {
          staxReader.close();
        }
        catch ( Exception ignore ) {
        }
      }
    }
View Full Code Here

      throws AnalysisException, IOException {
      if(logger.isInfoEnabled()) {
          logger.info("start build rule in " + configFile);
      }
    InputStream in = null;
    XMLEventReader r = null;
    Report report = null;
    StringBuilder globalConditions = new StringBuilder();
    StringBuilder globalValuefilter = new StringBuilder();
    List<String> globalMapClass = new ArrayList<String>();

    String domain = null;

    String localdir = new StringBuilder()
        .append(System.getProperty("user.dir"))
        .append(File.separatorChar).toString();

    if (configFile == null || "".equals(configFile)) {
      String error = "configFile can not be null !";
      logger.error(error);
      throw new AnalysisException(error);
    }

    try {
      XMLInputFactory factory = XMLInputFactory.newInstance();
      ClassLoader loader = Thread.currentThread().getContextClassLoader();

      if (configFile.startsWith("file:")) {
        try {
          in = new java.io.FileInputStream(new File(
              configFile.substring(configFile.indexOf("file:")
                  + "file:".length())));
        } catch (Exception e) {
          logger.error(e,e);
        }

        if (in == null)
          in = new java.io.FileInputStream(new File(localdir
              + configFile.substring(configFile.indexOf("file:")
                  + "file:".length())));
      } else {
        URL url = loader.getResource(configFile);

        if (url == null) {
          String error = "configFile: " + configFile + " not exist !";
          logger.error(error);
          throw new java.lang.RuntimeException(error);
        }

        in = url.openStream();
      }

      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);
            continue;
          }

        }

      }
      // 给刚刚记录的parent Entry对象打上标识
      for (Iterator<String> iterator = parents.iterator(); iterator
          .hasNext();) {
        String parent = iterator.next();
        ReportEntry parentEntry = rule.getEntryPool().get(parent);
        rule.getParentEntryPool().put(parent, parentEntry);
      }

      // 删除没有被引用的公用的定义
            // 考虑到每一个job(也就是过去的instance的概念)对应于同一个rule,并非是一个配置文件对应一个rule,因此
            // rule中删除不用的key这一操作,应该是在所有配置文件读取完后进行
            if (rule.getReferEntrys() != null
                    && rule.getReferEntrys().size() > 0) {
                Iterator<Entry<String, ReportEntry>> iter = rule.getEntryPool()
                        .entrySet().iterator();
                StringBuilder invalidKeys = new StringBuilder();

                while (iter.hasNext()) {
                    Entry<String, ReportEntry> e = iter.next();

                    if (!rule.getReferEntrys().containsKey(e.getKey())) {
                        iter.remove();
                        invalidKeys.append(e.getKey()).append(",");
                    }

                }

                if (invalidKeys.length() > 0)
                    logger.error("File: " + configFile
                        + " ----- remove invalid entry define : "
                        + invalidKeys.toString());
            }
    }
    catch(Throwable ex)
    {
      logger.error("the error config file is " + configFile,ex);
    }
    finally {
      if (r != null)
        try {
          r.close();
        } catch (XMLStreamException e) {
          logger.error(e,e);
        }

      if (in != null)
View Full Code Here

      String pubdate = "";
      String guid = "";

      XMLInputFactory inputFactory = XMLInputFactory.newInstance();
      InputStream in = read();
      XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
      /**
       * 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
             * message's description.
             */
            String lastDescription;
            try {
              lastDescription = feed.getLastMessage().getDescription();
            } catch (Exception e) {
              lastDescription = "";
            }
            if (description.equals(lastDescription)) {
              description = "";
            }
            /**
             * end of bugfix
             */
            message.setDescription(description);
            message.setGuid(guid);
            message.setLink(link);
            message.setTitle(title);
            feed.getMessages().add(message);
            event = eventReader.nextEvent();
            continue;
          }
        }
      }
    } catch (XMLStreamException e) {
View Full Code Here

        StAXSource      source      = null;
        Constructor     sourceCtor  = null;
        Reader          reader      = null;
        XMLInputFactory factory     = null;
        XMLEventReader  eventReader = null;

        try {
            factory = XMLInputFactory.newInstance();
        } catch (FactoryConfigurationError ex) {
            throw Exceptions.sourceInstantiation(ex);
View Full Code Here

      Stack<RefEntity> stack = new Stack<RefEntity>();

      Map<String, Reference> importedRefs = new HashMap<String, Reference>();

      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();
View Full Code Here

        return null;
    }

    private String readDeploymentConfig(final InputStream is) throws IOException {
        String encoding = null;
        XMLEventReader rdr = null;
        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;
                }
            }
        } catch (XMLStreamException e) {
            if (rdr != null) {
                try {
                    rdr.close();
                } catch (XMLStreamException inner) {
                    throw new IOException(e);
                }
            }
            throw new IOException(e);
        }
        if (encoding == null) {
            encoding = "UTF-8";
        }
        is.reset();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int bytesRead;
        final byte [] buffer = new byte[1024];
        while (( bytesRead = is.read(buffer)) != -1 ) {
            baos.write(buffer, 0, bytesRead);
        }
        try {
            rdr.close();
        } catch (XMLStreamException ex) {
            throw new IOException(ex);
        }
        is.close();
        return new String(baos.toByteArray(), encoding);
View Full Code Here

        final LRUReferenceCountCacheEntry<WsdlState, WsdlResource> wsdlEntry = wsdlCache.get(wsdl, httpClientProps) ;
       
        try
        {
            final WsdlState state = wsdlEntry.getResource() ;
            final XMLEventReader reader = state.getRequest(operation, serviceName, true, wsdl, httpClientProps) ;
            return buildSOAPMessage(reader, params, smooksResource, soapNs, state.getNils());
        }
        finally
        {
            wsdlCache.release(wsdlEntry) ;
View Full Code Here

        final LRUReferenceCountCacheEntry<WsdlState, WsdlResource> wsdlEntry = wsdlCache.get(wsdl, httpClientProps) ;
       
        try
        {
            final WsdlState state = wsdlEntry.getResource() ;
            final XMLEventReader reader = state.getResponse(operation, serviceName, true, wsdl, httpClientProps) ;
            return buildSOAPMessage(reader, params, smooksResource, soapNs, state.getNils());
        }
        finally
        {
            wsdlCache.release(wsdlEntry) ;
View Full Code Here

        params.put("Fault.faultcode","soapenv:server");
       
        try
        {
            final WsdlState state = wsdlEntry.getResource() ;
            final XMLEventReader reader = state.getFault(operation, serviceName, faultName, true, wsdl, httpClientProps) ;
            return buildSOAPMessage(reader, params, smooksResource, soapNs, state.getNils());
        }
        finally
        {
            wsdlCache.release(wsdlEntry) ;
View Full Code Here

TOP

Related Classes of javax.xml.stream.XMLEventReader

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.