Update of /var/cvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/pluto/portalImpl/core In directory james.mmbase.org:/tmp/cvs-serv1180/cmsc/portal/src/java/com/finalist/pluto/portalImpl/core
Modified Files: DynamicInformationProviderImpl.java PortalEnvironment.java Log Message: CMSC-749 Newsletter: PDA version of the newsletter See also: http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/pluto/portalImpl/core See also: http://www.mmbase.org/jira/browse/CMSC-749 Index: DynamicInformationProviderImpl.java =================================================================== RCS file: /var/cvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/pluto/portalImpl/core/DynamicInformationProviderImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -r1.3 -r1.4 --- DynamicInformationProviderImpl.java 26 Nov 2007 11:43:40 -0000 1.3 +++ DynamicInformationProviderImpl.java 9 May 2008 10:06:57 -0000 1.4 @@ -19,8 +19,7 @@ package com.finalist.pluto.portalImpl.core; -import java.util.HashSet; -import java.util.Iterator; +import java.util.*; import javax.portlet.PortletMode; import javax.portlet.WindowState; @@ -37,8 +36,6 @@ public class DynamicInformationProviderImpl implements DynamicInformationProvider { - private final static int NumberOfKnownMimetypes = 15; - private ServletConfig config; private PortalEnvironment env; @@ -87,17 +84,23 @@ public String getResponseContentType() { - return "text/html"; + String mimetype = env.getRequestedMimetype(); + if (mimetype == null || mimetype.length() == 0) { + mimetype = getSupportedMimeTypes()[0]; + } + return mimetype; } public Iterator getResponseContentTypes() { - HashSet responseMimeTypes = new HashSet(NumberOfKnownMimetypes); - responseMimeTypes.add("text/html"); - - return responseMimeTypes.iterator(); + String[] supportedMimetypes = getSupportedMimeTypes(); + return Arrays.asList(supportedMimetypes).iterator(); } + private String[] getSupportedMimeTypes() { + String[] supportedMimetypes = Config.getParameters().getStrings("supported.mimetypes"); + return supportedMimetypes; + } public WindowState getWindowState(PortletWindow portletWindow) { return env.getPortalControlParameter().getState(portletWindow); Index: PortalEnvironment.java =================================================================== RCS file: /var/cvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/pluto/portalImpl/core/PortalEnvironment.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -b -r1.4 -r1.5 --- PortalEnvironment.java 17 Dec 2007 20:30:52 -0000 1.4 +++ PortalEnvironment.java 9 May 2008 10:06:57 -0000 1.5 @@ -16,6 +16,9 @@ package com.finalist.pluto.portalImpl.core; +import java.util.Arrays; +import java.util.List; + import javax.portlet.PortletRequest; import javax.servlet.ServletConfig; import javax.servlet.http.HttpServletRequest; @@ -35,6 +38,7 @@ private PortalControlParameter portalControl; + private String requestedMimetype; public PortalEnvironment(HttpServletRequest request, HttpServletResponse response, ServletConfig config) { this.request = request; @@ -96,4 +100,17 @@ portalControl = control; } + public List<String> getAcceptContentTypes() { + String acceptHeader = request.getHeader("accept"); + String[] contentTypes = acceptHeader.split(","); + return Arrays.asList(contentTypes); + } + + public String getRequestedMimetype() { + return requestedMimetype; + } + + public void setRequestedMimetype(String requestedMimetype) { + this.requestedMimetype = requestedMimetype; + } } _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs