1 16 19 20 package org.apache.pluto.portalImpl.core; 21 22 import java.util.HashSet ; 23 import java.util.Iterator ; 24 25 import javax.portlet.PortletMode; 26 import javax.portlet.WindowState; 27 import javax.servlet.ServletConfig ; 28 import javax.servlet.http.HttpServletRequest ; 29 30 import org.apache.pluto.om.window.PortletWindow; 31 import org.apache.pluto.portalImpl.services.config.Config; 32 import org.apache.pluto.services.information.DynamicInformationProvider; 33 import org.apache.pluto.services.information.PortletActionProvider; 34 import org.apache.pluto.services.information.PortletURLProvider; 35 import org.apache.pluto.services.information.ResourceURLProvider; 36 37 38 public class DynamicInformationProviderImpl implements DynamicInformationProvider { 39 40 private final static int NumberOfKnownMimetypes = 15; 41 42 private ServletConfig config; 43 44 private PortalEnvironment env; 45 46 HttpServletRequest request; 47 48 public DynamicInformationProviderImpl(HttpServletRequest request, 49 ServletConfig config) 50 { 51 this.request = request; 52 this.config = config; 53 54 env = PortalEnvironment.getPortalEnvironment(request); 55 } 56 57 59 public PortletMode getPortletMode(PortletWindow portletWindow) 60 { 61 return env.getPortalControlParameter().getMode(portletWindow); 62 } 63 64 public PortletURLProvider getPortletURLProvider(PortletWindow portletWindow) 65 { 66 return new PortletURLProviderImpl(this, portletWindow); 67 } 68 69 public ResourceURLProvider getResourceURLProvider(PortletWindow portletWindow) 70 { 71 return new ResourceURLProviderImpl(this, portletWindow); 72 } 73 74 public PortletActionProvider getPortletActionProvider(PortletWindow portletWindow) 75 { 76 return new PortletActionProviderImpl(request, config, portletWindow); 77 } 78 79 public PortletMode getPreviousPortletMode(PortletWindow portletWindow) 80 { 81 return env.getPortalControlParameter().getPrevMode(portletWindow); 82 } 83 84 public WindowState getPreviousWindowState(PortletWindow portletWindow) 85 { 86 return env.getPortalControlParameter().getPrevState(portletWindow); 87 } 88 89 public String getResponseContentType() 90 { 91 return "text/html"; 92 } 93 94 public Iterator getResponseContentTypes() 95 { 96 HashSet responseMimeTypes = new HashSet (NumberOfKnownMimetypes); 97 responseMimeTypes.add("text/html"); 98 99 return responseMimeTypes.iterator(); 100 } 101 102 public WindowState getWindowState(PortletWindow portletWindow) 103 { 104 return env.getPortalControlParameter().getState(portletWindow); 105 } 106 107 public boolean isPortletModeAllowed(PortletMode mode) 108 { 109 String [] supportedModes = Config.getParameters().getStrings("supported.portletmode"); 111 for (int i = 0; i < supportedModes.length; i++) { 112 if (supportedModes[i].equalsIgnoreCase(mode.toString())) { 113 return true; 114 } 115 } 116 return false; 117 } 118 119 public boolean isWindowStateAllowed(WindowState state) 120 { 121 String [] supportedStates = Config.getParameters().getStrings("supported.windowstate"); 123 for (int i = 0; i < supportedStates.length; i++) { 124 if (supportedStates[i].equalsIgnoreCase(state.toString())) { 125 return true; 126 } 127 } 128 return false; 129 } 130 131 } 132 | Popular Tags |