package util.jsf;
import java.net.URL;
import javax.faces.view.facelets.ResourceResolver;
/** Allows to share jsf files (placing them in shared jar)
* between several applications (war or ear)
*/
public class CustomResourceResolver extends ResourceResolver {
private ResourceResolver parent;
private String basePath;
public CustomResourceResolver(ResourceResolver parent) {
this.parent = parent;
this.basePath = "/META-INF/resources"; // TODO: Make configureable?
}
@Override
public URL resolveUrl(String path) {
// Resolves from WAR
URL url = parent.resolveUrl(path);
if (url == null) {
// Resolves from JAR
url = getClass().getResource(basePath + path);
}
return url;
}
}