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

📄 layoutmanagerportlet.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
package org.gridsphere.portlets.core.admin.layout;import org.gridsphere.layout.*;import org.gridsphere.portlet.impl.SportletProperties;import org.gridsphere.portletcontainer.ApplicationPortlet;import org.gridsphere.portletcontainer.DefaultPortletAction;import org.gridsphere.portletcontainer.GridSphereEvent;import org.gridsphere.portletcontainer.impl.GridSphereEventImpl;import org.gridsphere.provider.event.jsr.ActionFormEvent;import org.gridsphere.provider.event.jsr.FormEvent;import org.gridsphere.provider.event.jsr.RenderFormEvent;import org.gridsphere.provider.portlet.jsr.ActionPortlet;import org.gridsphere.provider.portletui.beans.*;import org.gridsphere.services.core.content.ContentFile;import org.gridsphere.services.core.content.ContentManagerService;import org.gridsphere.services.core.portal.PortalConfigService;import org.gridsphere.services.core.registry.PortletRegistryService;import org.gridsphere.services.core.security.role.PortletRole;import org.gridsphere.services.core.security.role.RoleManagerService;import javax.portlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.File;import java.io.IOException;import java.util.*;public class LayoutManagerPortlet extends ActionPortlet {    public static final String VIEW_JSP = "admin/layout/view.jsp";    private static Map<String, PortletPage> pages = new HashMap<String, PortletPage>();    private static RoleManagerService roleManagerService;    private static ContentManagerService contentManagerService;    private static PortalConfigService portalConfigService = null;    private PortletRegistryService portletRegistryService = null;    private PortletPageFactory pageFactory = null;    private static final String SELECTED_LAYOUT = LayoutManagerPortlet.class.getName() + ".SELECTED_LAYOUT";    public void init(PortletConfig config) throws PortletException {        super.init(config);        roleManagerService = (RoleManagerService) createPortletService(RoleManagerService.class);        contentManagerService = (ContentManagerService) createPortletService(ContentManagerService.class);        portletRegistryService = (PortletRegistryService) createPortletService(PortletRegistryService.class);        portalConfigService = (PortalConfigService) createPortletService(PortalConfigService.class);        pageFactory = PortletPageFactory.getInstance();        DEFAULT_VIEW_PAGE = "doShowLayout";    }    public void savePageDetails(ActionFormEvent event) {        PortletRequest req = event.getActionRequest();        String sessionId = req.getPortletSession().getId();        PortletPage page = (PortletPage) pages.get(sessionId);        String title = event.getTextFieldBean("titleTF").getValue();        page.setTitle(title);        String keywords = event.getTextFieldBean("keywordsTF").getValue();        page.setKeywords(keywords);        pageFactory.savePortletPageMaster(page);    }    public void editComponent(RenderFormEvent event) throws PortletException, IOException {        PortletRequest req = event.getRenderRequest();        PortletResponse res = event.getRenderResponse();        PortletContext context = getPortletConfig().getPortletContext();        GridSphereEvent gsevent = new GridSphereEventImpl(context, (HttpServletRequest) req, (HttpServletResponse) res);        String sessionId = req.getPortletSession().getId();        PortletPage page = (PortletPage) pages.get(sessionId);        page.actionPerformed(gsevent);        pages.put(sessionId, page);        setNextState(req, DEFAULT_VIEW_PAGE);    }    public PortletPage createLayout(FormEvent event, PortletRequest req) throws PortletException, IOException {        PortletSession session = req.getPortletSession();        String layoutId = (String) session.getAttribute(SELECTED_LAYOUT);        PortletPage page = pageFactory.createPortletPageCopy(layoutId);        pageFactory.setPageTheme(page, req);        page.init(req, new ArrayList<ComponentIdentifier>());        return page;    }    /*    public void doFinish(FormEvent event) throws PortletException, IOException {        PortletSession session = event.getPortletRequest().getPortletSession();        session.setAttribute(SportletProperties.LAYOUT_PAGE, PortletPageFactory.USER_PAGE);        session.removeAttribute(SELECTED_LAYOUT);        pages.remove(session.getId());    }    */    public void doSaveFrame(ActionFormEvent event) throws PortletException, IOException {        PortletRequest req = event.getActionRequest();        String sessionId = req.getPortletSession().getId();        PortletPage page = (PortletPage) pages.get(sessionId);        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");        String activeComp = compHF.getValue();        String reqRole = event.getListBoxBean("rolesLB").getSelectedName();        String portletClass = event.getListBoxBean("portletsLB").getSelectedName();        String label = event.getTextFieldBean("labelTF").getValue();        PortletComponent comp = page.getActiveComponent(activeComp);        if (comp instanceof PortletFrame) {            PortletFrame frame = (PortletFrame) comp;            if (reqRole.toUpperCase().equals("NONE")) reqRole = "";            frame.setRequiredRole(reqRole);            frame.setLabel(label);            frame.setPortletClass(portletClass);            log.debug("setting frame class to " + portletClass);            RadioButtonBean istitleRB = event.getRadioButtonBean("istitleRB");            if (!istitleRB.getSelectedValue().equalsIgnoreCase("yes")) {                frame.setTransparent(true);            }            page.init(req, new ArrayList<ComponentIdentifier>());        }        pageFactory.savePortletPageMaster(page);    }    public void doSaveBar(ActionFormEvent event) throws PortletException, IOException {        PortletRequest req = event.getActionRequest();        String sessionId = req.getPortletSession().getId();        PortletPage page = (PortletPage) pages.get(sessionId);        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");        String activeComp = compHF.getValue();        PortletComponent comp = page.getActiveComponent(activeComp);        if (comp instanceof PortletBar) {            PortletBar bar = (PortletBar) comp;            ListBoxBean colsLB = event.getListBoxBean("colsLB");            String colTemplateNum = colsLB.getSelectedName();            if (colTemplateNum != null) {                PortletComponent c = createLayoutStrategy(colTemplateNum, bar.getPortletComponent());                bar.setPortletComponent(c);            }        }        pageFactory.savePortletPageMaster(page);    }    public void doSaveTab(ActionFormEvent event) throws PortletException, IOException {        PortletRequest req = event.getActionRequest();        String sessionId = req.getPortletSession().getId();        PortletPage page = (PortletPage) pages.get(sessionId);        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");        String activeComp = compHF.getValue();        String reqRole = event.getListBoxBean("rolesLB").getSelectedName();        String name = event.getTextFieldBean("nameTF").getValue();        String label = event.getTextFieldBean("labelTF").getValue();        PortletComponent comp = page.getActiveComponent(activeComp);        if (comp instanceof PortletTab) {            PortletTab tab = (PortletTab) comp;            if (reqRole.equalsIgnoreCase("NONE")) reqRole = "";            tab.setRequiredRole(reqRole);            tab.setLabel(label);            tab.setTitle(req.getLocale().getLanguage(), name);            ListBoxBean colsLB = event.getListBoxBean("colsLB");            String colTemplateNum = colsLB.getSelectedName();            if (colTemplateNum != null) {                PortletComponent table = createLayoutStrategy(colTemplateNum, tab.getPortletComponent());                tab.setPortletComponent(table);                PortletNavMenu parent = (PortletNavMenu) tab.getParentComponent();                parent.setSelectedPortletTab(tab);            }        }        pageFactory.savePortletPageMaster(page);    }    public void doSaveNewTab(ActionFormEvent event) throws PortletException, IOException {        PortletRequest req = event.getActionRequest();        String sessionId = req.getPortletSession().getId();        PortletPage page = (PortletPage) pages.get(sessionId);        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");        String activeComp = compHF.getValue();        String reqRole = event.getListBoxBean("rolesLB").getSelectedName();        String name = event.getTextFieldBean("nameTF").getValue();        String label = event.getTextFieldBean("labelTF").getValue();        PortletComponent comp = page.getActiveComponent(activeComp);        //PortletComponent comp = active.getParentComponent();        log.debug("compHF=" + activeComp);        log.debug("comp class= " + comp.getClass());        log.debug("active comp = " + comp.getComponentID());        if (comp instanceof PortletTabbedPane) {            PortletTabbedPane pane = (PortletTabbedPane) comp;            //System.err.println("tab name " + thistab.getTitle("en"));            //PortletTabbedPane pane = (PortletTabbedPane)thistab.getParentComponent();            PortletTab tab = new PortletTab();            tab.setTitle(req.getLocale().getLanguage(), name);            if (reqRole.equalsIgnoreCase("NONE")) reqRole = "";            tab.setRequiredRole(reqRole);            tab.setLabel(label);            if (pane.getStyle().equals("menu")) {                //RadioButtonBean addSubTab = event.getRadioButtonBean("subcompRB");                //if (addSubTab.getSelectedValue().equals("double")) {                PortletTabbedPane newpane = new PortletTabbedPane();                newpane.setStyle("sub-menu");                tab.setPortletComponent(newpane);                /*} else {                    PortletRowLayout row = new PortletRowLayout();                    PortletColumnLayout col = new PortletColumnLayout();                    col.setWidth("100%");                    row.addPortletComponent(col);                    PortletTableLayout table = new PortletTableLayout();                    table.addPortletComponent(row);                    tab.setPortletComponent(table);                }*/            } else if (pane.getStyle().equals("sub-menu")) {                ListBoxBean colsLB = event.getListBoxBean("colsLB");                String colTemplateNum = colsLB.getSelectedName();                PortletComponent c = createLayoutStrategy(colTemplateNum, tab.getPortletComponent());                tab.setPortletComponent(c);            }            pane.addTab(tab);            pane.setSelectedPortletTab(tab);            pageFactory.savePortletPageMaster(page);            page.init(req, new ArrayList<ComponentIdentifier>());            pages.put(sessionId, page);        } else if (comp instanceof PortletMenu) {            PortletMenu menu = (PortletMenu) comp;            //System.err.println("tab name " + thistab.getTitle("en"));            //PortletTabbedPane pane = (PortletTabbedPane)thistab.getParentComponent();            log.debug("creating new menu tab!");            PortletTab tab = new PortletTab();            tab.setTitle(req.getLocale().getLanguage(), name);            if (reqRole.equalsIgnoreCase("NONE")) reqRole = "";            tab.setRequiredRole(reqRole);            tab.setLabel(label);            ListBoxBean colsLB = event.getListBoxBean("colsLB");            String colTemplateNum = colsLB.getSelectedName();            PortletComponent c = createLayoutStrategy(colTemplateNum, tab.getPortletComponent());            tab.setPortletComponent(c);            menu.addTab(tab);            menu.setSelectedPortletTab(tab);            pageFactory.savePortletPageMaster(page);            page.init(req, new ArrayList<ComponentIdentifier>());            pages.put(sessionId, page);        }    }    public void doDeleteTab(ActionFormEvent event) throws PortletException, IOException {        PortletRequest req = event.getActionRequest();        String sessionId = req.getPortletSession().getId();        PortletPage page = (PortletPage) pages.get(sessionId);        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");        String activeComp = compHF.getValue();        PortletComponent comp = page.getActiveComponent(activeComp);        if (comp instanceof PortletTab) {            PortletTab tab = (PortletTab) comp;

⌨️ 快捷键说明

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