Package org.apache.excalibur.source

Examples of org.apache.excalibur.source.SourceResolver


        final Configuration m = config.getChild("managed-services", false);
        final List descriptors = new ArrayList();

        if (m != null)
        {
            SourceResolver resolver = null;
            DOMParser parser = null;

            try
            {
                final Configuration[] services = m.getChildren("descriptor");
                resolver = (SourceResolver) m_manager.lookup(SourceResolver.ROLE);
                parser = (DOMParser) m_manager.lookup(DOMParser.ROLE);

                for (int i = 0; i < services.length; ++i)
                {
                    final String location = services[i].getAttribute("src");
                    Source source = resolver.resolveURI(location);

                    final Document d =
                        parser.parseDocument(
                            new InputSource(
                                new InputStreamReader(source.getInputStream())
View Full Code Here


            DocumentFragment domTemplate = null;

            String src = bindingElm.getAttribute("src");
            if (!src.equals("")) {
                ServiceManager manager = assistant.getServiceManager();
                SourceResolver sourceResolver = (SourceResolver)manager.lookup(SourceResolver.ROLE);
                Source source = null;
                try {
                    source = sourceResolver.resolveURI(src);
                    Document document = SourceUtil.toDOM(source);
                    Element element = document.getDocumentElement();

                    String xpath = bindingElm.getAttribute("xpath");
                    if (!xpath.equals("")) {
                        XPathProcessor xpathProcessor = (XPathProcessor)manager.lookup(XPathProcessor.ROLE);
                        try {
                            Node node = xpathProcessor.selectSingleNode(document, xpath);
                            if (node == null)
                                throw new BindingException("XPath expression \"" + xpath + "\" didn't return a result.");
                            if (!(node instanceof Element))
                                throw new BindingException("XPath expression \"" + xpath + "\" did not return an element node.");
                            element = (Element)node;
                        } finally {
                            manager.release(xpathProcessor);
                        }
                    }
                    domTemplate = document.createDocumentFragment();
                    domTemplate.appendChild(element);
                } finally {
                    if (source != null)
                        sourceResolver.release(source);
                    manager.release(sourceResolver);
                }
            } else {
                domTemplate = bindingElm.getOwnerDocument().createDocumentFragment();
                NodeList nested = bindingElm.getChildNodes();
View Full Code Here

        super(manager);
        this.systemId = systemId;
    }

    public InputStream getInputStream() throws IOException, SourceNotFoundException {
        SourceResolver resolver = null;
        Source source = null;
        try {
            resolver = (SourceResolver) serviceManager.lookup(SourceResolver.ROLE);
            source = resolver.resolveURI(this.systemId);
            return source.getInputStream();
        } catch (Exception e) {
            throw new SourceException("Exception during processing of " + this.systemId, e);
        } finally {
            if (resolver != null) {
                resolver.release(source);
                serviceManager.release(resolver);
            }
        }
    }
View Full Code Here

     */
    public void execute(String name) {
    getLogger().info("CronJob " + name + " launched at " + new Date() + " with message '" + m_msg +
             "' and sleep timeout of " + m_sleep + "ms");
   
        SourceResolver resolver = null;
        Source src = null;
        try {
      resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE);
      src = resolver.resolveURI("cocoon://" + pipeline);
      InputStream is = src.getInputStream();
     
      InputStreamReader reader = new InputStreamReader(is);
      StringBuffer sb = new StringBuffer();
      char[] b = new char[8192];
      int n;

      while((n = reader.read(b)) > 0) {
        sb.append(b, 0, n);
      }
     
      reader.close();

            getLogger().info("Cronjob " + name + " called pipeline " + pipeline +
                    " and received following content:\n" + sb.toString() );
        } catch(Exception e) {
            throw new CascadingRuntimeException("CronJob " + name + " raised an exception", e);
        } finally {
            if ( resolver != null ) {
          resolver.release(src);
                this.manager.release(resolver);
                resolver = null;
          src = null;
            }
        }
View Full Code Here

                    found = true;
                }
            }

            if (!found) {
                SourceResolver resolver = null;
                try {
                    resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
                    for (int i=0; !found && i<packageImports.size(); i++) {
                        String name = (String) packageImports.get(i);
                        if (name.length() == 0) {
                            name = classPart;
                        } else {
                            name += '.' + classPart;
                        }

                        // Test whether the classname 'name' is valid:
                        Source source = resolver.resolveURI(PROTOCOL + name);
                        found = source != null && source instanceof QDoxSource;
                        if (found) {
                            classPart = name;
                        }

                        resolver.release(source);
                    }
                } catch (ServiceException se) {
                    logger.error("Could not find a SourceResolver!", se);
                } catch (MalformedURLException e) {
                    // ignore - invalid URI (is subject of test)
View Full Code Here

        if (classMap != null && classMap.containsKey(className)) {
            return (JavaClass) classMap.get(className);
        }

        JavaClass jClass = null;
        SourceResolver resolver = null;

        try {
            resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
            Source source = resolver.resolveURI(PROTOCOL + className);
            if (source instanceof QDoxSource) {
                QDoxSource javadocSource = (QDoxSource) source;
                jClass = javadocSource.getJavadocClass();
                if (classMap == null) {
                    classMap = new HashMap();
                }
                classMap.put(className, jClass);
            }
            resolver.release(source);
        } catch (ServiceException se) {
            logger.error("Couldn't return JavaClass!", se);
        } catch (MalformedURLException mue) {
            logger.error("Couldn't return JavaClass!", mue);
        } catch (SourceException se) {
View Full Code Here

    throws SAXException {
        PreparedConfiguration config = (PreparedConfiguration)context.getAspectConfiguration();

        XSLTProcessor processor = null;
        Source stylesheet = null;
        SourceResolver resolver = null;
        try {
            resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
            stylesheet = resolver.resolveURI(this.getStylesheetURI(config, layout));
            processor = (XSLTProcessor) this.manager.lookup(config.xsltRole);
            TransformerHandler transformer = processor.getTransformerHandler(stylesheet);
            Map parameter = layout.getParameters();
            if (parameter.size() > 0) {
                Map.Entry entry;
                Transformer theTransformer = transformer.getTransformer();
                for (Iterator iter = parameter.entrySet().iterator(); iter.hasNext();) {
                    entry = (Map.Entry) iter.next();
                    theTransformer.setParameter((String)entry.getKey(), entry.getValue());
                }
            }
            SAXResult result = new SAXResult(new IncludeXMLConsumer((handler)));
            if (handler instanceof LexicalHandler) {
                result.setLexicalHandler((LexicalHandler) handler);
            }
            transformer.setResult(result);
            transformer.startDocument();
            context.invokeNext(layout, service, transformer);

            transformer.endDocument();
        } catch (XSLTProcessorException xpe) {
            throw new SAXException("XSLT Exception.", xpe);
        } catch (IOException io) {
            throw new SAXException("Error in resolving.", io);
        } catch (ServiceException ce) {
            throw new SAXException("Unable to lookup component.", ce);
        } finally {
            if (null != resolver) {
                resolver.release(stylesheet);
                this.manager.release(resolver);
            }
            this.manager.release(processor);
        }
  }
View Full Code Here

        handler.setContentHandler(contentHandler);
        SourceUtil.toSAX(serviceManager, source, null, handler);
    }

    public void generateSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException {
        SourceResolver sourceResolver = null;
        Source source = null;
        try {
            sourceResolver = (SourceResolver)serviceManager.lookup(SourceResolver.ROLE);
            source = sourceResolver.resolveURI(src);
            generateSaxFragment(contentHandler, locale, source);
        } catch (Exception e) {
            throw new SAXException("Error while generating selection list: " + e.getMessage(), e);
        } finally {
            if (sourceResolver != null) {
                if (source != null)
                    try { sourceResolver.release(source); } catch (Exception e) {}
                serviceManager.release(sourceResolver);
            }
        }
    }
View Full Code Here

        return selectionList;
    }

    private Element readSelectionList(String src) throws Exception {
        SourceResolver resolver = null;
        Source source = null;
        try {
            resolver = (SourceResolver)serviceManager.lookup(SourceResolver.ROLE);
            source = resolver.resolveURI(src);
            InputSource inputSource = new InputSource(source.getInputStream());
            inputSource.setSystemId(source.getURI());
            Document document = DomHelper.parse(inputSource);
            Element selectionListElement = document.getDocumentElement();
            if (!Constants.WD_NS.equals(selectionListElement.getNamespaceURI()) || !"selection-list".equals(selectionListElement.getLocalName()))
                throw new Exception("Excepted a wd:selection-list element at " + DomHelper.getLocation(selectionListElement));
            return selectionListElement;
        } finally {
            if (source != null)
                resolver.release(source);
            if (resolver != null)
                serviceManager.release(resolver);
        }
    }
View Full Code Here

     */
    public void toSAX(Layout layout, PortalService service, ContentHandler handler) throws SAXException {
        if (this.useStylesheet()) {
            XSLTProcessor processor = null;
            Source stylesheet = null;
            SourceResolver resolver = null;
            try {
                resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
                stylesheet = resolver.resolveURI(this.getStylesheetURI(layout));
                processor = (XSLTProcessor) this.manager.lookup(XSLTProcessor.ROLE);
                TransformerHandler transformer = processor.getTransformerHandler(stylesheet);
                SAXResult result = new SAXResult(new IncludeXMLConsumer((handler)));
                if (handler instanceof LexicalHandler) {
                    result.setLexicalHandler((LexicalHandler) handler);
                }
                transformer.setResult(result);
                transformer.startDocument();
                this.process(layout, service, transformer);
                transformer.endDocument();
            } catch (Exception ce) {
                throw new SAXException("Unable to lookup component.", ce);
            } finally {
                if (null != resolver) {
                    resolver.release(stylesheet);
                    this.manager.release(resolver);
                }
                this.manager.release(processor);
            }
        } else {
View Full Code Here

TOP

Related Classes of org.apache.excalibur.source.SourceResolver

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.