Search in sources :

Example 16 with Application

use of org.apache.wicket.Application in project wicket by apache.

the class WebSocketMessageBroadcastHandler method respond.

@Override
public void respond(IRequestCycle requestCycle) {
    final Application application = Application.get();
    final Runnable action = new Runnable() {

        @Override
        public void run() {
            if (pageId != AbstractWebSocketProcessor.NO_PAGE_ID) {
                Page page = (Page) Session.get().getPageManager().getPage(pageId);
                page.send(application, Broadcast.BREADTH, payload);
            } else {
                ResourceReference reference = new SharedResourceReference(resourceName);
                IResource resource = reference.getResource();
                if (resource instanceof WebSocketResource) {
                    WebSocketResource wsResource = (WebSocketResource) resource;
                    wsResource.onPayload(payload);
                } else {
                    throw new IllegalStateException(String.format("Shared resource with name '%s' is not a %s but %s", resourceName, WebSocketResource.class.getSimpleName(), Classes.name(resource.getClass())));
                }
            }
        }
    };
    WebSocketSettings webSocketSettings = WebSocketSettings.Holder.get(application);
    webSocketSettings.getSendPayloadExecutor().run(action);
}
Also used : SharedResourceReference(org.apache.wicket.request.resource.SharedResourceReference) Page(org.apache.wicket.Page) WebSocketSettings(org.apache.wicket.protocol.ws.WebSocketSettings) SharedResourceReference(org.apache.wicket.request.resource.SharedResourceReference) ResourceReference(org.apache.wicket.request.resource.ResourceReference) Application(org.apache.wicket.Application) IResource(org.apache.wicket.request.resource.IResource)

Example 17 with Application

use of org.apache.wicket.Application in project wicket by apache.

the class TestWebSocketProcessor method createRequest.

/**
 * Creates an HttpServletRequest that is needed by AbstractWebSocketProcessor
 *
 * @return a mock http request
 */
private static MockHttpServletRequest createRequest(final WicketTester wicketTester) {
    Application application = wicketTester.getApplication();
    HttpSession httpSession = wicketTester.getHttpSession();
    MockHttpServletRequest request = new MockHttpServletRequest(application, httpSession, null);
    request.addParameter(WebRequest.PARAM_AJAX_BASE_URL, ".");
    return request;
}
Also used : HttpSession(javax.servlet.http.HttpSession) MockHttpServletRequest(org.apache.wicket.protocol.http.mock.MockHttpServletRequest) Application(org.apache.wicket.Application) WebApplication(org.apache.wicket.protocol.http.WebApplication)

Example 18 with Application

use of org.apache.wicket.Application in project openmeetings by apache.

the class WebSocketHelper method sendClient.

private static void sendClient(IWsClient client, Consumer<IWebSocketConnection> wsc) {
    Application app = (Application) getApp();
    WebSocketSettings settings = WebSocketSettings.Holder.get(app);
    IWebSocketConnectionRegistry reg = settings.getConnectionRegistry();
    // FIXME TODO
    Executor executor = settings.getWebSocketPushMessageExecutor();
    final IWebSocketConnection wc = reg.getConnection(app, client.getSessionId(), new PageIdKey(client.getPageId()));
    if (wc != null && wc.isOpen()) {
        executor.run(() -> {
            wsc.accept(wc);
        });
    }
}
Also used : Executor(org.apache.wicket.protocol.ws.concurrent.Executor) PageIdKey(org.apache.wicket.protocol.ws.api.registry.PageIdKey) WebSocketSettings(org.apache.wicket.protocol.ws.WebSocketSettings) IWebSocketConnection(org.apache.wicket.protocol.ws.api.IWebSocketConnection) IWebSocketConnectionRegistry(org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry) IApplication(org.apache.openmeetings.IApplication) Application(org.apache.wicket.Application)

Example 19 with Application

use of org.apache.wicket.Application in project openmeetings by apache.

the class ApplicationHelper method ensureApplication.

