bloritsch    01/02/21 08:11:51

  Modified:    src/org/apache/cocoon/components/language/generator Tag:
                        xml-cocoon2 GeneratorSelector.java
  Log:
  Fix some class loading/naming issues
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.3   +15 -3     
xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/GeneratorSelector.java
  
  Index: GeneratorSelector.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/GeneratorSelector.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- GeneratorSelector.java    2001/02/21 15:52:47     1.1.2.2
  +++ GeneratorSelector.java    2001/02/21 16:11:51     1.1.2.3
  @@ -7,6 +7,8 @@
    
*****************************************************************************/
   package org.apache.cocoon.components.language.generator;
   
  +import java.io.File;
  +
   import org.apache.avalon.Component;
   import org.apache.avalon.ComponentManager;
   import org.apache.avalon.ComponentManagerException;
  @@ -14,6 +16,7 @@
   
   import org.apache.cocoon.components.classloader.ClassLoaderManager;
   import org.apache.cocoon.Roles;
  +import org.apache.cocoon.Constants;
   import org.apache.cocoon.CocoonComponentSelector;
   import org.apache.cocoon.util.ClassUtils;
   
  @@ -22,7 +25,7 @@
    * includes Sitemaps and XSP Pages
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
  - * @version CVS $Revision: 1.1.2.2 $ $Date: 2001/02/21 15:52:47 $
  + * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/02/21 16:11:51 $
    */
   public class GeneratorSelector extends CocoonComponentSelector {
       private ClassLoaderManager classManager;
  @@ -31,7 +34,14 @@
           super.compose(manager);
   
           this.classManager = (ClassLoaderManager) 
manager.lookup(Roles.CLASS_LOADER);
  +
  +        try {
  +            this.classManager.addDirectory((File) 
this.context.get(Constants.CONTEXT_WORK_DIR));
  +        } catch (Exception e) {
  +            throw new ComponentNotAccessibleException("Could not add 
repository to ClassLoaderManager", e);
  +        }
       }
  +
       public Component select(Object hint) throws ComponentManagerException {
           try {
               return super.select(hint);
  @@ -44,14 +54,16 @@
   
       private void addGenerator(Object hint) throws ComponentManagerException {
           Class generator;
  +        String className = hint.toString().replace(File.separatorChar, '.');
           try {
  -            generator = classManager.loadClass((String) hint);
  +            generator = this.classManager.loadClass(className);
           } catch (Exception e) {
  -            throw new ComponentNotAccessibleException("Could not add 
component for class: " + hint.toString(), e);
  +            throw new ComponentNotAccessibleException("Could not add 
component for class: " + className, e);
           }
   
           this.addGenerator(hint, generator);
       }
  +
       public void addGenerator(Object hint, Class generator) {
           this.components.put(hint, generator);
       }
  
  
  

Reply via email to