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();
   
  
  
  

Reply via email to