use of org.apache.wicket.core.util.resource.ClassPathResourceFinder in project wicket by apache.
the class CachingResourceStreamLocatorTest method strictMatchingDoesntInvalidateNonStrictMatching.
/**
* Tests strict before non-strict matching with a specific locale.
*/
@Test
public void strictMatchingDoesntInvalidateNonStrictMatching() {
IResourceStreamLocator resourceStreamLocator = new ResourceStreamLocator(new ClassPathResourceFinder(""));
CachingResourceStreamLocator cachingLocator = new CachingResourceStreamLocator(resourceStreamLocator);
String style = null;
String variation = null;
Locale locale = new Locale("nl", "NL");
String extension = null;
String filename = "org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js";
// a strict lookup of a localized resource should not find the non-localized resource
IResourceStream strictLocate = cachingLocator.locate(AbstractDefaultAjaxBehavior.class, filename, style, variation, locale, extension, true);
assertThat(strictLocate, is(nullValue()));
// but a non-strict lookup with a locale should fall back to the non-localized resource
IResourceStream nonStrictLocate = cachingLocator.locate(AbstractDefaultAjaxBehavior.class, filename, style, variation, locale, extension, false);
assertThat(nonStrictLocate, is(not(nullValue())));
}
use of org.apache.wicket.core.util.resource.ClassPathResourceFinder in project wicket by apache.
the class WebApplication method internalInit.
/**
* THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL IT.
*
* Internal initialization. First determine the deployment mode. First check the system property
* -Dwicket.configuration. If it does not exist check the servlet init parameter (
* <code><init-param><param-name>configuration</param-name></code>). If not
* found check the servlet context init parameter
* <code><context-param><param-name6gt;configuration</param-name></code>). If the
* parameter is "development" (which is default), settings appropriate for development are set.
* If it's "deployment" , deployment settings are used. If development is specified and a
* "sourceFolder" init parameter is also set, then resources in that folder will be polled for
* changes.
*/
@Override
protected void internalInit() {
super.internalInit();
getResourceSettings().getResourceFinders().add(new WebApplicationPath(getServletContext(), ""));
getResourceSettings().getResourceFinders().add(new ClassPathResourceFinder(META_INF_RESOURCES));
// Set default error pages for HTML markup
getApplicationSettings().setPageExpiredErrorPage(PageExpiredErrorPage.class);
getApplicationSettings().setInternalErrorPage(InternalErrorPage.class);
getApplicationSettings().setAccessDeniedPage(AccessDeniedPage.class);
// Add resolver for automatically resolving HTML links
getPageSettings().addComponentResolver(new AutoLinkResolver());
getPageSettings().addComponentResolver(new AutoLabelResolver());
getPageSettings().addComponentResolver(new AutoLabelTextResolver());
getResourceSettings().setFileCleaner(new FileCleaner());
if (getConfigurationType() == RuntimeConfigurationType.DEVELOPMENT) {
// Add optional sourceFolder for resources.
String resourceFolder = getInitParameter("sourceFolder");
if (resourceFolder != null) {
getResourceSettings().getResourceFinders().add(new Path(resourceFolder));
}
}
setPageRendererProvider(WebPageRenderer::new);
setSessionStoreProvider(HttpSessionStore::new);
setAjaxRequestTargetProvider(AjaxRequestHandler::new);
getAjaxRequestTargetListeners().add(new AjaxEnclosureListener());
// Configure the app.
configure();
}
use of org.apache.wicket.core.util.resource.ClassPathResourceFinder in project wicket by apache.
the class ResourceStreamLocatorTest method locateInClasspath.
/**
* Test locating a resource.
*/
@Test
public void locateInClasspath() {
// Execute without source path
executeMultiple(new ClassPathResourceFinder(""));
// Determine source path
IResourceStreamLocator locator = new ResourceStreamLocator();
IResourceStream resource = locator.locate(getClass(), this.getClass().getName().replace('.', '/'), null, null, null, "txt", false);
String path = getPath(resource);
path = Strings.beforeLastPathComponent(path, '/') + "/sourcePath";
}
use of org.apache.wicket.core.util.resource.ClassPathResourceFinder in project wicket by apache.
the class CachingResourceStreamLocatorTest method strictBeforeNonStrictMatchingWithoutLocaleDoesntResultInInvalidNonStrictMatch.
/**
* Tests strict before non-strict matching without a specific locale.
*/
@Test
public void strictBeforeNonStrictMatchingWithoutLocaleDoesntResultInInvalidNonStrictMatch() {
IResourceStreamLocator resourceStreamLocator = new ResourceStreamLocator(new ClassPathResourceFinder(""));
CachingResourceStreamLocator cachingLocator = new CachingResourceStreamLocator(resourceStreamLocator);
String style = null;
String variation = null;
Locale locale = null;
String extension = null;
String filename = "org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js";
// a strict lookup for the resource with no specific locale results in a match
IResourceStream strictLocate = cachingLocator.locate(AbstractDefaultAjaxBehavior.class, filename, style, variation, locale, extension, true);
assertThat(strictLocate, is(not(nullValue())));
// followed by a non-strict search for the same resource also finds it
IResourceStream nonStrictLocate = cachingLocator.locate(AbstractDefaultAjaxBehavior.class, filename, style, variation, locale, extension, false);
assertThat(nonStrictLocate, is(not(nullValue())));
}
use of org.apache.wicket.core.util.resource.ClassPathResourceFinder in project wicket by apache.
the class CachingResourceStreamLocatorTest method nonStrictMatchingDoesntResultInInvalidStrictMatch.
/**
* Tests non-strict before strict matching with a specific locale.
*/
@Test
public void nonStrictMatchingDoesntResultInInvalidStrictMatch() {
IResourceStreamLocator resourceStreamLocator = new ResourceStreamLocator(new ClassPathResourceFinder(""));
CachingResourceStreamLocator cachingLocator = new CachingResourceStreamLocator(resourceStreamLocator);
String style = null;
String variation = null;
Locale locale = new Locale("nl", "NL");
String extension = null;
String filename = "org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js";
// a non-strict lookup with a specific locale should find the non-localized resource
IResourceStream nonStrictLocate = cachingLocator.locate(AbstractDefaultAjaxBehavior.class, filename, style, variation, locale, extension, false);
assertThat(nonStrictLocate, is(not(nullValue())));
// but a strict lookup with a specific locale should not fall back to the non-localized
// resource
IResourceStream strictLocate = cachingLocator.locate(AbstractDefaultAjaxBehavior.class, filename, style, variation, locale, extension, true);
assertThat(strictLocate, is(nullValue()));
}
Aggregations