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

Reply via email to