/** * Sets the base resources for this context. * * @param baseResources The list of resources to be used as the base for all static * content of this context. */ public void setBaseResource(Resource... baseResources) { handler.setBaseResource(new ResourceCollection(baseResources)); }
/** * Sets the base resources for this context. * * @param resources A list of strings representing the base resources to serve static * content for the context. Any string accepted by Resource.newResource(String) * may be passed and the call is equivalent to {@link #setBaseResource(Resource...)}} */ public void setBaseResource(String... resources) { handler.setBaseResource(new ResourceCollection(resources)); }
webAppContext.setBaseResource(new ResourceCollection(resourceUrls.toArray(new String[resourceUrls.size()])));
private void configureDocumentRoot(WebAppContext handler) { File root = getValidDocumentRoot(); File docBase = (root != null) ? root : createTempDir("jetty-docbase"); try { List<Resource> resources = new ArrayList<>(); Resource rootResource = (docBase.isDirectory() ? Resource.newResource(docBase.getCanonicalFile()) : JarResource.newJarResource(Resource.newResource(docBase))); resources.add((root != null) ? new LoaderHidingResource(rootResource) : rootResource); for (URL resourceJarUrl : this.getUrlsOfJarsWithMetaInfResources()) { Resource resource = createResource(resourceJarUrl); if (resource.exists() && resource.isDirectory()) { resources.add(resource); } } handler.setBaseResource( new ResourceCollection(resources.toArray(new Resource[0]))); } catch (Exception ex) { throw new IllegalStateException(ex); } }
new ResourceCollection( new String[]{ TaskMaster.class.getClassLoader().getResource("static").toExternalForm(),
ResourceCollection staticResources; if (beOverlord) { staticResources = new ResourceCollection( Resource.newClassPathResource("io/druid/console"), Resource.newClassPathResource("static"), ); } else { staticResources = new ResourceCollection( Resource.newClassPathResource("io/druid/console"), Resource.newClassPathResource("static")
ResourceCollection rc = new ResourceCollection(web_inf,web_app);
ResourceCollection resourceCollection = new ResourceCollection(); resourceCollection.setResources(getArrayOfResourceBaseDirs());
for (Resource resource : resources) collection[i++]=resource; context.setBaseResource(new ResourceCollection(collection));
return resource; if (resources!=null) return new ResourceCollection(resources.toArray(new Resource[resources.size()])); return null;
/** * Sets the base resources for this context. * * @param resources A list of strings representing the base resources to serve static * content for the context. Any string accepted by Resource.newResource(String) * may be passed and the call is equivalent to {@link #setBaseResource(Resource...)}} */ public void setBaseResource(String... resources) { handler.setBaseResource(new ResourceCollection(resources)); }
/** * Sets the base resources for this context. * * @param baseResources The list of resources to be used as the base for all static * content of this context. */ public void setBaseResource(Resource... baseResources) { handler.setBaseResource(new ResourceCollection(baseResources)); }
Server server = new Server(80); WebAppContext context = new WebAppContext(); context.setContextPath("/"); ResourceCollection resources = new ResourceCollection(new String[] { "project1/src/main/webapp", "project2/src/main/webapp", }); context.setBaseResource(resources); server.setHandler(context); server.start();
/** * This method is provided as a convenience for jetty maven plugin configuration * @param resourceBases Array of resources strings to set as a {@link ResourceCollection}. Each resource string may be a comma separated list of resources * @see Resource */ public void setResourceBases(String[] resourceBases) { List<String> resources = new ArrayList<String>(); for (String rl:resourceBases) { String[] rs = rl.split(" *, *"); for (String r:rs) resources.add(r); } setBaseResource(new ResourceCollection(resources.toArray(new String[resources.size()]))); }
@SuppressWarnings("unchecked") @Override public void configure(WebAppContext context) throws Exception { List<Resource> resources = (List<Resource>) context.getAttribute(RESOURCE_URLS); if (resources != null) { if (resources.size() > 1) { List<Resource> temp = new ArrayList<>(); temp.add(context.getBaseResource()); temp.addAll(resources); context.setBaseResource(new ResourceCollection(temp.toArray(new Resource[temp.size()]))); } else if (resources.size() == 1) { context.setBaseResource(resources.get(0)); } } }
public void visitMetaInfResource (WebAppContext context, Resource dir) { Collection<Resource> metaInfResources = (Collection<Resource>)context.getAttribute(MetaInfConfiguration.METAINF_RESOURCES); if (metaInfResources == null) { metaInfResources = new HashSet<Resource>(); context.setAttribute(MetaInfConfiguration.METAINF_RESOURCES, metaInfResources); } metaInfResources.add(dir); //also add to base resource of webapp Resource[] collection=new Resource[metaInfResources.size()+1]; int i=0; collection[i++]=context.getBaseResource(); for (Resource resource : metaInfResources) collection[i++]=resource; context.setBaseResource(new ResourceCollection(collection)); } }
@Override public void customize(Server server) { Handler[] childHandlersByClass = server.getChildHandlersByClass(WebAppContext.class); final WebAppContext webAppContext = (WebAppContext) childHandlersByClass[0]; try { ClassPathResource classPathResource = new ClassPathResource(this.jettyProperties.getClassPathResource()); webAppContext.setBaseResource(new ResourceCollection(classPathResource.getURI().toString())); AccessController.doPrivileged(new PrivilegedAction<Void>() { @Override public Void run() { webAppContext.setClassLoader(new URLClassLoader(new URL[0], this.getClass().getClassLoader())); return null; } }); LOGGER.info("Setting Jetty classLoader to " + this.jettyProperties.getClassPathResource() + " directory"); } catch (IOException exception) { LOGGER.error("Unable to configure Jetty classLoader to " + this.jettyProperties.getClassPathResource() + " directory " + exception.getMessage()); throw new RuntimeException(exception); } } }
@SuppressWarnings("unchecked") @Override public void configure(WebAppContext context) throws Exception { // taken from WebInfConfiguration List<Resource> resources = (List<Resource>) context.getAttribute(RESOURCE_URLS); if (resources != null) { if (resources.size() > 1) { Resource[] collection = new Resource[resources.size() + 1]; int i = 0; collection[i++] = context.getBaseResource(); for (Resource resource : resources) collection[i++] = resource; context.setBaseResource(new ResourceCollection(collection)); } else { context.setBaseResource(resources.get(0)); } } } }
@Override public void customize(Server server) { Handler[] childHandlersByClass = server.getChildHandlersByClass(WebAppContext.class); final WebAppContext webAppContext = (WebAppContext) childHandlersByClass[0]; try { ClassPathResource classPathResource = new ClassPathResource(this.jettyProperties.getClassPathResource()); webAppContext.setBaseResource(new ResourceCollection(classPathResource.getURI().toString())); AccessController.doPrivileged(new PrivilegedAction<Void>() { @Override public Void run() { webAppContext.setClassLoader(new URLClassLoader(new URL[0], this.getClass().getClassLoader())); return null; } }); log.info("Setting Jetty classLoader to {} directory", this.jettyProperties.getClassPathResource()); } catch (IOException exception) { log.error("Unable to configure Jetty classLoader to {} directory {}", this.jettyProperties.getClassPathResource(), exception.getMessage()); throw new RuntimeException(exception); } } }
@SuppressWarnings("unchecked") @Override public void configure(WebAppContext context) throws Exception { // taken from WebInfConfiguration List<Resource> resources = (List<Resource>) context.getAttribute(RESOURCE_URLS); if (resources != null) { if (resources.size() > 1) { Resource[] collection = new Resource[resources.size() + 1]; int i = 0; collection[i++] = context.getBaseResource(); for (Resource resource : resources) collection[i++] = resource; context.setBaseResource(new ResourceCollection(collection)); } else { context.setBaseResource(resources.get(0)); } } } }