Examples of MenuModelBuilder


Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

    private Menu createSimpleMenu(String title, String href, String text)
            throws BuilderException {
        try {
            // Build a very simple menu with a single item which contains a
            // label with some text.
            MenuModelBuilder builder = new ConcreteMenuModelBuilder();
   
            builder.startMenu();
   
            builder.startMenuItem();
            builder.setTitle(title);
            builder.setHref(new LiteralLinkAssetReference(href));

            builder.startLabel();
   
            builder.startText();
            DOMOutputBuffer dom = new TestDOMOutputBuffer();
            dom.writeText(text);
            builder.setText(dom);
            builder.endText();
           
            builder.endLabel();
   
            builder.endMenuItem();
           
            builder.endMenu();
           
            return builder.getCompletedMenuModel();
        } catch (MissingResourceException e) {
            // work around bug in junit?
            throw new BuilderException(e);
        }
    }
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

                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.
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

            StyleKeyword imageStyle, StyleKeyword textStyle, StyleKeyword orderStyle,
            String menuTitle, String itemTitle, String href, String text,
            String imageComponent) throws BuilderException {
        // Build a very simple menu with a single item which contains a label
        // with some text and an icon.
        MenuModelBuilder builder = new ConcreteMenuModelBuilder();
        builder.startMenu();

        Styles menuStyles = StylesBuilder.getCompleteStyles(
                (imageStyle == null ? "" :
                "mcs-menu-image-style: " + imageStyle + "; ") +
                (textStyle == null ? "" :
                "mcs-menu-text-style: " + textStyle + "; ") +
                (orderStyle == null ? "" :
                "mcs-menu-item-order: " + orderStyle + "; "));

        builder.setElementDetails("menu", null, menuStyles);
        builder.setTitle(menuTitle);

        builder.startMenuItem();
        builder.setTitle(itemTitle);
        builder.setHref(new LiteralLinkAssetReference(href));

        builder.startLabel();

        builder.startText();
        DOMOutputBuffer dom = new TestDOMOutputBuffer();
        dom.writeText(text);
        builder.setText(dom);
        builder.endText();

        builder.startIcon();
        // this is required or we crash trying to extract the element name in
        // the renderer
        builder.setElementDetails("menu-icon", null,
                StylesBuilder.getInitialValueStyles());
        builder.setNormalImageURL(new TestNormalImageAssetReference(
                imageComponent));
        builder.endIcon();

        builder.endLabel();

        builder.endMenuItem();

        builder.endMenu();

        return builder.getCompletedMenuModel();
    }
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

     * @return a valid menu with the specified style property values
     */
    protected Menu createMenu(Styles menuStyles)
        throws Exception {

        MenuModelBuilder builder = new ConcreteMenuModelBuilder();
        builder.startMenu();
        builder.setElementDetails("menu", "menu1", menuStyles);
        builder.startMenuItem();
        builder.setElementDetails("menuitem", "menuitem1",
                StylesBuilder.getInitialValueStyles());
        builder.startLabel();
        builder.startIcon();
        builder.setNormalImageURL(new LiteralImageAssetReference("normal.gif"));
        builder.setOverImageURL(new LiteralImageAssetReference("over.gif"));
        builder.endIcon();
        builder.startText();

        OutputBuffer buffer = new TestDOMOutputBuffer();
        buffer.writeText("text");

        builder.setText(buffer);
        builder.endText();
        builder.endLabel();
        builder.setHref(new LiteralLinkAssetReference("href.xml"));
        builder.endMenuItem();
        builder.endMenu();

        return builder.getCompletedMenuModel();
    }
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

     * and sub-menus.
     */
    public void testGetMenuBufferMainMenuAuto() throws Exception {
        MenuBufferLocator locator = createMenuBufferLocator();

        MenuModelBuilder builder = new ConcreteMenuModelBuilder();
        Menu menu;

        builder.startMenu();

        // Make the menu automatic allocate and ensure that the pane is
        // incompletely specified to ensure automatic iteration allocation
        builder.setElementDetails("menu", null,
                StylesBuilder.getCompleteStyles(
                        "mcs-menu-item-iterator-allocation: automatic"));

        builder.setPane(new FormatReference("pane",
                                            new NDimensionalIndex(
                                                    new int[]{1, 2, 0},
                                                    2)));

        createMenuItem(builder, "item1");
        createMenuItem(builder, "item2");
        createMenuGroup(builder);
        createMenuItem(builder, "item3",
                       new FormatReference("other",
                                           new NDimensionalIndex(
                                                   new int[]{0},
                                                   0)));

        builder.startMenu();
        createMenuItem(builder, "item4.1");
        builder.endMenu();

        menu = builder.endMenu();

        checkAllocations(
                menu,
                locator,
                new FormatReference[]{
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

     * containing menu items, groups and sub-menus.
     */
    public void testGetMenuBufferMainMenuFullySpec() throws Exception {
        MenuBufferLocator locator = createMenuBufferLocator();

        MenuModelBuilder builder = new ConcreteMenuModelBuilder();
        Menu menu;

        builder.startMenu();

        // Make the menu automatic allocate and ensure that the pane is
        // fully specified to ensure no automatic iteration allocation
        builder.setElementDetails("menu", null,
                StylesBuilder.getCompleteStyles(
                        "mcs-menu-item-iterator-allocation: automatic"));

        builder.setPane(new FormatReference("pane",
                                            new NDimensionalIndex(
                                                    new int[] {1, 2, 0})));

        createMenuItem(builder, "item1");
        createMenuItem(builder, "item2");
        createMenuGroup(builder);
        createMenuItem(builder, "item3",
                       new FormatReference("other",
                                           new NDimensionalIndex(
                                                   new int[] {0},
                                                   0)));

        builder.startMenu();
        createMenuItem(builder, "item4.1");
        builder.endMenu();

        menu = builder.endMenu();

        checkAllocations(
                menu,
                locator,
                new FormatReference[] {
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

     * style is "none") containing menu items, groups and sub-menus.
     */
    public void testGetMenuBufferMainMenuNoAuto() throws Exception {
        MenuBufferLocator locator = createMenuBufferLocator();

        MenuModelBuilder builder = new ConcreteMenuModelBuilder();
        Menu menu;

        builder.startMenu();

        // Make the menu manually allocate and ensure that the pane is
        // incompletely specified to ensure no automatic iteration allocation
        builder.setElementDetails("menu", null,
                StylesBuilder.getCompleteStyles(
                        "mcs-menu-item-iterator-allocation: none"));

        builder.setPane(new FormatReference("pane",
                                            new NDimensionalIndex(
                                                    new int[]{1, 2, 0},
                                                    2)));

        createMenuItem(builder, "item1");
        createMenuItem(builder, "item2");
        createMenuGroup(builder);
        createMenuItem(builder, "item3",
                       new FormatReference("other",
                                           new NDimensionalIndex(
                                                   new int[]{0},
                                                   0)));

        builder.startMenu();
        createMenuItem(builder, "item4.1");
        builder.endMenu();

        menu = builder.endMenu();

        checkAllocations(
                menu,
                locator,
                new FormatReference[]{
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

     * being auto iteration allocated with a sub-menu also being auto iterated.
     */
    public void testGetMenuBufferBothMainMenuAndSubMenuAuto() throws Exception {
        MenuBufferLocator locator = createMenuBufferLocator();

        MenuModelBuilder builder = new ConcreteMenuModelBuilder();
        Menu menu;

        builder.startMenu();

        // Make the menu automatic allocate and ensure that the pane is
        // incompletely specified to ensure automatic iteration allocation
        builder.setElementDetails("menu", null,
                StylesBuilder.getCompleteStyles(
                        "mcs-menu-item-iterator-allocation: automatic"));

        builder.setPane(new FormatReference("pane",
                                            new NDimensionalIndex(
                                                    new int[]{1, 2, 0},
                                                    2)));

        createMenuItem(builder, "item1");

        builder.startMenu();

        // Make this menu automatic allocate and set the pane as incompletely
        // specified to enable automatic iteration allocation
        builder.setElementDetails("submenu", null,
                StylesBuilder.getCompleteStyles(
                        "mcs-menu-item-iterator-allocation: automatic"));

        builder.setPane(new FormatReference("sub",
                                            new NDimensionalIndex(
                                                    new int[]{0, 0, 0},
                                                    0)));

        createMenuItem(builder, "item2.1");
        createMenuItem(builder, "item2.2");
        createMenuItem(builder, "item2.3",
                       fr("other", new int[]{3, 1, 0}));
        createMenuGroup(builder, new GroupBuilder() {
            public void build(MenuModelBuilder builder) throws Exception {
                createMenuItem(builder, "submenu group item1");
                createMenuItem(builder, "submenu group item2");
            }
        });
        builder.endMenu();

        menu = builder.endMenu();

        checkAllocations(
                menu,
                locator,
                new FormatReference[]{
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

     * format reference get the same menu buffer.
     */
    public void testGetMenuBufferConsistent() throws Exception {
        final MenuBufferLocator locator = createMenuBufferLocator();

        MenuModelBuilder builder = new ConcreteMenuModelBuilder();
        Menu menu;

        builder.startMenu();

        // Make the menu automatic allocate and ensure that the pane is
        // incompletely specified to ensure automatic iteration allocation
        builder.setElementDetails("menu", null,
                StylesBuilder.getCompleteStyles(
                        "mcs-menu-item-iterator-allocation: automatic"));

        builder.setPane(new FormatReference("pane",
                                            new NDimensionalIndex(
                                                    new int[]{1, 2, 0},
                                                    2)));

        createMenuItem(builder, "item1");

        builder.startMenu();

        createMenuItem(builder, "item2.1");
        createMenuItem(builder, "item2.2");

        builder.endMenu();

        menu = builder.endMenu();

        final Map buffers = new HashMap();

        MenuModelVisitor setupMapVisitor = new AbstractMenuModelHandler() {
            // javadoc inherited
View Full Code Here

Examples of com.volantis.mcs.protocols.menu.builder.MenuModelBuilder

             */
            protected void setUp(MarinerPageContext pageContext)
                    throws Exception {
                // Now set up an appropriate context within the Menu Model and
                // the page context
                MenuModelBuilder builder = pageContext.getMenuBuilder();
                VolantisProtocol protocol = pageContext.getProtocol();
                originalBuffer = protocol.getOutputBufferFactory().
                        createOutputBuffer();
                builder.startMenu();
                builder.setElementDetails("top", null,
                        StylesBuilder.getDeprecatedStyles());
                pageContext.pushOutputBuffer(originalBuffer);

                assertSame("current output buffer not as expected",
                           originalBuffer,
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.