use of org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler in project wicket by apache.
the class CryptoMapperTest method resourceReferenceWithModifiedSegments.
/**
* Relative ResourceReferences, WICKET-3514
*/
@Test
public void resourceReferenceWithModifiedSegments() {
PackageResourceReference resource = new PackageResourceReference(getClass(), "crypt/crypt.txt");
Url url = mapper.mapHandler(new ResourceReferenceRequestHandler(resource));
url.getSegments().remove(url.getSegments().size() - 1);
url.getSegments().add("modified-crypt.txt");
Request request = getRequest(url);
IRequestHandler requestHandler = mapper.mapRequest(request);
assertNotNull(requestHandler);
requestHandler = unwrapRequestHandlerDelegate(requestHandler);
assertThat(requestHandler, instanceOf(ResourceReferenceRequestHandler.class));
ResourceReferenceRequestHandler handler = (ResourceReferenceRequestHandler) requestHandler;
assertEquals(getClass(), handler.getResourceReference().getScope());
assertEquals("crypt/modified-crypt.txt", handler.getResourceReference().getName());
}
use of org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler in project wicket by apache.
the class UrlResourceReferenceMapper method mapHandler.
@Override
public Url mapHandler(IRequestHandler requestHandler) {
Url url = null;
if (requestHandler instanceof ResourceReferenceRequestHandler) {
ResourceReferenceRequestHandler resourceReferenceRequestHandler = (ResourceReferenceRequestHandler) requestHandler;
ResourceReference resourceReference = resourceReferenceRequestHandler.getResourceReference();
while (resourceReference instanceof ResourceBundleReference) {
// unwrap the bundle to render the url for the actual reference
resourceReference = ((ResourceBundleReference) resourceReference).getBundleReference();
}
if (resourceReference instanceof UrlResourceReference) {
UrlResourceReference urlResourceReference = (UrlResourceReference) resourceReference;
url = urlResourceReference.getUrl();
}
}
return url;
}
use of org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler in project wicket by apache.
the class ConversationPropagator method onUrlMapped.
@Override
public void onUrlMapped(RequestCycle cycle, IRequestHandler handler, Url url) {
// no need to propagate the conversation to packaged resources, they should never change
if (handler instanceof ResourceReferenceRequestHandler) {
if (((ResourceReferenceRequestHandler) handler).getResourceReference() instanceof PackageResourceReference) {
return;
}
}
Conversation conversation = getConversation(cycle);
if (conversation == null || conversation.isTransient()) {
return;
}
if (propagation.propagatesViaParameters(handler)) {
// propagate cid to bookmarkable pages via urls
logger.debug("Propagating non-transient conversation {} via url", conversation.getId());
url.setQueryParameter(CID, conversation.getId());
}
}
use of org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler in project wicket by apache.
the class RequestCycleUrlForTest method urlForResourceReference.
/**
* ResourceReference with IStaticCacheableResource should not have the jsessionid encoded in the url
*
* @throws Exception
*/
@Test
public void urlForResourceReference() throws Exception {
final IStaticCacheableResource resource = mock(IStaticCacheableResource.class);
ResourceReference reference = new ResourceReference("dummy") {
@Override
public IResource getResource() {
return resource;
}
};
ResourceReferenceRequestHandler handler = new ResourceReferenceRequestHandler(reference);
CharSequence url = requestCycle.urlFor(handler);
assertEquals("./" + RES_REF_URL, url);
}
use of org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler in project wicket by apache.
the class ContextRelativeResourceCachingTest method mapHandler.
/**
*/
@Test
public void mapHandler() {
ContextRelativeResource resource = new ContextRelativeResource("/style.css");
init(resource, "/test/resource");
Request request = createRequest("test/resource-version-123?bla=4567");
final IRequestHandler handler = tester.getApplication().getRootRequestMapper().mapRequest(request);
assertThat(handler, instanceOf(ResourceReferenceRequestHandler.class));
assertEquals(((ResourceReferenceRequestHandler) handler).getResource(), resource);
}
Aggregations