cedric      01/09/28 10:05:23

  Modified:    contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition
                        XmlParser.java XmlDefinition.java
                        I18nFactorySet.java FactorySet.java
                        DefinitionsFactory.java
               contrib/tiles/src/share/org/apache/struts/tiles
                        ActionComponentServlet.java
  Log:
  Correct the bug preventing Tiles running with latest commons-digester.jar.
  Add a log when factory is started.
  
  Revision  Changes    Path
  1.2       +5 -3      
jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/XmlParser.java
  
  Index: XmlParser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/XmlParser.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XmlParser.java    2001/08/01 14:36:42     1.1
  +++ XmlParser.java    2001/09/28 17:05:22     1.2
  @@ -50,7 +50,7 @@
           "-//Apache Software Foundation//DTD Tiles Configuration//EN",
           "/org/apache/struts/tiles/resources/tiles-config.dtd",
           "-//Apache Software Foundation//DTD Components Configuration//EN",
  -        "/org/apache/struts/tiles/resources/components-config.dtd",
  +        "/org/apache/struts/tiles/resources/tiles-config.dtd",
       };
   
        /**
  @@ -241,7 +241,7 @@
        try
       {
         // set first object in stack
  -    digester.clear();
  +    //digester.clear();
       digester.push(definitions);
         // parse
          digester.parse(in);
  @@ -260,7 +260,7 @@
        */
     public static void main(String[] args)
     {
  -  String filename = 
"E:/programs/jakarta-tomcat/webapps/wtiles-tutorial/WEB-INF/componentDefinitions.xml";
  +  String filename = 
"E:/programs/jakarta-tomcat/webapps/wtiles-struts/WEB-INF/tilesDefinitions.xml";
     //String filename = 
"E:/programs/jakarta-tomcat/webapps/wtiles-channel/WEB-INF/componentDefinitions.xml";
     //String filename2 = 
"E:/programs/jakarta-tomcat/webapps/wtiles-tutorial/WEB-INF/componentDefinitions.xml";
   
  @@ -290,6 +290,8 @@
       try
         {
            XmlParser parser = new XmlParser();
  +      parser.setValidating(true);
  +      parser.setDetailLevel(1);
         XmlDefinitionsSet definitions = new XmlDefinitionsSet();
           System.out.println( "  Parse file" );
         parser.parse( input, definitions);
  
  
  
  1.2       +1 -1      
jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/XmlDefinition.java
  
  Index: XmlDefinition.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/XmlDefinition.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XmlDefinition.java        2001/08/01 14:36:42     1.1
  +++ XmlDefinition.java        2001/09/28 17:05:22     1.2
  @@ -13,7 +13,7 @@
   public class XmlDefinition extends ComponentDefinition
   {
       /** Debug flag */
  -  static public final boolean debug = true;
  +  static public final boolean debug = false;
     /**
      * Extends attribute value.
      */
  
  
  
  1.2       +23 -2     
jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/I18nFactorySet.java
  
  Index: I18nFactorySet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/I18nFactorySet.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- I18nFactorySet.java       2001/08/01 14:36:42     1.1
  +++ I18nFactorySet.java       2001/09/28 17:05:22     1.2
  @@ -135,6 +135,9 @@
         System.out.println( "Bad format for parameter '"
                           + PARSER_DETAILS_PARAMETER_NAME
                           + "'. Integer expected.");
  +      servletContext.log( "Tiles factory init : Bad format for parameter '"
  +                        + PARSER_DETAILS_PARAMETER_NAME
  +                        + "'. Integer expected.");
         }
       }  // end if
   
  @@ -165,7 +168,9 @@
             {
             initFactory( servletContext, filename );
             if( DefinitionsUtil.userDebugLevel > 0)
  +            {
               System.out.println( "Factory initialized from file '" + filename + "'." 
);
  +            }
             }
            catch( FileNotFoundException ex )
             { // Do nothing
  @@ -197,6 +202,8 @@
   
       loaded = new HashMap();
       defaultFactory = createDefaultFactory( servletContext );
  +    if(debug)
  +      System.out.println( "default factory:" + defaultFactory );
     }
   
     /**
  @@ -224,8 +231,16 @@
       XmlDefinitionsSet rootXmlConfig = parseXmlFiles( servletContext, "", null );
       if( rootXmlConfig == null )
         throw new FileNotFoundException();
  +    if(debug)
  +      System.out.println( rootXmlConfig );
  +
       rootXmlConfig.resolveInheritances();
  -    return new DefinitionsFactory( rootXmlConfig );
  +
  +    DefinitionsFactory factory = new DefinitionsFactory( rootXmlConfig );
  +    if( DefinitionsUtil.userDebugLevel > DefinitionsUtil.NO_DEBUG )
  +      System.out.println( "factory loaded : " + factory );
  +
  +    return factory;
       }
   
     /**
  @@ -319,7 +334,7 @@
       loaded.put( lastPostfix, factory );
         // User help
       if( DefinitionsUtil.userDebugLevel > DefinitionsUtil.NO_DEBUG )
  -      System.out.println( factory );
  +      System.out.println( "factory loaded : " + factory );
         // return last available found !
       return factory;
       }
  @@ -409,7 +424,11 @@
         {
            InputStream input = servletContext.getResourceAsStream(filename);
            if(input == null )
  +        {
  +        //if(debug)
  +          //System.out.println( "Can't open file '" + filename + "'" );
           return xmlDefinitions;
  +        }
   
           // Check if parser already exist.
           // Doesn't seem to work yet.
  @@ -470,5 +489,7 @@
       name = name.substring( 0, dotIndex);
       return name + postfix + ext;
       }
  +
  +
   
   }
  
  
  
  1.2       +25 -9     
jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/FactorySet.java
  
  Index: FactorySet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/FactorySet.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FactorySet.java   2001/08/01 14:36:42     1.1
  +++ FactorySet.java   2001/09/28 17:05:22     1.2
  @@ -12,14 +12,15 @@
   import javax.servlet.ServletContext;
   import java.util.Map;
   import java.util.HashMap;
  +import java.util.Iterator;
   
   /**
    * Component Definitions factory.
  - * This factory contains several factories identified by a key. The 
  - * getDefinition() method first look for the factory key, retrieve or create this 
  + * This factory contains several factories identified by a key. The
  + * getDefinition() method first look for the factory key, retrieve or create this
    * factory and then call getDefinition() on the found factory.
    */
  -public abstract class FactorySet implements ComponentDefinitionsFactory 
  +public abstract class FactorySet implements ComponentDefinitionsFactory
   {
   
       /** Loaded factories */
  @@ -73,10 +74,10 @@
       } // end if
     return (DefinitionsFactory)factory;
     }
  -  
  +
     /**
      * Get a definition by its name.
  -   * @throws DefinitionsFactoryException An error occur while getting 
  +   * @throws DefinitionsFactoryException An error occur while getting
      * definition.
      * @param name Name of requested definition
      * @param request Current servlet request.
  @@ -94,9 +95,9 @@
     DefinitionsFactory factory = getFactory( key, request, servletContext);
     return factory.getDefinition( name, request, servletContext );
     }
  -  
  +
     /**
  -   * Create a factory for specified key. 
  +   * Create a factory for specified key.
      * This method is called by getFactory() when the requested factory doesn't 
already exist.
      * Must return a factory, even a default one.
      * Real implementation need to provide this method.
  @@ -107,7 +108,7 @@
      */
     abstract protected DefinitionsFactory createFactory(Object key, ServletRequest 
request, ServletContext servletContext)
             throws DefinitionsFactoryException;
  -  
  +
     /**
      * Init factory set.
      * @param servletContext Current servlet context
  @@ -119,8 +120,23 @@
     /**
      * @roseuid 3AFA4BEF038F
      */
  -  public FactorySet() 
  +  public FactorySet()
     {
     factories = new HashMap();
     }
  +
  +    /**
  +     *
  +     */
  +  public String toString()
  +    {
  +    Iterator i = factories.values().iterator();
  +    StringBuffer buff = new StringBuffer( "all FactorySet's factory : \n" );
  +    while( i.hasNext() )
  +      {
  +      buff.append( i.next().toString() ).append("\n");
  +      }
  +    return buff.toString();
  +    }
  +
   }
  
  
  
  1.2       +13 -6     
jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/DefinitionsFactory.java
  
  Index: DefinitionsFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/xmlDefinition/DefinitionsFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefinitionsFactory.java   2001/08/01 14:36:42     1.1
  +++ DefinitionsFactory.java   2001/09/28 17:05:22     1.2
  @@ -21,17 +21,17 @@
    * A factory for definitions.
    * This factory allows to retrieve definitions by their keys.
    */
  -public class DefinitionsFactory  
  +public class DefinitionsFactory
   {
        /** */
      protected Map definitions;
   
      /**
        * Get a definition by its name.
  -     * @throws DefinitionsFactoryException An error occur while getting 
  +     * @throws DefinitionsFactoryException An error occur while getting
        * definition.
        * @throws NoSuchDefinitionException No definition found for specified name
  -     * Implementation can throw more accurate exception as a subclass of this 
  +     * Implementation can throw more accurate exception as a subclass of this
        * exception
        */
      public ComponentDefinition getDefinition(String name, ServletRequest request, 
ServletContext servletContext)
  @@ -39,7 +39,7 @@
      {
      return (ComponentDefinition)definitions.get(name);
      }
  -   
  +
     /**
      * Put definition in set
      * @param definition
  @@ -61,7 +61,7 @@
   
         // First, resolve inheritance
       xmlDefinitions.resolveInheritances();
  -    
  +
         // Walk thru xml set and copy each definitions.
       Iterator i = xmlDefinitions.getDefinitions().values().iterator();
       while( i.hasNext() )
  @@ -70,6 +70,13 @@
         putDefinition( new ComponentDefinition( xmlDefinition) );
         }  // end loop
      }
  -   
  +    /**
  +     *
  +     */
  +  public String toString()
  +    {
  +    return definitions.toString();
  +    }
  +
   }
   
  
  
  
  1.3       +12 -4     
jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/ActionComponentServlet.java
  
  Index: ActionComponentServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/ActionComponentServlet.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ActionComponentServlet.java       2001/09/10 12:50:45     1.2
  +++ ActionComponentServlet.java       2001/09/28 17:05:23     1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/ActionComponentServlet.java,v
 1.2 2001/09/10 12:50:45 cedric Exp $
  - * $Revision: 1.2 $
  - * $Date: 2001/09/10 12:50:45 $
  + * $Header: 
/home/cvs/jakarta-struts/contrib/tiles/src/share/org/apache/struts/tiles/ActionComponentServlet.java,v
 1.3 2001/09/28 17:05:23 cedric Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/09/28 17:05:23 $
    * $Author: cedric $
    *
    */
  @@ -12,7 +12,13 @@
   
   import java.util.Locale;
   
  -import org.apache.struts.action.*;
  +import org.apache.struts.action.ActionServlet;
  +import org.apache.struts.action.ActionForward;
  +import org.apache.struts.action.ActionMapping;
  +import org.apache.struts.action.ActionErrors;
  +import org.apache.struts.action.ActionForm;
  +import org.apache.struts.action.Action;
  +
   import javax.servlet.*;
   import javax.servlet.http.*;
   import java.io.InputStream;
  @@ -60,8 +66,10 @@
         }
        catch( DefinitionsFactoryException ex )
         {
  +      log( "Fail to load Tiles definition factory", ex);
         throw new ServletException( ex.getMessage(), ex );
         }
  +    log( "Tiles definition factory loaded" );
       }
   
   
  
  
  


Reply via email to