portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Liao (JIRA)" <jetspeed-...@portals.apache.org>
Subject [jira] Created: (JS2-406) CotentServer can not set attribute "org.apache.jetspeed.content.filtered" because of FileNotFoundException
Date Sun, 13 Nov 2005 00:22:22 GMT
CotentServer can not set attribute "org.apache.jetspeed.content.filtered" because of FileNotFoundException
----------------------------------------------------------------------------------------------------------

         Key: JS2-406
         URL: http://issues.apache.org/jira/browse/JS2-406
     Project: Jetspeed 2
        Type: Bug
  Components: ContentServer  
    Versions: 2.0-M4    
 Environment: JDK 1.4.2_10, WinXP SP2
    Reporter: James Liao
    Priority: Critical


There is a bug about contentfilter.
1. Login j2 as a portal user(admin).
2. Click the CSS Demo page.
3. Click the CSS portlet maximize windown icon.(a java.lang.IllegalStateException had been
logged in jetspeed.log)
4. Click the default-page.psml.
5. The following is the displayed in browser.

javax.servlet.ServletException: Fatal error encountered while processing portal request: org.apache.jetspeed.pipeline.PipelineException:
org.apache.jetspeed.pipeline.PipelineException: org.apache.jetspeed.pipeline.PipelineException
: org.apache.jetspeed.pipeline.PipelineException: java.lang.IllegalStateException: You cannot
invoke getRenderedContent() until the content has been set.
	org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java
:235)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

6. The current browser can not view j2 anymore.

The cause of this is a FileNotFoundException throw in ContentFilter. The following is the
detail:
1. The css-demo.psml use blue-gradient as its portlet-decorator. The following lines are from
blue-gradient's css file

.blue-gradient .portlet-msg-status {
    background: url(content/tigris/images/icon_status_sml.gif);
    background-repeat: no-repeat;
    padding-left: 20px;
    min-height: 15px;
}

The above gif file could never be found according to the current content list paths.

2. A FileNotFoundException will be thrown out when browser try to request for these gif files
at the following code:

SimpleContentLocator contentLocator = new SimpleContentLocator(this.contentDir, urlHints,
useCache, httpRequest                       .getContextPath(), requestURI, getContentSearchPathes(httpRequest));

so the following code could never be called:

httpRequest.setAttribute("org.apache.jetspeed.content.filtered", "true");

3. This will lead to when browser request a *.gif file, the jetspeed pipeline get called and
then a java.lang.IllegalStateException got fired.

A quick fix is moved the line "httpRequest.setAttribute("org.apache.jetspeed.content.filtered",
"true");" before creating SimpleContentLocator.

I also notice that JS2-398 might fix this issue gracefully too, then just ignore me.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Mime
View raw message