Update of
/var/cvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/cmsc/portalImpl
In directory
james.mmbase.org:/tmp/cvs-serv1180/cmsc/portal/src/java/com/finalist/cmsc/portalImpl
Modified Files:
PageNavigationRenderer.java PortalServlet.java
PortalErrorServlet.java ControllerFilter.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/cmsc/portalImpl
See also: http://www.mmbase.org/jira/browse/CMSC-749
Index: PageNavigationRenderer.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/cmsc/portalImpl/PageNavigationRenderer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- PageNavigationRenderer.java 21 Apr 2008 10:11:51 -0000 1.7
+++ PageNavigationRenderer.java 9 May 2008 10:06:57 -0000 1.8
@@ -28,6 +28,10 @@
private static Log log = LogFactory.getLog(PageNavigationRenderer.class);
+ public String getContentType() {
+ return "text/html";
+ }
+
public void render(NavigationItem item, HttpServletRequest request,
HttpServletResponse response,
ServletConfig sc) throws IOException {
if (item instanceof Page) {
Index: PortalServlet.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/cmsc/portalImpl/PortalServlet.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- PortalServlet.java 21 Apr 2008 10:11:51 -0000 1.15
+++ PortalServlet.java 9 May 2008 10:06:57 -0000 1.16
@@ -49,11 +49,9 @@
private static Log log = LogFactory.getLog(PortalServlet.class);
- protected static String CONTENT_TYPE = "text/html";
protected static final String PATH_SP = "/";
protected static ServletConfig sc;
-
public String getServletInfo() {
return "CMSC Portal Driver";
}
@@ -69,11 +67,6 @@
PortalServlet.sc = getServletConfig();
- String charset = config.getInitParameter("charset");
- if (charset != null && charset.length() > 0) {
- CONTENT_TYPE = "text/html; charset=" + charset;
- }
-
try {
ServiceManager.init(config);
}
@@ -136,7 +129,6 @@
public void service(HttpServletRequest request, HttpServletResponse
response) throws IOException {
log.debug("===>PortalServlet.doGet START!");
- response.setContentType(CONTENT_TYPE);
log.debug("===>REQ spth='" + request.getServletPath() + "'");
log.debug("===>REQ qry='" + request.getQueryString() + "'");
@@ -199,6 +191,13 @@
if (item != null) {
NavigationItemRenderer manager = NavigationManager.getRenderer(item);
if (manager != null) {
+ String contentType = manager.getContentType();
+ String charset = getServletConfig().getInitParameter("charset");
+ if (charset != null && charset.length() > 0) {
+ contentType += "; charset=" + charset;
+ }
+ response.setContentType(contentType);
+
manager.render(item, request, response, sc);
return true;
}
Index: PortalErrorServlet.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/cmsc/portalImpl/PortalErrorServlet.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- PortalErrorServlet.java 21 Apr 2008 10:11:51 -0000 1.14
+++ PortalErrorServlet.java 9 May 2008 10:06:57 -0000 1.15
@@ -110,8 +110,6 @@
HttpServletRequest errorRequest = new
ErrorHttpServletRequest(request, errorPageSite.getUrlfragment(),
String.valueOf(statusCode));
PortalEnvironment errorEnv = new
PortalEnvironment(errorRequest, response, config);
- response.setContentType(CONTENT_TYPE);
-
String errorPagePath = errorPageSite.getUrlfragment() +
PATH_SP + statusCode;
setSiteLocale(request, errorPagePath);
@@ -149,7 +147,7 @@
private void basicErrorPage(HttpServletRequest request, HttpServletResponse
response) throws IOException {
- response.setContentType(CONTENT_TYPE);
+ response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>" +
request.getAttribute(ERROR_STATUS_CODE) + " "
+ request.getAttribute(ERROR_MESSAGE) +
"</title></head><body><table>");
Index: ControllerFilter.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/portal/src/java/com/finalist/cmsc/portalImpl/ControllerFilter.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ControllerFilter.java 8 May 2008 06:29:47 -0000 1.5
+++ ControllerFilter.java 9 May 2008 10:06:57 -0000 1.6
@@ -11,16 +11,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
import net.sf.mmapps.commons.web.FriendlyUrlFilter;
-import java.io.IOException;
-import java.util.Enumeration;
-
/**
* The controller filter filters out all navigation requests and dispatches
them
* through to the portal servlet.
@@ -30,32 +23,13 @@
*/
public class ControllerFilter extends FriendlyUrlFilter {
- private static ThreadLocal threadLocal = new ThreadLocal();
-
protected String getServlet() {
return PortalConstants.CMSC_PORTAL_SERVLET;
}
protected boolean isFriendlyUrl(HttpServletRequest req, HttpServletResponse
resp) {
-
-
return PortalServlet.isNavigation(req, resp);
}
- public void doFilter(ServletRequest servletRequest, ServletResponse
servletResponse, FilterChain filterChain) throws IOException, ServletException {
- HttpServletRequest req = (HttpServletRequest) servletRequest;
-
- Object contentType = req.getSession(true).getAttribute("contenttype");
- if(null!=contentType){
- threadLocal.set(contentType);
- }else{
- threadLocal.set(req.getHeader("content-type"));
- }
- super.doFilter(servletRequest, servletResponse, filterChain);
- }
-
- public static String getContentType() {
- return (String) threadLocal.get();
- }
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs