⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layoutmanagerportlet.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                itsanewtab = true;                PortletTab tab = new PortletTab();                createColsListBox(event, req, tab.getPortletComponent());                comp = tab;            } else if (req.getParameter("newmenutab") != null) {                controlUI = "menu";                TextFieldBean nameTF = event.getTextFieldBean("nameTF");                nameTF.setValue(this.getLocalizedText(req, "LAYOUT_NEW_MENUTAB"));                itsanewtab = true;                PortletTab tab = new PortletTab();                createColsListBox(event, req, tab.getPortletComponent());                comp = tab;            }            if (itsanewtab) {                TextFieldBean labelTF = event.getTextFieldBean("labelTF");                labelTF.setValue("");                ActionSubmitBean moveLeftButton = event.getActionSubmitBean("moveLeftButton");                moveLeftButton.setDisabled(true);                ActionSubmitBean moveRightButton = event.getActionSubmitBean("moveRightButton");                moveRightButton.setDisabled(true);                req.setAttribute("isnewtab", "true");            }            ListBoxBean rolesLB = event.getListBoxBean("rolesLB");            rolesLB.clear();            ListBoxItemBean item = new ListBoxItemBean();            item.setValue(this.getLocalizedText(req, "LAYOUT_ROLE_NONE_REQUIRED"));            item.setName("NONE");            rolesLB.addBean(item);            List<PortletRole> roles = roleManagerService.getRoles();            for (PortletRole role : roles) {                item = new ListBoxItemBean();                item.setValue(role.getName());                item.setName(role.getName());                if ((comp != null) && (comp.getRequiredRole() != null)                        && (comp.getRequiredRole().equalsIgnoreCase(role.getName()))) item.setSelected(true);                rolesLB.addBean(item);            }            HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");            compHF.setName("compid");            compHF.setValue(compid);            req.setAttribute("portletComp", comp);            req.setAttribute("controlUI", controlUI);        }        StringBuffer pageBuffer = new StringBuffer();        PortletComponent comp = page.getPortletComponent();        log.debug("rendering the component");        comp.doRender(gsevent);        pageBuffer = comp.getBufferedOutput(req);        //System.err.println(pageBuffer);        ListBoxBean navigationLB = event.getListBoxBean("navigationLB");        navigationLB.clear();        ListBoxItemBean item = new ListBoxItemBean();        item.setName("bar");        item.setValue(this.getLocalizedText(req, "LAYOUT_SINGLE_DIVIDER"));        if (comp instanceof PortletBar) {            item.setSelected(true);        }        navigationLB.addBean(item);        item = new ListBoxItemBean();        item.setName("menu");        item.setValue(this.getLocalizedText(req, "LAYOUT_MENUBAR"));        if (comp instanceof PortletMenu) {            item.setSelected(true);        }        navigationLB.addBean(item);        item = new ListBoxItemBean();        item.setName("pane");        item.setValue(this.getLocalizedText(req, "LAYOUT_TABBEDPANE"));        if (comp instanceof PortletTabbedPane) {            item.setSelected(true);        }        navigationLB.addBean(item);        req.setAttribute("pane", pageBuffer.toString());        pages.put(sessionId, page);        // put old cid back so beans/tags work!!        req.setAttribute(SportletProperties.COMPONENT_ID, cid);        // remove special layout attributes so the rest of "real" layout after this portlet renders properly        req.removeAttribute(SportletProperties.EXTRA_QUERY_INFO);        req.removeAttribute(SportletProperties.LAYOUT_EDIT_MODE);        //setNextState(req, VIEW_JSP);    }    public void selectLayout(ActionFormEvent event) throws PortletException, IOException {        ListBoxBean layoutsLB = event.getListBoxBean("layoutsLB");        PortletSession session = event.getActionRequest().getPortletSession();        session.setAttribute(SELECTED_LAYOUT, layoutsLB.getSelectedValue());        pages.remove(session.getId());    }    public void selectTheme(ActionFormEvent event) throws PortletException, IOException {        ListBoxBean themesLB = event.getListBoxBean("themesLB");        String selectedTheme = themesLB.getSelectedValue();        portalConfigService.setProperty(PortalConfigService.DEFAULT_THEME, selectedTheme);        MessageBoxBean msg = event.getMessageBoxBean("msg");        String value = this.getLocalizedText(event.getActionRequest(), "LAYOUT_SAVETHEMEMSG") + " " + selectedTheme;        msg.setValue(value);    }    public void doSaveNav(ActionFormEvent event) {        PortletRequest req = event.getActionRequest();        String sessionId = req.getPortletSession().getId();        PortletPage page = (PortletPage) pages.get(sessionId);        PortletComponent navComp = page.getPortletComponent();        ListBoxBean navLB = event.getListBoxBean("navigationLB");        String name = navLB.getSelectedName();        CheckBoxBean showModesCB = event.getCheckBoxBean("showModesCB");        CheckBoxBean showStatesCB = event.getCheckBoxBean("showStatesCB");        page.setDisplayModes(showModesCB.isSelected());        page.setDisplayStates(showStatesCB.isSelected());        // switch to a PortletBar, no tabs whatsoever        if (name.equals("bar")) {            // the actual component matches the selected one, do nothing            if (!(navComp instanceof PortletBar)) {                PortletBar bar = new PortletBar();                // set the first menu tab component to be the bar component                if (navComp instanceof PortletMenu) {         // MB  -> SDB                    PortletMenu menu = (PortletMenu) navComp;                    List<PortletTab> tabs = menu.getPortletTabs();                    if (tabs.size() > 0) {                        PortletTab tab = tabs.get(0);                        bar.setPortletComponent(tab.getPortletComponent());                    } else {                    }                }                // converting tabbespane into single diver bar, we remove the all portlets since many could exist and we                // just have one plain layout                if (navComp instanceof PortletTabbedPane) {   // DTP -> SDB                    PortletTableLayout table = new PortletTableLayout();                    PortletRowLayout row = new PortletRowLayout();                    PortletColumnLayout col = new PortletColumnLayout();                    col.setWidth("100%");                    row.addPortletComponent(col);                    table.addPortletComponent(row);                    bar.setPortletComponent(table);                }                page.setPortletComponent(bar);            }            // switch to a menu, single row of tabs        } else if (name.equals("menu")) {            if (!(navComp instanceof PortletMenu)) {                PortletMenu menu = new PortletMenu();                if (navComp instanceof PortletBar) {  // SDB -> MB                    PortletBar bar = (PortletBar) navComp;                    PortletTab tab = new PortletTab();                    tab.setTitle(req.getLocale().getLanguage(), this.getLocalizedText(req, "LAYOUT_DEFAULT_TAB_NAME"));                    tab.setPortletComponent(bar.getPortletComponent());                    menu.addTab(tab);                }                if (navComp instanceof PortletTabbedPane) {   // DTP -> MB                    PortletTabbedPane pane = (PortletTabbedPane) navComp;                    List<PortletTab> tabs = pane.getPortletTabs();                    for (PortletTab atab : tabs) {                        PortletTabbedPane subpane = (PortletTabbedPane) atab.getPortletComponent();                        List<PortletTab> subtabs = subpane.getPortletTabs();                        if (subtabs.size() > 0) {                            for (PortletTab stab : subtabs) {                                menu.addTab(stab);                            }                        }                    }                }                page.setPortletComponent(menu);            }            // switch to a tabbed pane, double line of tabs        } else if (name.equals("pane")) {            if (!(navComp instanceof PortletTabbedPane)) {                PortletTabbedPane pane = new PortletTabbedPane();                pane.setStyle("menu");                if (navComp instanceof PortletBar) {  // SDB ->  DTP                    PortletTab newtab = new PortletTab();                    newtab.setTitle(req.getLocale().getLanguage(), this.getLocalizedText(req, "LAYOUT_DEFAULT_TAB_NAME"));                    pane.addTab(newtab);                    PortletTabbedPane subpane = new PortletTabbedPane();                    subpane.setStyle("sub-menu");                    newtab.setPortletComponent(subpane);                    PortletTab subtab = new PortletTab();                    subtab.setTitle(req.getLocale().getLanguage(), this.getLocalizedText(req, "LAYOUT_DEFAULT_TAB_NAME"));                    PortletTableLayout table = new PortletTableLayout();                    PortletRowLayout row = new PortletRowLayout();                    PortletColumnLayout col = new PortletColumnLayout();                    col.setWidth("100%");                    row.addPortletComponent(col);                    table.addPortletComponent(row);                    subtab.setPortletComponent(table);                    subpane.addTab(subtab);                } else if (navComp instanceof PortletMenu) { // MB -> DTP                    PortletMenu menu = (PortletMenu) navComp;                    List<PortletTab> tabs = menu.getPortletTabs();                    for (PortletTab atab : tabs) {                        PortletTab newtab = new PortletTab();                        newtab.setTitle(req.getLocale().getLanguage(), atab.getTitle(req.getLocale().getLanguage()));                        pane.addTab(newtab);                        PortletTabbedPane subpane = new PortletTabbedPane();                        subpane.setStyle("sub-menu");                        newtab.setPortletComponent(subpane);                        subpane.addTab(atab);                    }                }                page.setPortletComponent(pane);            }        }        pageFactory.savePortletPageMaster(page);        page.init(req, new ArrayList<ComponentIdentifier>());        pages.put(sessionId, page);    }    /**     * Modifies a portlet tab to provide the desired column layout strategy given a tab     * The numbering is as follows:     * "one"  - 1 column     * "two" - 2 col, 33%, 66%     * "three" - 2 col, 50%, 50%     * "four" - 2 col, 66%, 33%     * "five" - 3 col, 33%, 33%, 33%     * "six" - 3 col 25%, 50%, 25%     *     * @param strategyNum the string as one of the above     * @param comp        a portlet component     * @return the updated table layout     */    private PortletComponent createLayoutStrategy(String strategyNum, PortletComponent comp) {        log.debug("col strategy: " + strategyNum);        if ((comp != null) && (comp instanceof PortletTableLayout)) {            PortletTableLayout table = (PortletTableLayout) comp;            List rows = table.getPortletComponents();            if ((rows != null) && (!rows.isEmpty())) {                PortletComponent c = (PortletComponent) rows.get(0);                if (c instanceof PortletRowLayout) {                    PortletRowLayout row = (PortletRowLayout) c;                    List cols = row.getPortletComponents();                    System.err.println("cols size= " + cols.size());                    if (cols.size() == 1) {                        if (strategyNum.equals("one")) {                            return table;                        }                        if (strategyNum.equals("two")) {                            // deal with case where column layout needs to be extended                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);                            PortletColumnLayout col = new PortletColumnLayout();                            oldcol.setWidth("33%");                            col.setWidth("66%");                            row.addPortletComponent(col);                        }                        if (strategyNum.equals("three")) {                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);                            PortletColumnLayout col = new PortletColumnLayout();                            oldcol.setWidth("50%");                            col.setWidth("50%");                            row.addPortletComponent(col);                        }                        if (strategyNum.equals("four")) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -