sylvain 01/12/20 10:14:18
Modified: src/org/apache/cocoon/components/language/generator
ProgramGeneratorImpl.java
Log:
Fix a bug so that context prefix location is properly removed from generated source
file paths (in short : now it works again as in 2.0 ;)
Revision Changes Path
1.26 +12 -2
xml-cocoon2/src/org/apache/cocoon/components/language/generator/ProgramGeneratorImpl.java
Index: ProgramGeneratorImpl.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/generator/ProgramGeneratorImpl.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ProgramGeneratorImpl.java 2001/12/11 13:06:04 1.25
+++ ProgramGeneratorImpl.java 2001/12/20 18:14:18 1.26
@@ -39,7 +39,7 @@
/**
* The default implementation of <code>ProgramGenerator</code>
* @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a>
- * @version CVS $Revision: 1.25 $ $Date: 2001/12/11 13:06:04 $
+ * @version CVS $Revision: 1.26 $ $Date: 2001/12/20 18:14:18 $
*/
public class ProgramGeneratorImpl extends AbstractLoggable
implements ProgramGenerator, Contextualizable, Composable, Configurable,
ThreadSafe, Disposable {
@@ -86,8 +86,18 @@
if (this.contextDir == null) {
org.apache.cocoon.environment.Context ctx =
(org.apache.cocoon.environment.Context)
context.get(Constants.CONTEXT_ENVIRONMENT_CONTEXT);
+
+ // Determine the context directory, preferably as a file
+ // FIXME (SW) - this is purposely redundant with some code in
CocoonServlet
+ // to have the same rootPath. How to avoid this ?
try {
- this.contextDir = ctx.getResource("/").toExternalForm();
+ String rootPath = ctx.getRealPath("/");
+ if (rootPath != null) {
+ this.contextDir = new File(rootPath).toURL().toExternalForm();
+ } else {
+ String webInf = ctx.getResource("/WEB-INF").toExternalForm();
+ this.contextDir = webInf.substring(0,webInf.length() -
"WEB-INF".length());
+ }
getLogger().debug("Context directory is " + this.contextDir);
} catch (MalformedURLException e) {
getLogger().warn("Could not get context directory", e);
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]