Package org.apache.excalibur.source

Examples of org.apache.excalibur.source.SourceResolver


     * @return urlstring if resource was found, <code>null</code> otherwise
     */
    protected String locateResource(String urlstring, String filename, int minLen) {
        String sourcename = null;
        Source src = null;
        SourceResolver resolver = null;
        boolean found = false;
        try {
            resolver =
                (SourceResolver) this.manager.lookup(
                    org.apache.excalibur.source.SourceResolver.ROLE);
            while (!found && urlstring.length() > minLen) {
                sourcename = urlstring + filename;
                try {
                    src = resolver.resolveURI(sourcename);
                    if (src.exists())
                        found = true;
                } catch (Exception e) {
                    if (this.getLogger().isWarnEnabled())
                        this.getLogger().warn("Exception resolving URL " + sourcename, e);
                } finally {
                    resolver.release(src);
                }
                if (!found) {
                    urlstring = shortenURI(urlstring, minLen);
                }
            }
View Full Code Here


        public synchronized byte[] getCompiledClass(String className) {
            return (byte[])javaClass.get(className);
        }

        public synchronized boolean upToDateCheck() throws Exception {
            SourceResolver sourceResolver = (SourceResolver)
                getServiceManager().lookup(SourceResolver.ROLE);
            try {
                List invalid = new LinkedList();
                for (Iterator i = javaSource.entrySet().iterator(); i.hasNext();) {
                    Map.Entry e = (Map.Entry) i.next();
                    String uri = (String) e.getKey();
                    SourceValidity validity = (SourceValidity) e.getValue();
                    int valid = validity.isValid();
                    if (valid == SourceValidity.UNKNOWN) {
                        Source newSrc = null;
                        try {
                            newSrc = sourceResolver.resolveURI(uri);
                            valid = newSrc.getValidity().isValid(validity);
                        } catch (Exception ignored) {
                            // ignore exception
                        } finally {
                            if (newSrc != null) {
                                sourceResolver.release(newSrc);
                            }
                        }
                    }
                    if (valid != SourceValidity.VALID) {
                        invalid.add(uri);
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, this.serviceManager);
            Element selectionListElement = document.getDocumentElement();
            if (!Constants.DEFINITION_NS.equals(selectionListElement.getNamespaceURI()) ||
                    !"selection-list".equals(selectionListElement.getLocalName())) {
                throw new Exception("Expected a fd:selection-list element at " +
                                    DomHelper.getLocation(selectionListElement));
            }

            return selectionListElement;
        } finally {
            if (resolver != null) {
                if (source != null) {
                    resolver.release(source);
                }
                serviceManager.release(resolver);
            }
        }
    }
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();
View Full Code Here

        return binding;
    }

    public Binding createBinding(String bindingURI) throws BindingException {
        SourceResolver sourceResolver = null;
        Source source = null;

        try {
            try {
                sourceResolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
                source = sourceResolver.resolveURI(bindingURI);
            } catch (Exception e) {
                throw new BindingException("Error resolving binding source: " +
                                           bindingURI);
            }
            return createBinding(source);
        } finally {
            if (source != null) {
                sourceResolver.release(source);
            }
            if (sourceResolver != null) {
                manager.release(sourceResolver);
            }
        }
View Full Code Here

    /**
     * Create a form, given the URI of its definition file
     */
    public FormInstance(String uri) {
        FormManager formMgr = null;
        SourceResolver resolver = null;
        Source src = null;
        try {
            formMgr = (FormManager)getComponent(FormManager.ROLE);
            resolver = (SourceResolver)getComponent(SourceResolver.ROLE);
            src = resolver.resolveURI(uri);
            this.form = formMgr.createForm(src);
            this.binding = null;
            // this.validator = null;
            // TODO : do we keep this ?
            // this.formWidget = new Widget(this.form); could not create instance
        } catch (Exception e) {
            throw new CascadingRuntimeException("Could not create form instance", e);
        } finally {
            releaseComponent(formMgr);
            if (src != null) resolver.release(src);
            releaseComponent(resolver);
        }
    }
View Full Code Here

    }*/

    public void createBinding(String bindingURI) {
        BindingManager bindingManager = null;
        Source source = null;
        SourceResolver resolver = null;
        try {
            bindingManager = (BindingManager)getComponent(BindingManager.ROLE);
            resolver = (SourceResolver)getComponent(SourceResolver.ROLE);
            source = resolver.resolveURI(bindingURI);
            this.binding = bindingManager.createBinding(source);
        } catch (Exception e) {
            throw new CascadingRuntimeException("Could not create bindinh", e);
        } finally {
            if (source != null)
                resolver.release(source);
            releaseComponent(bindingManager);
            releaseComponent(resolver);
        }
    }
View Full Code Here

  public void execute(String name) {
    if (getLogger ().isDebugEnabled ()) {
      getLogger().debug ("CocoonPipelineCronJob: " + name + ", calling pipeline: " + pipeline);
    }

        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 ();
      if (getLogger ().isInfoEnabled ()) {
        getLogger ().info ("CocoonPipelineCronJob: " + name + ", called pipeline: " +
                                   pipeline + ", and received following content:\n" + sb.toString() );
      }
    } catch(Exception e) {
      throw new CascadingRuntimeException ("CocoonPipelineCronJob: " + 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

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.