Search in sources :

Example 1 with URL

use of java.net.URL in project camel by apache.

the class CometdComponent method createServletForConnector.

protected CometDServlet createServletForConnector(Server server, Connector connector, CometdEndpoint endpoint) throws Exception {
    CometDServlet servlet = new CometDServlet();
    ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.NO_SECURITY | ServletContextHandler.NO_SESSIONS);
    ServletHolder holder = new ServletHolder();
    holder.setServlet(servlet);
    holder.setAsyncSupported(true);
    // pointing to by example classpath:webapp
    if (endpoint.getBaseResource() != null) {
        String[] resources = endpoint.getBaseResource().split(":");
        if (LOG.isDebugEnabled()) {
            LOG.debug(">>> Protocol found: " + resources[0] + ", and resource: " + resources[1]);
        }
        if (resources[0].equals("file")) {
            context.setBaseResource(Resource.newResource(resources[1]));
        } else if (resources[0].equals("classpath")) {
            // Create a URL handler using classpath protocol
            URL url = this.getCamelContext().getClassResolver().loadResourceAsURL(resources[1]);
            context.setBaseResource(Resource.newResource(url));
        }
    }
    applyCrossOriginFiltering(endpoint, context);
    context.addServlet(holder, "/cometd/*");
    context.addServlet("org.eclipse.jetty.servlet.DefaultServlet", "/");
    context.setSessionHandler(new SessionHandler());
    holder.setInitParameter("timeout", Integer.toString(endpoint.getTimeout()));
    holder.setInitParameter("interval", Integer.toString(endpoint.getInterval()));
    holder.setInitParameter("maxInterval", Integer.toString(endpoint.getMaxInterval()));
    holder.setInitParameter("multiFrameInterval", Integer.toString(endpoint.getMultiFrameInterval()));
    holder.setInitParameter("JSONCommented", Boolean.toString(endpoint.isJsonCommented()));
    holder.setInitParameter("logLevel", Integer.toString(endpoint.getLogLevel()));
    return servlet;
}
Also used : SessionHandler(org.eclipse.jetty.server.session.SessionHandler) ServletHolder(org.eclipse.jetty.servlet.ServletHolder) CometDServlet(org.cometd.server.CometDServlet) ServletContextHandler(org.eclipse.jetty.servlet.ServletContextHandler) URL(java.net.URL)

Example 2 with URL

use of java.net.URL in project camel by apache.

the class OsgiClassResolver method loadResourceAsStream.

@Override
public InputStream loadResourceAsStream(String uri) {
    ObjectHelper.notEmpty(uri, "uri");
    String resolvedName = resolveUriPath(uri);
    URL url = loadResourceAsURL(resolvedName);
    InputStream answer = null;
    if (url != null) {
        try {
            answer = url.openStream();
        } catch (IOException ex) {
            throw new RuntimeException("Cannot load resource: " + uri, ex);
        }
    }
    // fallback to default as spring-dm may have issues loading resources
    if (answer == null) {
        answer = super.loadResourceAsStream(uri);
    }
    return answer;
}
Also used : InputStream(java.io.InputStream) IOException(java.io.IOException) URL(java.net.URL)

Example 3 with URL

use of java.net.URL in project camel by apache.

the class OsgiClassResolver method loadAllResourcesAsURL.

@Override
public Enumeration<URL> loadAllResourcesAsURL(String uri) {
    ObjectHelper.notEmpty(uri, "uri");
    Vector<URL> answer = new Vector<URL>();
    try {
        String resolvedName = resolveUriPath(uri);
        Enumeration<URL> e = bundleContext.getBundle().getResources(resolvedName);
        while (e != null && e.hasMoreElements()) {
            answer.add(e.nextElement());
        }
        String path = FileUtil.onlyPath(uri);
        String name = FileUtil.stripPath(uri);
        if (path != null && name != null) {
            for (Bundle bundle : bundleContext.getBundles()) {
                LOG.trace("Finding all entries in path: {} with pattern: {}", path, name);
                e = bundle.findEntries(path, name, false);
                while (e != null && e.hasMoreElements()) {
                    answer.add(e.nextElement());
                }
            }
        }
    } catch (IOException e) {
        throw new RuntimeException("Cannot load resource: " + uri, e);
    }
    return answer.elements();
}
Also used : Bundle(org.osgi.framework.Bundle) IOException(java.io.IOException) Vector(java.util.Vector) URL(java.net.URL)

Example 4 with URL

use of java.net.URL in project camel by apache.

the class OsgiClassResolver method loadResourceAsURL.

@Override
public URL loadResourceAsURL(String uri) {
    ObjectHelper.notEmpty(uri, "uri");
    String resolvedName = resolveUriPath(uri);
    URL answer = bundleContext.getBundle().getResource(resolvedName);
    // fallback to default as spring-dm may have issues loading resources
    if (answer == null) {
        answer = super.loadResourceAsURL(uri);
    }
    return answer;
}
Also used : URL(java.net.URL)

Example 5 with URL

use of java.net.URL in project camel by apache.

the class CamelMockBundle method findEntries.

public Enumeration<URL> findEntries(String path, String filePattern, boolean recurse) {
    if (path.equals("/org/apache/camel/core/osgi/test") && filePattern.equals("*.class")) {
        List<URL> urls = new ArrayList<URL>();
        URL url = getClass().getClassLoader().getResource("org/apache/camel/core/osgi/test/MyTypeConverter.class");
        urls.add(url);
        url = getClass().getClassLoader().getResource("org/apache/camel/core/osgi/test/MyRouteBuilder.class");
        urls.add(url);
        return new ListEnumeration<URL>(urls);
    } else {
        return CastUtils.cast(super.findEntries(path, filePattern, recurse));
    }
}
Also used : ArrayList(java.util.ArrayList) URL(java.net.URL)

Aggregations

URL (java.net.URL)8112 IOException (java.io.IOException)2006 Test (org.junit.Test)1653 File (java.io.File)1638 MalformedURLException (java.net.MalformedURLException)1165 HttpURLConnection (java.net.HttpURLConnection)1030 InputStream (java.io.InputStream)1028 ArrayList (java.util.ArrayList)633 URLConnection (java.net.URLConnection)515 InputStreamReader (java.io.InputStreamReader)473 URLClassLoader (java.net.URLClassLoader)451 BufferedReader (java.io.BufferedReader)390 HashMap (java.util.HashMap)361 URISyntaxException (java.net.URISyntaxException)286 URI (java.net.URI)269 Map (java.util.Map)259 FileInputStream (java.io.FileInputStream)227 List (java.util.List)205 FileOutputStream (java.io.FileOutputStream)194 OutputStream (java.io.OutputStream)194