stefano 00/09/22 13:27:37
Modified: src/org/apache/cocoon Tag: xml-cocoon2 Cocoon.java
Constants.java
src/org/apache/cocoon/components/image Tag: xml-cocoon2
JAIJPEGEncoder.java JAIPNGEncoder.java
JPEGEncoder.java PNGEncoder.java
src/org/apache/cocoon/components/language/generator Tag:
xml-cocoon2 ProgramGeneratorImpl.java
src/org/apache/cocoon/components/language/programming/java
Tag: xml-cocoon2 JavaLanguage.java
src/org/apache/cocoon/servlet Tag: xml-cocoon2
CocoonServlet.java
Log:
fixed compilation problems and added a better classpath definition (now
should work on *most* servlet containers)
Revision Changes Path
No revision
No revision
1.4.2.28 +4 -4 xml-cocoon/src/org/apache/cocoon/Cocoon.java
Index: Cocoon.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/Cocoon.java,v
retrieving revision 1.4.2.27
retrieving revision 1.4.2.28
diff -u -r1.4.2.27 -r1.4.2.28
--- Cocoon.java 2000/09/22 12:21:03 1.4.2.27
+++ Cocoon.java 2000/09/22 20:27:23 1.4.2.28
@@ -41,7 +41,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a>
* (Apache Software Foundation, Exoffice Technologies)
* @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
- * @version CVS $Revision: 1.4.2.27 $ $Date: 2000/09/22 12:21:03 $
+ * @version CVS $Revision: 1.4.2.28 $ $Date: 2000/09/22 20:27:23 $
*/
public class Cocoon
implements Component, Configurable, ComponentManager, Modifiable,
Processor, Constants {
@@ -71,7 +71,7 @@
private String classpath;
/** The working directory (null if not available) */
- private File workDir;
+ private String workDir;
/**
* Create a new <code>Cocoon</code> instance.
@@ -91,7 +91,7 @@
* Create a new <code>Cocoon</code> object, parsing configuration from
* the specified file.
*/
- public Cocoon(File configurationFile, String classpath, File workDir)
+ public Cocoon(File configurationFile, String classpath, String workDir)
throws SAXException, IOException, ConfigurationException {
this();
@@ -135,7 +135,7 @@
* Get the local workpath
* @return the workpath available to this instance or null if not
available.
*/
- public File getWorkDir() {
+ public String getWorkDir() {
return this.workDir;
}
1.1.2.4 +4 -1 xml-cocoon/src/org/apache/cocoon/Attic/Constants.java
Index: Constants.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/Attic/Constants.java,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- Constants.java 2000/09/22 12:21:04 1.1.2.3
+++ Constants.java 2000/09/22 20:27:23 1.1.2.4
@@ -10,7 +10,7 @@
/**
* @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
- * @version CVS $Revision: 1.1.2.3 $ $Date: 2000/09/22 12:21:04 $
+ * @version CVS $Revision: 1.1.2.4 $ $Date: 2000/09/22 20:27:23 $
*/
public interface Constants {
@@ -47,5 +47,8 @@
public static final String CATALINA_SERVLET_CLASSPATH =
"org.apache.catalina.jsp_classpath";
public static final String TOMCAT_SERVLET_CLASSPATH =
"org.apache.tomcat.jsp_classpath";
+
+ public final static String ERROR_NAMESPACE_URI =
"http://apache.org/cocoon/" + CONF_VERSION + "/error";
+ public final static String ERROR_NAMESPACE_PREFIX = "error";
}
No revision
No revision
1.1.2.3 +1 -1
xml-cocoon/src/org/apache/cocoon/components/image/Attic/JAIJPEGEncoder.java
Index: JAIJPEGEncoder.java
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/image/Attic/JAIJPEGEncoder.java,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- JAIJPEGEncoder.java 2000/08/31 15:47:15 1.1.2.2
+++ JAIJPEGEncoder.java 2000/09/22 20:27:25 1.1.2.3
@@ -32,7 +32,7 @@
// Using the passed Configuration, generate a far more friendly
Parameters object.
Parameters p = Parameters.fromConfiguration(conf);
quality = p.getParameterAsFloat("quality", 0.75f);
- System.err.println("Quality set to " + quality);
+ //System.err.println("Quality set to " + quality);
}
public String getMimeType() {
1.1.2.3 +1 -1
xml-cocoon/src/org/apache/cocoon/components/image/Attic/JAIPNGEncoder.java
Index: JAIPNGEncoder.java
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/image/Attic/JAIPNGEncoder.java,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- JAIPNGEncoder.java 2000/08/31 15:47:14 1.1.2.2
+++ JAIPNGEncoder.java 2000/09/22 20:27:26 1.1.2.3
@@ -35,7 +35,7 @@
interlaced = p.getParameterAsBoolean("interlaced", true);
alpha = p.getParameterAsBoolean("alpha", true);
// TODO: colour depth
- System.err.println("Interlaced set to " + interlaced);
+ //System.err.println("Interlaced set to " + interlaced);
}
public String getMimeType() {
1.1.2.3 +1 -1
xml-cocoon/src/org/apache/cocoon/components/image/Attic/JPEGEncoder.java
Index: JPEGEncoder.java
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/image/Attic/JPEGEncoder.java,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- JPEGEncoder.java 2000/08/31 15:47:14 1.1.2.2
+++ JPEGEncoder.java 2000/09/22 20:27:26 1.1.2.3
@@ -35,7 +35,7 @@
Parameters p = Parameters.fromConfiguration(conf);
quality = p.getParameterAsFloat("quality", 0.75f);
baseline = p.getParameterAsBoolean("baseline", true);
- System.err.println("JPEG Encoder[quality: " + quality + ",
baseline: " + baseline + "]");
+ //System.err.println("JPEG Encoder[quality: " + quality + ",
baseline: " + baseline + "]");
}
public String getMimeType() {
1.1.2.3 +1 -1
xml-cocoon/src/org/apache/cocoon/components/image/Attic/PNGEncoder.java
Index: PNGEncoder.java
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/image/Attic/PNGEncoder.java,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- PNGEncoder.java 2000/08/31 15:47:13 1.1.2.2
+++ PNGEncoder.java 2000/09/22 20:27:27 1.1.2.3
@@ -36,7 +36,7 @@
Parameters p = Parameters.fromConfiguration(conf);
compression = p.getParameterAsInteger("compression", 7);
alpha = p.getParameterAsBoolean("alpha", true);
- System.err.println("PNG Encoder[compression: " + compression +
", alpha: " + alpha + "]");
+ //System.err.println("PNG Encoder[compression: " + compression
+ ", alpha: " + alpha + "]");
}
public String getMimeType() {
No revision
No revision
1.1.2.11 +11 -14
xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/ProgramGeneratorImpl.java
Index: ProgramGeneratorImpl.java
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/ProgramGeneratorImpl.java,v
retrieving revision 1.1.2.10
retrieving revision 1.1.2.11
diff -u -r1.1.2.10 -r1.1.2.11
--- ProgramGeneratorImpl.java 2000/09/19 00:26:26 1.1.2.10
+++ ProgramGeneratorImpl.java 2000/09/22 20:27:29 1.1.2.11
@@ -49,11 +49,14 @@
* The default implementation of <code>ProgramGenerator</code>
*
* @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a>
- * @version CVS $Revision: 1.1.2.10 $ $Date: 2000/09/19 00:26:26 $
+ * @version CVS $Revision: 1.1.2.11 $ $Date: 2000/09/22 20:27:29 $
*/
public class ProgramGeneratorImpl
implements ProgramGenerator, Composer, Configurable
{
+ /** The auto-reloading option */
+ protected boolean autoReload = true;
+
/** The in-memory store */
protected MemoryStore cache = new MemoryStore();
@@ -62,12 +65,9 @@
/** The named component manager */
protected NamedComponentManager factory;
-
- /** The filesystem-based store */
- protected String repositoryName = null;
- /** The auto-reloading option */
- protected boolean autoReload = true;
+ /** The working directory */
+ protected String workDir;
/**
* Set the global component manager. This method also sets the
@@ -79,6 +79,7 @@
public void setComponentManager(ComponentManager manager) {
this.manager = manager;
this.factory = (NamedComponentManager)
this.manager.getComponent("factory");
+ this.workDir = ((Cocoon)
this.manager.getComponent("cocoon")).getWorkDir();
}
/**
@@ -92,10 +93,6 @@
throws ConfigurationException
{
Parameters params = Parameters.fromConfiguration(conf);
-
- if (this.repositoryName == null) {
- this.repositoryName = System.getProperty(Cocoon.TEMPDIR_PROPERTY,
Cocoon.DEFAULT_TEMP_DIR);
- }
this.autoReload = params.getParameterAsBoolean("auto-reload",
autoReload);
}
@@ -131,7 +128,7 @@
}
// Create filesystem store
- FilesystemStore repository = new FilesystemStore(this.repositoryName);
+ FilesystemStore repository = new FilesystemStore(this.workDir);
// Set filenames
String filename = IOUtils.getFullFilename(file);
@@ -153,7 +150,7 @@
recompilation under certain circumstances!
*/
program = programmingLanguage.load(
- normalizedName, this.repositoryName, null
+ normalizedName, this.workDir, null
);
// Store loaded program in cache
@@ -177,7 +174,7 @@
{
// Unload program
programmingLanguage.unload(
- program, normalizedName, this.repositoryName
+ program, normalizedName, this.workDir
);
// Invalidate previous program/instance pair
@@ -214,7 +211,7 @@
// [Compile]/Load generated program
program = programmingLanguage.load(
- normalizedName, this.repositoryName, encoding
+ normalizedName, this.workDir, encoding
);
// Store generated program in cache
No revision
No revision
1.1.2.8 +39 -14
xml-cocoon/src/org/apache/cocoon/components/language/programming/java/Attic/JavaLanguage.java
Index: JavaLanguage.java
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/programming/java/Attic/JavaLanguage.java,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- JavaLanguage.java 2000/09/19 00:27:17 1.1.2.7
+++ JavaLanguage.java 2000/09/22 20:27:31 1.1.2.8
@@ -5,10 +5,11 @@
* version 1.1, a copy of which has been included with this distribution in
*
* the LICENSE file.
*
*****************************************************************************/
-
+
package org.apache.cocoon.components.language.programming.java;
import java.io.File;
+import java.io.FileFilter;
import java.io.IOException;
import java.util.List;
@@ -27,10 +28,10 @@
* The Java programming language processor
*
* @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a>
- * @version CVS $Revision: 1.1.2.7 $ $Date: 2000/09/19 00:27:17 $
+ * @version CVS $Revision: 1.1.2.8 $ $Date: 2000/09/22 20:27:31 $
*/
public class JavaLanguage extends CompiledProgrammingLanguage {
-
+
/** The class loader */
ClassLoaderManager classLoaderManager;
@@ -105,7 +106,7 @@
throws LanguageException
{
try {
- this.classLoaderManager.addDirectory(baseDirectory);
+ this.classLoaderManager.addDirectory(baseDirectory);
return
this.classLoaderManager.loadClass(name.replace(File.separatorChar,
'.'));
} catch (Exception e) {
@@ -127,7 +128,7 @@
) throws LanguageException {
try {
-
+
AbstractJavaCompiler compiler = (AbstractJavaCompiler)
this.compilerClass.newInstance();
int pos = name.lastIndexOf(File.separatorChar);
@@ -135,25 +136,32 @@
String pathname =
baseDirectory + File.separator +
name.substring(0, pos).replace(File.separatorChar, '/');
-
+
compiler.setFile(
pathname + File.separator +
filename + "." + this.getSourceExtension()
);
-
+
compiler.setSource(pathname);
-
+
compiler.setDestination(baseDirectory);
-
- compiler.setClasspath(classpath + File.pathSeparator + baseDirectory);
-
+
+ String systemClasspath = System.getProperty("java.class.path");
+ String systemExtDirs = System.getProperty("java.ext.dirs");
+ compiler.setClasspath(
+ baseDirectory +
+ ((classpath != null) ? File.pathSeparator + classpath : "") +
+ ((systemClasspath != null) ? File.pathSeparator + systemClasspath :
"") +
+ ((systemExtDirs != null) ? File.pathSeparator +
expandDirs(systemExtDirs) : "")
+ );
+
if (encoding != null) {
compiler.setEncoding(encoding);
}
if (!compiler.compile()) {
StringBuffer message = new StringBuffer("Error compiling " +
filename + ":\n");
-
+
List errors = compiler.getErrors();
int count = errors.size();
for (int i = 0; i < count; i++) {
@@ -162,7 +170,7 @@
+ ", column " + error.getStartColumn()
+ ": " + error.getMessage());
}
-
+
throw new LanguageException(message.toString());
}
@@ -171,7 +179,7 @@
} catch (IllegalAccessException e) {
throw new LanguageException("Could not access the compiler class: " +
e.getMessage());
} catch (IOException e) {
- throw new LanguageException("Error during compilation: " +
e.getMessage());
+ throw new LanguageException("Error during compilation: " +
e.getMessage());
}
}
@@ -235,5 +243,22 @@
}
return buffer.toString();
+ }
+
+ private String expandDirs(String d) {
+ File dir = new File(d);
+ File[] files = dir.listFiles(new JavaArchivesFilter());
+ StringBuffer buffer = new StringBuffer();
+ for (int i = 0; i < files.length; i++) {
+ buffer.append(files[i] + File.pathSeparator);
+ }
+ return buffer.toString();
+ }
+
+ class JavaArchivesFilter implements FileFilter {
+ public boolean accept(File file) {
+ String name = file.getName();
+ return (name.endsWith(".jar") || name.endsWith("zip"));
+ }
}
}
No revision
No revision
1.1.4.21 +4 -4
xml-cocoon/src/org/apache/cocoon/servlet/Attic/CocoonServlet.java
Index: CocoonServlet.java
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/servlet/Attic/CocoonServlet.java,v
retrieving revision 1.1.4.20
retrieving revision 1.1.4.21
diff -u -r1.1.4.20 -r1.1.4.21
--- CocoonServlet.java 2000/09/22 12:19:36 1.1.4.20
+++ CocoonServlet.java 2000/09/22 20:27:36 1.1.4.21
@@ -40,7 +40,7 @@
* (Apache Software Foundation, Exoffice Technologies)
* @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a> Aisa
- * @version CVS $Revision: 1.1.4.20 $ $Date: 2000/09/22 12:19:36 $
+ * @version CVS $Revision: 1.1.4.21 $ $Date: 2000/09/22 20:27:36 $
*/
public class CocoonServlet extends HttpServlet {
@@ -51,7 +51,7 @@
private Exception exception;
private ServletContext context;
private String classpath;
- private File workpath;
+ private String workDir;
/**
* Initialize this <code>CocoonServlet</code> instance.
@@ -79,7 +79,7 @@
this.classpath = (String)
context.getAttribute(Cocoon.TOMCAT_SERVLET_CLASSPATH);
}
- this.workpath = (File)
this.context.getAttribute("javax.servlet.context.tempdir");
+ this.workDir = ((File)
this.context.getAttribute("javax.servlet.context.tempdir")).toString();
String configFileName = conf.getInitParameter("configurations");
if (configFileName == null) {
@@ -286,7 +286,7 @@
try {
this.context.log("Reloading from: " + this.configFile);
- Cocoon c = new Cocoon(this.configFile, this.classpath,
this.workpath);
+ Cocoon c = new Cocoon(this.configFile, this.classpath,
this.workDir);
this.creationTime = System.currentTimeMillis();