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;
}
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;
}
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();
}
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;
}
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));
}
}
Aggregations