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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs