joerg 2003/08/04 02:44:23
Modified: src/blocks/jsp/java/org/apache/cocoon/reading JSPReader.java
src/blocks/jsp/java/org/apache/cocoon/generation
JspGenerator.java
Log:
fixed JSP file uri resolving (see
http://marc.theaimsgroup.com/?t=105967319200003&r=1&w=2)
Revision Changes Path
1.4 +9 -6
cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/reading/JSPReader.java
Index: JSPReader.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/reading/JSPReader.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JSPReader.java 10 Jul 2003 23:38:04 -0000 1.3
+++ JSPReader.java 4 Aug 2003 09:44:23 -0000 1.4
@@ -60,6 +60,7 @@
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.components.jsp.JSPEngine;
+import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.http.HttpEnvironment;
/**
@@ -100,8 +101,9 @@
if (!url.startsWith("/")) {
// get current request path
String servletPath = httpRequest.getServletPath();
- // remove file part
- servletPath = servletPath.substring(0,
servletPath.lastIndexOf('/') + 1);
+ // remove sitemap URI part
+ String sitemapURI =
ObjectModelHelper.getRequest(objectModel).getSitemapURI();
+ servletPath = servletPath.substring(0,
servletPath.indexOf(sitemapURI));
url = servletPath + url;
}
@@ -124,14 +126,15 @@
bais.close();
bais = null;
out.flush();
+ //this.resolver.release(source);
} catch (ServletException e) {
- throw new ProcessingException("ServletException in
JSPReader.generate()",e.getRootCause());
+ throw new ProcessingException("ServletException in
JSPReader.generate()", e.getRootCause());
} catch (IOException e) {
- throw new ProcessingException("IOException
JSPReader.generate()",e);
+ throw new ProcessingException("IOException
JSPReader.generate()", e);
} catch (ProcessingException e) {
throw e;
} catch (Exception e) {
- throw new ProcessingException("Exception
JSPReader.generate()",e);
+ throw new ProcessingException("Exception JSPReader.generate()",
e);
} finally {
if (engine != null) this.manager.release(engine);
}
1.6 +9 -7
cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/generation/JspGenerator.java
Index: JspGenerator.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/generation/JspGenerator.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- JspGenerator.java 12 Jul 2003 14:45:26 -0000 1.5
+++ JspGenerator.java 4 Aug 2003 09:44:23 -0000 1.6
@@ -56,6 +56,7 @@
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.components.jsp.JSPEngine;
+import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.http.HttpEnvironment;
import org.apache.excalibur.xml.sax.SAXParser;
import org.xml.sax.InputSource;
@@ -108,8 +109,9 @@
if (!url.startsWith("/")) {
// get current request path
String servletPath = httpRequest.getServletPath();
- // remove file part
- servletPath = servletPath.substring(0,
servletPath.lastIndexOf('/') + 1);
+ // remove sitemap URI part
+ String sitemapURI =
ObjectModelHelper.getRequest(objectModel).getSitemapURI();
+ servletPath = servletPath.substring(0,
servletPath.indexOf(sitemapURI));
url = servletPath + url;
}
@@ -126,15 +128,15 @@
parser = (SAXParser)this.manager.lookup(SAXParser.ROLE);
parser.parse(input, this.xmlConsumer);
} catch (ServletException e) {
- throw new ProcessingException("ServletException in
JspGenerator.generate()",e.getRootCause());
+ throw new ProcessingException("ServletException in
JspGenerator.generate()", e.getRootCause());
} catch (SAXException e) {
- throw new ProcessingException("SAXException
JspGenerator.generate()",e.getException());
+ throw new ProcessingException("SAXException
JspGenerator.generate()", e.getException());
} catch (IOException e) {
- throw new ProcessingException("IOException
JspGenerator.generate()",e);
+ throw new ProcessingException("IOException
JspGenerator.generate()", e);
} catch (ProcessingException e) {
throw e;
} catch (Exception e) {
- throw new ProcessingException("Exception
JspGenerator.generate()",e);
+ throw new ProcessingException("Exception
JspGenerator.generate()", e);
} finally {
this.manager.release((Component)parser);
this.manager.release(engine);