use of org.apache.wicket.request.IRequestHandler in project wicket by apache.
the class ResourceMapperTest method invalidPathIsEmpty.
/**
* testInvalidPathIsEmpty()
*/
@Test
public void invalidPathIsEmpty() {
IRequestHandler requestHandler = mapper.mapRequest(createRequest(""));
assertNull(requestHandler);
}
use of org.apache.wicket.request.IRequestHandler in project wicket by apache.
the class ResourceMapperTest method invalidPathIsTooShort.
/**
* testInvalidPathIsTooShort()
*/
@Test
public void invalidPathIsTooShort() {
IRequestHandler requestHandler = mapper.mapRequest(createRequest("test"));
assertNull(requestHandler);
}
use of org.apache.wicket.request.IRequestHandler in project wicket by apache.
the class DefaultExceptionMapper method internalMap.
/**
* Maps exceptions to their corresponding {@link IRequestHandler}.
*
* @param e
* the current exception
* @return the {@link IRequestHandler} for the current exception
*/
private IRequestHandler internalMap(Exception e) {
final Application application = Application.get();
// check if we are processing an Ajax request and if we want to invoke the failure handler
if (isProcessingAjaxRequest()) {
switch(application.getExceptionSettings().getAjaxErrorHandlingStrategy()) {
case INVOKE_FAILURE_HANDLER:
return new ErrorCodeRequestHandler(500);
}
}
IRequestHandler handleExpectedExceptions = mapExpectedExceptions(e, application);
if (handleExpectedExceptions != null) {
return handleExpectedExceptions;
}
return mapUnexpectedExceptions(e, application);
}
use of org.apache.wicket.request.IRequestHandler in project wicket by apache.
the class RequestCycleListenerTest method basicOperations.
/**
* @throws Exception
*/
@Test
public void basicOperations() throws Exception {
IncrementingListener incrementingListener = new IncrementingListener();
Application.get().getRequestCycleListeners().add(incrementingListener);
RequestCycle cycle = newRequestCycle((RuntimeException) null);
incrementingListener.assertValues(0, 0, 0, 0, 0, 0);
assertValues(0, 0, 0);
cycle.processRequestAndDetach();
// 0 exceptions mapped
incrementingListener.assertValues(1, 1, 1, 1, 0, 1);
// 0 exceptions mapped
assertValues(0, 1, 1);
// TEST WITH TWO LISTENERS
cycle = newRequestCycle((RuntimeException) null);
cycle.getListeners().add(incrementingListener);
cycle.processRequestAndDetach();
// 0 exceptions mapped, all other 2 due to two listeners
incrementingListener.assertValues(2, 2, 2, 2, 0, 2);
// 0 exceptions mapped
assertValues(0, 1, 1);
// TEST WITH TWO LISTENERS AND AN EXCEPTION DURING RESPONSE
cycle = newRequestCycle(new RuntimeException("testing purposes only"));
cycle.getListeners().add(incrementingListener);
cycle.processRequestAndDetach();
// 0 executed
incrementingListener.assertValues(2, 2, 2, 0, 2, 2);
// 1 exception mapped, 0 responded
assertValues(1, 0, 1);
// TEST A REPLACE EXCEPTION DURING RESPONSE
IRequestHandler replacement = new IRequestHandler() {
@Override
public void respond(IRequestCycle requestCycle) {
responses++;
}
@Override
public void detach(IRequestCycle requestCycle) {
detaches++;
}
};
cycle = newRequestCycle(new ReplaceHandlerException(replacement, true));
cycle.scheduleRequestHandlerAfterCurrent(new IRequestHandler() {
@Override
public void respond(IRequestCycle requestCycle) {
throw new UnsupportedOperationException();
}
@Override
public void detach(IRequestCycle requestCycle) {
throw new UnsupportedOperationException();
}
});
cycle.processRequestAndDetach();
// 2 resolved, 1 executed, 0 exception mapped
incrementingListener.assertValues(1, 1, 2, 1, 0, 1);
// 0 exception mapped, 1 responded, 2 detached
assertValues(0, 1, 2);
// TEST A REPLACE EXCEPTION DURING RESPONSE
cycle = newRequestCycle(new ReplaceHandlerException(replacement, false));
cycle.scheduleRequestHandlerAfterCurrent(new IRequestHandler() {
@Override
public void respond(IRequestCycle requestCycle) {
responses++;
}
@Override
public void detach(IRequestCycle requestCycle) {
detaches++;
}
});
cycle.processRequestAndDetach();
// 2 resolved, 2 executed, 0 exception mapped
incrementingListener.assertValues(1, 1, 3, 2, 0, 1);
// 0 exception mapped, 2 responded, 3 detached
assertValues(0, 2, 3);
}
use of org.apache.wicket.request.IRequestHandler 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