public static IApplication ensureApplication(Long langId) {
    IApplication a = ensureApplication();
    if (ThreadContext.getRequestCycle() == null) {
        ServletWebRequest req = new ServletWebRequest(new MockHttpServletRequest((Application) a, new MockHttpSession(a.getServletContext()), a.getServletContext()), "");
        RequestCycleContext rctx = new RequestCycleContext(req, new MockWebResponse(), a.getRootRequestMapper(), a.getExceptionMapperProvider().get());
        ThreadContext.setRequestCycle(new RequestCycle(rctx));
    }
    if (ThreadContext.getSession() == null) {
        WebSession s = WebSession.get();
        if (langId > 0) {
            ((IWebSession) s).setLanguage(langId);
        }
    }
    return a;
}
Also used : MockWebResponse(org.apache.wicket.mock.MockWebResponse) IApplication(org.apache.openmeetings.IApplication) RequestCycleContext(org.apache.wicket.request.cycle.RequestCycleContext) IWebSession(org.apache.openmeetings.IWebSession) WebSession(org.apache.wicket.protocol.http.WebSession) IWebSession(org.apache.openmeetings.IWebSession) MockHttpServletRequest(org.apache.wicket.protocol.http.mock.MockHttpServletRequest) RequestCycle(org.apache.wicket.request.cycle.RequestCycle) MockHttpSession(org.apache.wicket.protocol.http.mock.MockHttpSession) ServletWebRequest(org.apache.wicket.protocol.http.servlet.ServletWebRequest) IApplication(org.apache.openmeetings.IApplication) Application(org.apache.wicket.Application) WebApplication(org.apache.wicket.protocol.http.WebApplication)

Example 20 with Application

use of org.apache.wicket.Application in project gitblit by gitblit.

the class GitBlitDiffFormatter method getLimit.

/**
 * Determines a limit to use for HTML diff output.
 *
 * @param key
 *            to use to read the value from the GitBlit settings, if available.
 * @param minimum
 *            minimum value to enforce
 * @param maximum
 *            maximum (and default) value to enforce
 * @return the limit
 */
private int getLimit(String key, int minimum, int maximum) {
    if (Application.exists()) {
        Application application = Application.get();
        if (application instanceof GitBlitWebApp) {
            GitBlitWebApp webApp = (GitBlitWebApp) application;
            int configValue = webApp.settings().getInteger(key, maximum);
            if (configValue < minimum) {
                return minimum;
            } else if (configValue < maximum) {
                return configValue;
            }
        }
    }
    return maximum;
}
Also used : GitBlitWebApp(com.gitblit.wicket.GitBlitWebApp) Application(org.apache.wicket.Application)

Aggregations

Application (org.apache.wicket.Application)21 WicketRuntimeException (org.apache.wicket.WicketRuntimeException)5 WebApplication (org.apache.wicket.protocol.http.WebApplication)5 IOException (java.io.IOException)4 RequestCycle (org.apache.wicket.request.cycle.RequestCycle)4 MockApplication (org.apache.wicket.mock.MockApplication)3 MockHttpServletRequest (org.apache.wicket.protocol.http.mock.MockHttpServletRequest)3 FilterChain (javax.servlet.FilterChain)2 ServletException (javax.servlet.ServletException)2 ServletRequest (javax.servlet.ServletRequest)2 ServletResponse (javax.servlet.ServletResponse)2 HttpServletRequest (javax.servlet.http.HttpServletRequest)2 HttpServletResponse (javax.servlet.http.HttpServletResponse)2 HttpSession (javax.servlet.http.HttpSession)2 IApplication (org.apache.openmeetings.IApplication)2 Page (org.apache.wicket.Page)2 WebSocketSettings (org.apache.wicket.protocol.ws.WebSocketSettings)2 IKey (org.apache.wicket.protocol.ws.api.registry.IKey)2 IRequestHandler (org.apache.wicket.request.IRequestHandler)2 WebResponse (org.apache.wicket.request.http.WebResponse)2