Package org.apache.excalibur.source

Examples of org.apache.excalibur.source.SourceResolver


    public WebDAVSourceTestCase(String name) {
        super(name);
    }
   
    public void testResolve() throws Exception {
        SourceResolver resolver = (SourceResolver) lookup(SourceResolver.ROLE);
        String uri = m_location + m_options;
        WebDAVSource source = (WebDAVSource) resolver.resolveURI(uri);
        assertEquals(m_location, source.getURI());
        assertEquals(m_scheme, source.getScheme());
        assertEquals(m_name, source.getName());
        assertEquals(m_secure, source.getSecureURI());
        resolver.release(source);
    }
View Full Code Here


        if( this.getLogger().isDebugEnabled() ) {
            this.getLogger().debug( "Creating source object for " + location );
        }

        // Lookup resolver
        SourceResolver resolver = null;
        try {
            resolver = (SourceResolver)this.manager.lookup( SourceResolver.ROLE );

            // Remove the protocol and the first '/'
            final int pos = location.indexOf(":/");
            final String path = location.substring(pos+1);
           
            // fix for #24093, we don't give access to files outside the context:
            if ( path.indexOf("../") != -1 ) {
                throw new MalformedURLException("Invalid path ('../' is not allowed) : " + path);
            }
           
            URL u;
           
            // Try to get a file first and fall back to a resource URL
            String actualPath = envContext.getRealPath(path);
            if (actualPath != null) {
                u = new File(actualPath).toURL();
            } else {
                u = envContext.getResource(path);
            }

            if (u != null) {
                return resolver.resolveURI(u.toExternalForm());
               
            } else {
                String message = location + " could not be found. (possible context problem)";
                getLogger().info(message);
                throw new MalformedURLException(message);
View Full Code Here

        // factory should release the source
        if ( null != source ) {
            if ( this.getLogger().isDebugEnabled() ) {
                this.getLogger().debug("Releasing source " + source.getURI());
            }
            SourceResolver resolver = null;
            try {
                resolver = (SourceResolver)this.manager.lookup( SourceResolver.ROLE );
                resolver.release( source );
            } catch (ServiceException ingore) {
            } finally {
                this.manager.release( resolver );
            }
        }
View Full Code Here

                actualSource = source + "sitemap.xmap";
            } else {
                actualSource = source;
            }
           
            SourceResolver resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE);
            try {
                Source src = resolver.resolveURI(actualSource);
                try {
                    processor = this.parentProcessor.createChildProcessor(this.manager, this.language, src);
                } finally {
                    resolver.release(src);
                }
            } finally {
                this.manager.release(resolver);
            }
View Full Code Here

     * @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

                    CopletData copletData = service.getComponentManager().getProfileManager().getCopletData(event.getCopletDataId());
                    cid = service.getComponentManager().getCopletFactory().newInstance(copletData);
                    cid.setAttribute("item-content", ci.getContent());               
                } else {
                    if ( ci.getURL() != null ) {
                        SourceResolver resolver = null;
                        Source source = null;
                        String url = null;
                        try {
                            resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE);
                            url = ci.getURL();
                            source = resolver.resolveURI(url);
                            CopletData copletData = service.getComponentManager().getProfileManager().getCopletData(event.getCopletDataId());
                            cid = service.getComponentManager().getCopletFactory().newInstance(copletData);
                            cid.setAttribute("item-content", IOUtil.toByteArray(source.getInputStream()));
                        } catch (IOException se) {
                            this.getLogger().warn("Unable to get content for " + url, se);
                        } catch (ServiceException se) {
                            this.getLogger().warn("Unable to get source resolver.", se);
                        } finally {
                            if ( source != null ) {
                                resolver.release(source);
                            }
                            this.manager.release(resolver);
                        }
                       
                    } else {
View Full Code Here

            //    }
            //}
            if (!found) {
                basket.addItem(ci);
                if ( ci.isContent() ) {
                    SourceResolver resolver = null;
                    Source source = null;
                    String url = null;
                    try {
                        resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE);
                        url = ci.getURL();
                        if ( url == null ) {
                            url = "coplet://" + ci.getCopletId();
                        }
                        source = resolver.resolveURI(url);
                        ci.setContent(IOUtil.toByteArray(source.getInputStream()));
                    } catch (IOException se) {
                        this.getLogger().warn("Unable to get content for " + url, se);
                    } catch (ServiceException se) {
                        this.getLogger().warn("Unable to get source resolver.", se);
                    } finally {
                        if ( source != null ) {
                            resolver.release(source);
                        }
                        this.manager.release(resolver);
                    }
                } else if ( ci.getURL() == null ) {
                    // copy coplet attributes
View Full Code Here

    /* (non-Javadoc)
     * @see org.apache.avalon.framework.activity.Initializable#initialize()
     */
    public void initialize() throws Exception {
        SourceResolver resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
        Source source = null;
        try {
      Entry entry;
      String name;
      String mappingSource;
      Mapping mapping;
      Iterator iterator = this.mappingSources.entrySet().iterator();
          while (iterator.hasNext()) {
            entry = (Map.Entry)iterator.next();
            name = (String)entry.getKey();
            mappingSource = (String)entry.getValue();
           
        source = resolver.resolveURI(mappingSource);
        mapping = new Mapping();
        mapping.loadMapping(SourceUtil.getInputSource(source));
        this.mappings.put(name, mapping);
          }
        } finally {
            if (source != null) {
                resolver.release(source);
            }
            manager.release(resolver);
        }
    }
View Full Code Here

     */
    protected void addInterceptorGroup( String source  )
        throws Exception {
       
        this.getLogger().info( "applied script: " + source );
        SourceResolver resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE);
        Source src = resolver.resolveURI(source);
        JSTokenList interceptorsTokensList;
        try {
            interceptorsTokensList = JSParser.parse(
                readSourceIntoCharArray( src.getInputStream() ) );
        } finally {
            resolver.release(src);
            this.manager.release(resolver);
        }

        InterceptionList interceptors = interceptorsTokensList.readInterceptionTokens();
        interceptors.setSourceScript( source );
View Full Code Here

       
        final String uri = this.getURI( keyMap );
       
    Source source = null;
    CastorSourceConverter converter = null;
        SourceResolver resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
    try {
      source = resolver.resolveURI(uri);
            converter = (CastorSourceConverter) this.manager.lookup(CastorSourceConverter.ROLE);

      return converter.getObject(source.getInputStream(), parameters);
    } finally {
            if ( resolver != null ) {
                resolver.release(source);
            }
      manager.release(converter);
      manager.release(resolver);
    }
    }
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.