Examples of MenuRendererSelector


Examples of com.volantis.mcs.protocols.menu.renderer.MenuRendererSelector

        // Overriding this method to provide more specific tests of the
        // functionality provided by the OpenwaveMenuRendererSelector

        // Get the selector
        MenuRendererSelector selector = getTestMenuRendererSelector();

        // Not checking for null as this protocol explicitly supports menu
        // rendering - so a null here would be a test failure anyway.

        // Set styles to force Openwave
        ConcreteElementDetails elementDetails = new ConcreteElementDetails();

        elementDetails.setStyles(StylesBuilder.getCompleteStyles(
                "mcs-menu-link-style: numeric-shortcut"));

        // Create a test menu
        ConcreteMenu testMenu = new ConcreteMenu(elementDetails);

        // Test renderer returned
        MenuRenderer renderer = selector.selectMenuRenderer(testMenu);

        // Check the renderer exists.  JavaDoc on MenuRendererSelector
        // says it may not be null.
        assertNotNull("Should be a renderer here (1)", renderer);

        // Check appropriate renderer returned
        assertTrue("Wrong renderer returned (1)",
                   renderer instanceof OpenwaveMenuRenderer);

        // Set styles to force WML
        elementDetails = new ConcreteElementDetails();
        elementDetails.setStyles(StylesBuilder.getCompleteStyles(
                "mcs-menu-link-style: default"));

        // Create a test menu
        testMenu = new ConcreteMenu(elementDetails);

        // Test renderer returned
        renderer = selector.selectMenuRenderer(testMenu);

        // Check the renderer exists.  JavaDoc on MenuRendererSelector
        // says it may not be null.
        assertNotNull("Should be a renderer here (2)", renderer);
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.renderer.MenuRendererSelector

                        rendererContext, outputLocator, customisation);

        MenuModule module = new OpenwaveMenuModule(
                rendererContext, rendererFactory,
                new DefaultMenuModule(rendererContext, rendererFactory));
        MenuRendererSelector selector = module.getMenuRendererSelector();

        // Create the menu.
        MenuModelBuilder builder = new ConcreteMenuModelBuilder();
        builder.startMenu();

        // Set up style properties to use OpenWave menu renderer.
        builder.setElementDetails("menu", null,
                StylesBuilder.getCompleteStyles(
                        "mcs-menu-link-style: numeric-shortcut"));

        // Target it at a specific pane.
        DOMOutputBuffer buffer;

        builder.setPane(MENU_PANE);

        // Create the first menu item explicitly targeted at a different pane.
        builder.startMenuItem();

        // Set the style.
        builder.setElementDetails("menuitem", null,
                StylesBuilder.getInitialValueStyles());

        // Set the href.
        builder.setHref(new LiteralLinkAssetReference("href1.xml"));

        // Set the pane.
        builder.setPane(ITEM1_PANE);

        // Create a plain text label.
        builder.startLabel();
        builder.startText();

        // Set the text.
        buffer = new TestDOMOutputBuffer();
        buffer.writeText("item 1");
        builder.setText(buffer);

        builder.endText();
        builder.endLabel();

        builder.endMenuItem();

        // Create the second menu item explicitly targeted at a different pane.
        builder.startMenuItem();

        // Set the style.
        builder.setElementDetails("menuitem", null,
                StylesBuilder.getInitialValueStyles());

        // Set the href.
        builder.setHref(new LiteralLinkAssetReference("href2.xml"));

        // Set the pane.
        builder.setPane(ITEM2_PANE);

        // Create a plain text label.
        builder.startLabel();
        builder.startText();

        // Set the text.
        buffer = new TestDOMOutputBuffer();
        buffer.writeText("item 2");
        builder.setText(buffer);

        builder.endText();
        builder.endLabel();

        builder.endMenuItem();

        builder.endMenu();

        Menu menu = builder.getCompletedMenuModel();

        // Select the renderer to use for this menu.
        MenuRenderer renderer = selector.selectMenuRenderer(menu);

        // Make sure that it is of the appropriate type.
        assertTrue("Incorrect renderer returned: " + renderer,
                   renderer instanceof OpenwaveMenuRenderer);
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.renderer.MenuRendererSelector

    protected TestDOMMenuModule createMenuModule() {
        return new TestDOMMenuModule();
    }

    public void testConstruction() throws Exception {
        MenuRendererSelector selector = null;
        try {
            selector = new DefaultMenuRendererSelector(null, null, null, null);
            fail("Construction should have caused an exception (1)");
        } catch (IllegalArgumentException iae) {
            // Test succeeded if we get here as the exception was thrown :-)
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.renderer.MenuRendererSelector

        assertNotNull("Construction should have succeeded", selector);
    }

    public void testSelectMenuRenderer() throws Exception {

        final MenuRendererSelector selector = getTestMenuRendererSelector();
        MenuRenderer renderer =
                selector.selectMenuRenderer(
                        MenuModelHelper.createMenu(true, "Test Menu"));

        assertNotNull("Selected renderer must not be null", renderer);

        // Check the type is as it should be
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.renderer.MenuRendererSelector

     * This tests the creation of a menu renderer selector
     */
    public void testGetMenuRendererSelector() throws Exception {

        // Get the selector from the protocol
        MenuRendererSelector selector = module.getMenuRendererSelector();

/*
todo add an additional test in for this.
        // Check for null since some protocols don't support this and null
        // is a legal return value
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.renderer.MenuRendererSelector

            // process it and output against specific renderer and markup.
            if (menu != null) {
                // Obtain a suitable renderer
                MenuRendererSelectorLocator rendererLocator =
                        pageContext.getRendererLocator();
                MenuRendererSelector rendererSelector =
                        rendererLocator.getMenuRendererSelector(pageContext);
                if (rendererSelector == null) {
                    logger.error("selector-rendering-error", "menu");
                    throw new PAPIException(exceptionLocalizer.format(
                            "missing-renderer-selector", "menu"));
                }

                MenuRenderer renderer =
                        rendererSelector.selectMenuRenderer(menu);

                final ShortcutProperties shortcutProperties =
                        menu.getShortcutProperties();
                if (null != shortcutProperties) {
                    // If the device cannot support mixed content in the body
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.