📄 layoutmanagerportlet.java
字号:
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 + -