Example usage for org.apache.wicket Page setMetaData

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

Introduction

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

Prototype

public final <M extends Serializable> Component setMetaData(final MetaDataKey<M> key, final M object) 

Source Link

Document

Sets the metadata for this component using the given key.

Usage

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

License:Apache License

/**
 * Removes conversation marker from the page instance which prevents the conversation from
 * propagating to the page. This method should usually be called from page's {@code onDetach()}
 * method./*from  w ww. j  ava  2  s . com*/
 *
 * @param page
 */
public void removeConversationMarker(Page page) {
    Args.notNull(page, "page");

    page.setMetaData(ConversationIdMetaKey.INSTANCE, null);
    page.getPageParameters().remove(ConversationPropagator.CID_ATTR);
}

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

License:Apache License

protected void setConversationOnPage(Page page) {
    Conversation conversation = getConversation();
    if (conversation.isTransient()) {
        clearConversationOnPage(page);/* w  ww  .j a  v  a  2  s. co m*/
    } else {

        logger.debug("Propagating non-transient conversation {} via meta of page instance {}",
                conversation.getId(), page);

        page.setMetaData(CID_KEY, conversation.getId());
    }
}

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

License:Apache License

protected void clearConversationOnPage(Page page) {
    Conversation conversation = getConversation();
    logger.debug("Detaching transient conversation {} via meta of page instance {}", conversation.getId(),
            page);//from w  w w .j a  v  a  2s. co m

    page.setMetaData(CID_KEY, null);
}

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;/*from w w  w . ja va  2s  .c  om*/
    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());
    }
}