Example usage for org.apache.wicket Page getMetaData

List of usage examples for org.apache.wicket Page getMetaData

Introduction

In this page you can find the example usage for org.apache.wicket Page getMetaData.

Prototype

public final <M extends Serializable> M getMetaData(final MetaDataKey<M> key) 

Source Link

Document

Gets metadata for this component using the given key.

Usage

From source file:com.github.javawithmarcus.wicket.cdi.AbstractCdiContainer.java

License:Apache License

/**
 * Retrieves a conversation id, if any, that is associated with a {@link Page} instance
 *
 * @param page page instance/*from   w  w  w.jav a 2  s . c om*/
 * @return conversation id, if any
 */
public String getConversationMarker(Page page) {
    return page.getMetaData(ConversationIdMetaKey.INSTANCE);
}

From source file:com.github.javawithmarcus.wicket.cdi.ConversationPropagator.java

License:Apache License

@Override
public void onRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler) {
    Conversation conversation = getConversation();
    logger.debug("In onRequestHandlerResolved id = {}", conversation.getId());
    String cid = cycle.getRequest().getRequestParameters().getParameterValue(CID_ATTR).toString();
    Page page = getPage(handler);

    if (page == null) {
        return;//  w ww  . j  av  a  2s.c o  m
    }

    if (cid == null) {
        cid = page.getMetaData(CID_KEY);
    }

    if (cid != null && !conversation.isTransient() && !Objects.isEqual(conversation.getId(), cid)) {
        logger.info("Conversation {} has expired for {}", cid, page);
        throw new ConversationExpiredException(null, cid, page, handler);
    }

    activateConversationIfNeeded(page, cycle, handler, cid);
}

From source file:org.odlabs.wiquery.core.commons.WiQueryCoreHeaderContributor.java

License:Open Source License

private void renderResponse(final IHeaderResponse response) {
    Page page = RequestCycle.get().getResponsePage();
    Boolean rendered;//  w w w. j  a v  a  2s.  co  m
    if (page == null) {
        rendered = RequestCycle.get().getMetaData(WIQUERY_KEY);
    } else {
        Long renderTime = page.getMetaData(WIQUERY_PAGE_KEY);
        rendered = renderTime != null && renderTime.equals(RequestCycle.get().getStartTime());
        page.setMetaData(WIQUERY_PAGE_KEY, RequestCycle.get().getStartTime());
    }
    RequestCycle.get().setMetaData(WIQUERY_KEY, Boolean.TRUE);
    if (rendered == null || !rendered) {
        WiQuerySettings settings = WiQuerySettings.get();

        final List<WiQueryPluginRenderingListener> pluginRenderingListeners = getRenderingListeners(settings);

        WiQueryPluginCollector visitor = new WiQueryPluginCollector();
        if (page != null) {
            page.visitChildren(visitor);
            visitor.component(page);
        }

        WiQueryHeaderResponse wiQueryHeaderResponse;
        IHeaderResponse headerResponse;
        if (settings.isEnableResourcesMerging() && page != null) {
            wiQueryHeaderResponse = page.getMetaData(WIQUERY_MERGER);

            if (wiQueryHeaderResponse == null) {
                wiQueryHeaderResponse = new WiQueryHeaderResponse();
                page.setMetaData(WIQUERY_MERGER, wiQueryHeaderResponse);
            }

            wiQueryHeaderResponse.setIHeaderResponse(response); // Preserved already used
            // references
            headerResponse = wiQueryHeaderResponse;

        } else {
            wiQueryHeaderResponse = null;
            headerResponse = response;
        }

        WiQueryResourceManager manager = new WiQueryResourceManager();

        JsStatement jsStatement = new JsStatement();
        for (IWiQueryPlugin plugin : visitor.getPlugins()) {
            JsStatement tempStatement = plugin.statement();

            if (tempStatement != null) {
                jsStatement.append("\t" + tempStatement.render() + "\n");
            }

            // calling listeners to compute specific stuff
            for (WiQueryPluginRenderingListener listener : pluginRenderingListeners) {
                listener.onRender(plugin, manager, headerResponse);
            }

            plugin.contribute(manager);
        }

        initializeResourceManager(headerResponse, manager);

        mergeResources(response, settings, wiQueryHeaderResponse);

        JsQuery jsq = new JsQuery();
        jsq.setStatement(jsStatement);
        jsq.renderHead(response, RequestCycle.get().getRequestTarget());
    }
}

From source file:org.odlabs.wiquery.core.commons.WiQueryCoreHeaderContributor.java

License:Open Source License

private void renderAjaxResponse(IHeaderResponse response, AjaxRequestTarget ajaxRequestTarget) {
    WiQuerySettings settings = WiQuerySettings.get();

    final List<WiQueryPluginRenderingListener> pluginRenderingListeners = getRenderingListeners(settings);

    WiQueryHeaderResponse wiQueryHeaderResponse;
    IHeaderResponse headerResponse;//  www .  j  a v  a  2 s .com
    if (settings.isEnableResourcesMerging()) {
        Page page = RequestCycle.get().getResponsePage();

        if (page == null || page.getMetaData(WIQUERY_MERGER) == null) {
            wiQueryHeaderResponse = null;
            headerResponse = response;

        } else {
            wiQueryHeaderResponse = page.getMetaData(WIQUERY_MERGER);
            wiQueryHeaderResponse.setIHeaderResponse(response); // Preserved already used
            // references
            headerResponse = wiQueryHeaderResponse;
        }

    } else {
        wiQueryHeaderResponse = null;
        headerResponse = response;
    }

    WiQueryResourceManager manager = new WiQueryResourceManager();

    if (owner.determineVisibility()) {
        if (owner instanceof IWiQueryPlugin) {
            renderPlugin(response, ajaxRequestTarget, (IWiQueryPlugin) owner, pluginRenderingListeners, manager,
                    headerResponse);
        }
        for (IBehavior behavior : owner.getBehaviors()) {
            if (behavior instanceof IWiQueryPlugin && behavior.isEnabled(owner)) {
                renderPlugin(response, ajaxRequestTarget, (IWiQueryPlugin) behavior, pluginRenderingListeners,
                        manager, headerResponse);
            }
        }
    }

    initializeResourceManager(headerResponse, manager);

    mergeResources(response, settings, wiQueryHeaderResponse);
}