You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by cr...@apache.org on 2001/01/16 04:52:58 UTC

cvs commit: jakarta-struts/src/share/org/apache/struts/util MessageResources.java MessageResourcesFactory.java

craigmcc    01/01/15 19:52:58

  Modified:    src/share/org/apache/struts/action ActionServlet.java
               src/share/org/apache/struts/util MessageResources.java
                        MessageResourcesFactory.java
  Log:
  Desupport the concept of a configurable PrintWriter for logging messages
  from a MessageResources implementation.  This is the short term fix for
  the problem of MessageResources not being Serializable.
  
  Revision  Changes    Path
  1.55      +4 -7      jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java
  
  Index: ActionServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- ActionServlet.java	2001/01/07 22:39:06	1.54
  +++ ActionServlet.java	2001/01/16 03:52:57	1.55
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.54 2001/01/07 22:39:06 craigmcc Exp $
  - * $Revision: 1.54 $
  - * $Date: 2001/01/07 22:39:06 $
  + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.55 2001/01/16 03:52:57 craigmcc Exp $
  + * $Revision: 1.55 $
  + * $Date: 2001/01/16 03:52:57 $
    *
    * ====================================================================
    *
  @@ -90,7 +90,6 @@
   import org.apache.struts.util.MessageResources;
   import org.apache.struts.util.MessageResourcesFactory;
   import org.apache.struts.util.RequestUtils;
  -import org.apache.struts.util.ServletContextWriter;
   import org.xml.sax.AttributeList;
   import org.xml.sax.SAXException;
   
  @@ -229,7 +228,7 @@
    * </ul>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.54 $ $Date: 2001/01/07 22:39:06 $
  + * @version $Revision: 1.55 $ $Date: 2001/01/16 03:52:57 $
    */
   
   public class ActionServlet
  @@ -955,8 +954,6 @@
   	if (debug >= 1)
   	    log(internal.getMessage("applicationLoading", value));
   	try {
  -            MessageResourcesFactory.setDefaultWriter
  -                (new ServletContextWriter(getServletContext()));
               String oldFactory =
                   MessageResourcesFactory.getFactoryClass();      
               if (factory != null)
  
  
  
  1.8       +10 -18    jakarta-struts/src/share/org/apache/struts/util/MessageResources.java
  
  Index: MessageResources.java
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MessageResources.java	2001/01/10 22:06:55	1.7
  +++ MessageResources.java	2001/01/16 03:52:57	1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v 1.7 2001/01/10 22:06:55 craigmcc Exp $
  - * $Revision: 1.7 $
  - * $Date: 2001/01/10 22:06:55 $
  + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v 1.8 2001/01/16 03:52:57 craigmcc Exp $
  + * $Revision: 1.8 $
  + * $Date: 2001/01/16 03:52:57 $
    *
    * ====================================================================
    * 
  @@ -63,7 +63,6 @@
   package org.apache.struts.util;
   
   
  -import java.io.PrintWriter;
   import java.io.Serializable;
   import java.text.MessageFormat;
   import java.util.HashMap;
  @@ -90,7 +89,7 @@
    * application server environments.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.7 $ $Date: 2001/01/10 22:06:55 $
  + * @version $Revision: 1.8 $ $Date: 2001/01/16 03:52:57 $
    */
   
   public abstract class MessageResources implements Serializable {
  @@ -504,12 +503,9 @@
        */
       public void log(String message) {
   
  -        PrintWriter writer = factory.getWriter();
  -        if (writer != null) {
  -            writer.print("MessageResources: ");
  -            writer.println(message);
  -            writer.flush();
  -        }
  +        System.out.print("MessageResources: ");
  +        System.out.println(message);
  +        System.out.flush();
   
       }
   
  @@ -523,13 +519,9 @@
        */
       public void log(String message, Throwable throwable) {
   
  -        PrintWriter writer = factory.getWriter();
  -        if (writer != null) {
  -            writer.print("MessageResources: ");
  -            writer.println(message);
  -            throwable.printStackTrace(writer);
  -            writer.flush();
  -        }
  +        System.out.print("MessageResources: ");
  +        System.out.println(message);
  +        throwable.printStackTrace(System.out);
   
       }
   
  
  
  
  1.2       +6 -43     jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java
  
  Index: MessageResourcesFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MessageResourcesFactory.java	2000/12/15 03:08:11	1.1
  +++ MessageResourcesFactory.java	2001/01/16 03:52:57	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v 1.1 2000/12/15 03:08:11 craigmcc Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/12/15 03:08:11 $
  + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v 1.2 2001/01/16 03:52:57 craigmcc Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/01/16 03:52:57 $
    *
    * ====================================================================
    * 
  @@ -63,9 +63,6 @@
   package org.apache.struts.util;
   
   
  -import java.io.PrintWriter;
  -
  -
   /**
    * Factory for <code>MessageResources</code> instances.  The general usage
    * pattern for this class is:
  @@ -81,7 +78,7 @@
    * </ul>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.1 $ $Date: 2000/12/15 03:08:11 $
  + * @version $Revision: 1.2 $ $Date: 2001/01/16 03:52:57 $
    */
   
   public abstract class MessageResourcesFactory {
  @@ -105,21 +102,6 @@
       }
   
   
  -    /**
  -     * The PrintWriter to which we can log debugging and error information,
  -     * if any.
  -     */
  -    protected PrintWriter writer = null;
  -
  -    public PrintWriter getWriter() {
  -        return (this.writer);
  -    }
  -
  -    public void setWriter(PrintWriter writer) {
  -        this.writer = writer;
  -    }
  -
  -
       // --------------------------------------------------------- Public Methods
   
   
  @@ -159,21 +141,6 @@
       }
   
   
  -    /**
  -     * The PrintWriter to which we can log error and debugging information,
  -     * if any.
  -     */
  -    protected static PrintWriter defaultWriter = null;
  -
  -    public static PrintWriter getDefaultWriter() {
  -        return (MessageResourcesFactory.defaultWriter);
  -    }
  -
  -    public static void setDefaultWriter(PrintWriter writer) {
  -        MessageResourcesFactory.defaultWriter = writer;
  -    }
  -
  -
       // --------------------------------------------------------- Static Methods
   
   
  @@ -191,14 +158,10 @@
                   clazz = Class.forName(factoryClass);
               MessageResourcesFactory factory =
                   (MessageResourcesFactory) clazz.newInstance();
  -            factory.setWriter(defaultWriter);
               return (factory);
           } catch (Throwable t) {
  -            if (defaultWriter != null) {
  -                defaultWriter.println("MessageResourcesFactory.createFactory");
  -                t.printStackTrace(defaultWriter);
  -                defaultWriter.flush();
  -            }
  +            System.out.println("MessageResourcesFactory.createFactory");
  +            t.printStackTrace(System.out);
               return (null);
           }
   
  
  
  

Re: cvs commit: jakarta-struts/src/share/org/apache/struts/util MessageResources.java MessageResourcesFactory.java

Posted by Johan Compagner <jc...@j-com.nl>.
> > Then you can call to that methods from all the locations you want and
> > don't need to worry about serialization.
> >
> 
> For GenericDataSource itself, I was not planning on changing anything -- the
> remainder of the class cannot be serialized because of the
> Connections themselves cannot be serialized.

But the when it get's serialized (with externalizeable) the connections that are open
don't get's serialized also, but the are being closed.
After deserializing the connections are made again (just as they would when the datasource
was fist made). Alle the properties are just strings so perfectly serializeable.

I have attached an implementation.

Here are the 2 new methods:

The read in:

public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException {
 driverClass = (String)in.readObject();
 url = (String)in.readObject();
 user = (String)in.readObject();
 password = (String)in.readObject();
 properties = (Properties)in.readObject();
 description = (String)in.readObject();
 maxCount = in.readInt();
 minCount = in.readInt();
 loginTimeout = in.readInt();
 readOnly = in.readBoolean();
 autoCommit = in.readBoolean();
 closed = in.readBoolean();
 if(!closed) {
  try  {
   open();
  } catch(SQLException ex)  {
   // what to do with it when an exeption does occur?
  }
 }
 // WHAT TO DO WITH IT???
 //protected PrintWriter logWriter = null;
}

The writer out:
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException {
 if(useCount > 0) {
  //What to do now exactly? (Because there are connections being used!)
  //for now just throwing NotSerializableException 
  throw new java.io.NotSerializableException("GenericDataSource");
 }
 out.writeObject(driverClass);
 out.writeObject(url);
 out.writeObject(user);
 out.writeObject(password);
 out.writeObject(properties);
 out.writeObject(description);
 out.writeInt(maxCount);
 out.writeInt(minCount);
 out.writeInt(loginTimeout);
 out.writeBoolean(readOnly);
 out.writeBoolean(autoCommit);
 out.writeBoolean(closed);
 if(!closed) {
  try  {
   close();
  } catch(SQLException ex)  {
   // what to do with it when an exeption does occur?
  }
 }
 // WHAT TO DO WITH IT???
 //protected PrintWriter logWriter = null;
}

Please comment on it if this absolutly doesn't work.
There are only 2 real exceptions/problems:
The PrintWriter and what 2 do when the useCount > 0 when it want to serialize.

I really thing this should be implemented because i can't say to my customers you must
use that or you must use this. So i must use a GenericDataSource (or something like that)
But maybe they have a Container that wants all objects to be serializeable so DataSource is at this
time, only then there are maybe some cases that must be thought through when deploying them on such
a container.

Johan C.






Re: cvs commit: jakarta-struts/src/share/org/apache/struts/util MessageResources.java MessageResourcesFactory.java

Posted by "Craig R. McClanahan" <Cr...@eng.sun.com>.
Johan Compagner wrote:

> What about the GenericDataSource printwriter?
>
> Isn't it possible to have somewhere a static method that returns the printwriter
> like this:
>
> public static PrintWriter getLogWriter()
> {
>     if(logWriter == null)
>     {
>         // Create the LogWriter
>     }
>     return logWriter;
> }
>
> Then you can call to that methods from all the locations you want and
> don't need to worry about serialization.
>

For GenericDataSource itself, I was not planning on changing anything -- the
remainder of the class cannot be serialized because of the
Connections themselves cannot be serialized.

For MessageResources this approach would work OK, but I'm not sure it is enough
of a "value add" to really worry about for debugging
messages.

>
> johan
>

Craig


>
> ----- Original Message -----
> From: <cr...@apache.org>
> To: <ja...@apache.org>
> Sent: Tuesday, January 16, 2001 4:52 AM
> Subject: cvs commit: jakarta-struts/src/share/org/apache/struts/util MessageResources.java MessageResourcesFactory.java
>
> > craigmcc    01/01/15 19:52:58
> >
> >   Modified:    src/share/org/apache/struts/action ActionServlet.java
> >                src/share/org/apache/struts/util MessageResources.java
> >                         MessageResourcesFactory.java
> >   Log:
> >   Desupport the concept of a configurable PrintWriter for logging messages
> >   from a MessageResources implementation.  This is the short term fix for
> >   the problem of MessageResources not being Serializable.
> >
> >   Revision  Changes    Path
> >   1.55      +4 -7      jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java
> >
> >   Index: ActionServlet.java
> >   ===================================================================
> >   RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v
> >   retrieving revision 1.54
> >   retrieving revision 1.55
> >   diff -u -r1.54 -r1.55
> >   --- ActionServlet.java 2001/01/07 22:39:06 1.54
> >   +++ ActionServlet.java 2001/01/16 03:52:57 1.55
> >   @@ -1,7 +1,7 @@
> >    /*
> >   - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.54 2001/01/07 22:39:06 craigmcc
> Exp $
> >   - * $Revision: 1.54 $
> >   - * $Date: 2001/01/07 22:39:06 $
> >   + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.55 2001/01/16 03:52:57 craigmcc
> Exp $
> >   + * $Revision: 1.55 $
> >   + * $Date: 2001/01/16 03:52:57 $
> >     *
> >     * ====================================================================
> >     *
> >   @@ -90,7 +90,6 @@
> >    import org.apache.struts.util.MessageResources;
> >    import org.apache.struts.util.MessageResourcesFactory;
> >    import org.apache.struts.util.RequestUtils;
> >   -import org.apache.struts.util.ServletContextWriter;
> >    import org.xml.sax.AttributeList;
> >    import org.xml.sax.SAXException;
> >
> >   @@ -229,7 +228,7 @@
> >     * </ul>
> >     *
> >     * @author Craig R. McClanahan
> >   - * @version $Revision: 1.54 $ $Date: 2001/01/07 22:39:06 $
> >   + * @version $Revision: 1.55 $ $Date: 2001/01/16 03:52:57 $
> >     */
> >
> >    public class ActionServlet
> >   @@ -955,8 +954,6 @@
> >    if (debug >= 1)
> >        log(internal.getMessage("applicationLoading", value));
> >    try {
> >   -            MessageResourcesFactory.setDefaultWriter
> >   -                (new ServletContextWriter(getServletContext()));
> >                String oldFactory =
> >                    MessageResourcesFactory.getFactoryClass();
> >                if (factory != null)
> >
> >
> >
> >   1.8       +10 -18    jakarta-struts/src/share/org/apache/struts/util/MessageResources.java
> >
> >   Index: MessageResources.java
> >   ===================================================================
> >   RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v
> >   retrieving revision 1.7
> >   retrieving revision 1.8
> >   diff -u -r1.7 -r1.8
> >   --- MessageResources.java 2001/01/10 22:06:55 1.7
> >   +++ MessageResources.java 2001/01/16 03:52:57 1.8
> >   @@ -1,7 +1,7 @@
> >    /*
> >   - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v 1.7 2001/01/10 22:06:55 craigmcc
> Exp $
> >   - * $Revision: 1.7 $
> >   - * $Date: 2001/01/10 22:06:55 $
> >   + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v 1.8 2001/01/16 03:52:57 craigmcc
> Exp $
> >   + * $Revision: 1.8 $
> >   + * $Date: 2001/01/16 03:52:57 $
> >     *
> >     * ====================================================================
> >     *
> >   @@ -63,7 +63,6 @@
> >    package org.apache.struts.util;
> >
> >
> >   -import java.io.PrintWriter;
> >    import java.io.Serializable;
> >    import java.text.MessageFormat;
> >    import java.util.HashMap;
> >   @@ -90,7 +89,7 @@
> >     * application server environments.
> >     *
> >     * @author Craig R. McClanahan
> >   - * @version $Revision: 1.7 $ $Date: 2001/01/10 22:06:55 $
> >   + * @version $Revision: 1.8 $ $Date: 2001/01/16 03:52:57 $
> >     */
> >
> >    public abstract class MessageResources implements Serializable {
> >   @@ -504,12 +503,9 @@
> >         */
> >        public void log(String message) {
> >
> >   -        PrintWriter writer = factory.getWriter();
> >   -        if (writer != null) {
> >   -            writer.print("MessageResources: ");
> >   -            writer.println(message);
> >   -            writer.flush();
> >   -        }
> >   +        System.out.print("MessageResources: ");
> >   +        System.out.println(message);
> >   +        System.out.flush();
> >
> >        }
> >
> >   @@ -523,13 +519,9 @@
> >         */
> >        public void log(String message, Throwable throwable) {
> >
> >   -        PrintWriter writer = factory.getWriter();
> >   -        if (writer != null) {
> >   -            writer.print("MessageResources: ");
> >   -            writer.println(message);
> >   -            throwable.printStackTrace(writer);
> >   -            writer.flush();
> >   -        }
> >   +        System.out.print("MessageResources: ");
> >   +        System.out.println(message);
> >   +        throwable.printStackTrace(System.out);
> >
> >        }
> >
> >
> >
> >
> >   1.2       +6 -43     jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java
> >
> >   Index: MessageResourcesFactory.java
> >   ===================================================================
> >   RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v
> >   retrieving revision 1.1
> >   retrieving revision 1.2
> >   diff -u -r1.1 -r1.2
> >   --- MessageResourcesFactory.java 2000/12/15 03:08:11 1.1
> >   +++ MessageResourcesFactory.java 2001/01/16 03:52:57 1.2
> >   @@ -1,7 +1,7 @@
> >    /*
> >   - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v 1.1 2000/12/15 03:08:11
> craigmcc Exp $
> >   - * $Revision: 1.1 $
> >   - * $Date: 2000/12/15 03:08:11 $
> >   + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v 1.2 2001/01/16 03:52:57
> craigmcc Exp $
> >   + * $Revision: 1.2 $
> >   + * $Date: 2001/01/16 03:52:57 $
> >     *
> >     * ====================================================================
> >     *
> >   @@ -63,9 +63,6 @@
> >    package org.apache.struts.util;
> >
> >
> >   -import java.io.PrintWriter;
> >   -
> >   -
> >    /**
> >     * Factory for <code>MessageResources</code> instances.  The general usage
> >     * pattern for this class is:
> >   @@ -81,7 +78,7 @@
> >     * </ul>
> >     *
> >     * @author Craig R. McClanahan
> >   - * @version $Revision: 1.1 $ $Date: 2000/12/15 03:08:11 $
> >   + * @version $Revision: 1.2 $ $Date: 2001/01/16 03:52:57 $
> >     */
> >
> >    public abstract class MessageResourcesFactory {
> >   @@ -105,21 +102,6 @@
> >        }
> >
> >
> >   -    /**
> >   -     * The PrintWriter to which we can log debugging and error information,
> >   -     * if any.
> >   -     */
> >   -    protected PrintWriter writer = null;
> >   -
> >   -    public PrintWriter getWriter() {
> >   -        return (this.writer);
> >   -    }
> >   -
> >   -    public void setWriter(PrintWriter writer) {
> >   -        this.writer = writer;
> >   -    }
> >   -
> >   -
> >        // --------------------------------------------------------- Public Methods
> >
> >
> >   @@ -159,21 +141,6 @@
> >        }
> >
> >
> >   -    /**
> >   -     * The PrintWriter to which we can log error and debugging information,
> >   -     * if any.
> >   -     */
> >   -    protected static PrintWriter defaultWriter = null;
> >   -
> >   -    public static PrintWriter getDefaultWriter() {
> >   -        return (MessageResourcesFactory.defaultWriter);
> >   -    }
> >   -
> >   -    public static void setDefaultWriter(PrintWriter writer) {
> >   -        MessageResourcesFactory.defaultWriter = writer;
> >   -    }
> >   -
> >   -
> >        // --------------------------------------------------------- Static Methods
> >
> >
> >   @@ -191,14 +158,10 @@
> >                    clazz = Class.forName(factoryClass);
> >                MessageResourcesFactory factory =
> >                    (MessageResourcesFactory) clazz.newInstance();
> >   -            factory.setWriter(defaultWriter);
> >                return (factory);
> >            } catch (Throwable t) {
> >   -            if (defaultWriter != null) {
> >   -                defaultWriter.println("MessageResourcesFactory.createFactory");
> >   -                t.printStackTrace(defaultWriter);
> >   -                defaultWriter.flush();
> >   -            }
> >   +            System.out.println("MessageResourcesFactory.createFactory");
> >   +            t.printStackTrace(System.out);
> >                return (null);
> >            }
> >
> >
> >
> >
> >

Re: cvs commit: jakarta-struts/src/share/org/apache/struts/util MessageResources.java MessageResourcesFactory.java

Posted by Johan Compagner <jc...@j-com.nl>.
What about the GenericDataSource printwriter?

Isn't it possible to have somewhere a static method that returns the printwriter
like this:

public static PrintWriter getLogWriter()
{
    if(logWriter == null)
    {
        // Create the LogWriter
    }
    return logWriter;
}

Then you can call to that methods from all the locations you want and
don't need to worry about serialization.

johan

----- Original Message -----
From: <cr...@apache.org>
To: <ja...@apache.org>
Sent: Tuesday, January 16, 2001 4:52 AM
Subject: cvs commit: jakarta-struts/src/share/org/apache/struts/util MessageResources.java MessageResourcesFactory.java


> craigmcc    01/01/15 19:52:58
>
>   Modified:    src/share/org/apache/struts/action ActionServlet.java
>                src/share/org/apache/struts/util MessageResources.java
>                         MessageResourcesFactory.java
>   Log:
>   Desupport the concept of a configurable PrintWriter for logging messages
>   from a MessageResources implementation.  This is the short term fix for
>   the problem of MessageResources not being Serializable.
>
>   Revision  Changes    Path
>   1.55      +4 -7      jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java
>
>   Index: ActionServlet.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v
>   retrieving revision 1.54
>   retrieving revision 1.55
>   diff -u -r1.54 -r1.55
>   --- ActionServlet.java 2001/01/07 22:39:06 1.54
>   +++ ActionServlet.java 2001/01/16 03:52:57 1.55
>   @@ -1,7 +1,7 @@
>    /*
>   - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.54 2001/01/07 22:39:06 craigmcc
Exp $
>   - * $Revision: 1.54 $
>   - * $Date: 2001/01/07 22:39:06 $
>   + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.55 2001/01/16 03:52:57 craigmcc
Exp $
>   + * $Revision: 1.55 $
>   + * $Date: 2001/01/16 03:52:57 $
>     *
>     * ====================================================================
>     *
>   @@ -90,7 +90,6 @@
>    import org.apache.struts.util.MessageResources;
>    import org.apache.struts.util.MessageResourcesFactory;
>    import org.apache.struts.util.RequestUtils;
>   -import org.apache.struts.util.ServletContextWriter;
>    import org.xml.sax.AttributeList;
>    import org.xml.sax.SAXException;
>
>   @@ -229,7 +228,7 @@
>     * </ul>
>     *
>     * @author Craig R. McClanahan
>   - * @version $Revision: 1.54 $ $Date: 2001/01/07 22:39:06 $
>   + * @version $Revision: 1.55 $ $Date: 2001/01/16 03:52:57 $
>     */
>
>    public class ActionServlet
>   @@ -955,8 +954,6 @@
>    if (debug >= 1)
>        log(internal.getMessage("applicationLoading", value));
>    try {
>   -            MessageResourcesFactory.setDefaultWriter
>   -                (new ServletContextWriter(getServletContext()));
>                String oldFactory =
>                    MessageResourcesFactory.getFactoryClass();
>                if (factory != null)
>
>
>
>   1.8       +10 -18    jakarta-struts/src/share/org/apache/struts/util/MessageResources.java
>
>   Index: MessageResources.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v
>   retrieving revision 1.7
>   retrieving revision 1.8
>   diff -u -r1.7 -r1.8
>   --- MessageResources.java 2001/01/10 22:06:55 1.7
>   +++ MessageResources.java 2001/01/16 03:52:57 1.8
>   @@ -1,7 +1,7 @@
>    /*
>   - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v 1.7 2001/01/10 22:06:55 craigmcc
Exp $
>   - * $Revision: 1.7 $
>   - * $Date: 2001/01/10 22:06:55 $
>   + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResources.java,v 1.8 2001/01/16 03:52:57 craigmcc
Exp $
>   + * $Revision: 1.8 $
>   + * $Date: 2001/01/16 03:52:57 $
>     *
>     * ====================================================================
>     *
>   @@ -63,7 +63,6 @@
>    package org.apache.struts.util;
>
>
>   -import java.io.PrintWriter;
>    import java.io.Serializable;
>    import java.text.MessageFormat;
>    import java.util.HashMap;
>   @@ -90,7 +89,7 @@
>     * application server environments.
>     *
>     * @author Craig R. McClanahan
>   - * @version $Revision: 1.7 $ $Date: 2001/01/10 22:06:55 $
>   + * @version $Revision: 1.8 $ $Date: 2001/01/16 03:52:57 $
>     */
>
>    public abstract class MessageResources implements Serializable {
>   @@ -504,12 +503,9 @@
>         */
>        public void log(String message) {
>
>   -        PrintWriter writer = factory.getWriter();
>   -        if (writer != null) {
>   -            writer.print("MessageResources: ");
>   -            writer.println(message);
>   -            writer.flush();
>   -        }
>   +        System.out.print("MessageResources: ");
>   +        System.out.println(message);
>   +        System.out.flush();
>
>        }
>
>   @@ -523,13 +519,9 @@
>         */
>        public void log(String message, Throwable throwable) {
>
>   -        PrintWriter writer = factory.getWriter();
>   -        if (writer != null) {
>   -            writer.print("MessageResources: ");
>   -            writer.println(message);
>   -            throwable.printStackTrace(writer);
>   -            writer.flush();
>   -        }
>   +        System.out.print("MessageResources: ");
>   +        System.out.println(message);
>   +        throwable.printStackTrace(System.out);
>
>        }
>
>
>
>
>   1.2       +6 -43     jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java
>
>   Index: MessageResourcesFactory.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- MessageResourcesFactory.java 2000/12/15 03:08:11 1.1
>   +++ MessageResourcesFactory.java 2001/01/16 03:52:57 1.2
>   @@ -1,7 +1,7 @@
>    /*
>   - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v 1.1 2000/12/15 03:08:11
craigmcc Exp $
>   - * $Revision: 1.1 $
>   - * $Date: 2000/12/15 03:08:11 $
>   + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/MessageResourcesFactory.java,v 1.2 2001/01/16 03:52:57
craigmcc Exp $
>   + * $Revision: 1.2 $
>   + * $Date: 2001/01/16 03:52:57 $
>     *
>     * ====================================================================
>     *
>   @@ -63,9 +63,6 @@
>    package org.apache.struts.util;
>
>
>   -import java.io.PrintWriter;
>   -
>   -
>    /**
>     * Factory for <code>MessageResources</code> instances.  The general usage
>     * pattern for this class is:
>   @@ -81,7 +78,7 @@
>     * </ul>
>     *
>     * @author Craig R. McClanahan
>   - * @version $Revision: 1.1 $ $Date: 2000/12/15 03:08:11 $
>   + * @version $Revision: 1.2 $ $Date: 2001/01/16 03:52:57 $
>     */
>
>    public abstract class MessageResourcesFactory {
>   @@ -105,21 +102,6 @@
>        }
>
>
>   -    /**
>   -     * The PrintWriter to which we can log debugging and error information,
>   -     * if any.
>   -     */
>   -    protected PrintWriter writer = null;
>   -
>   -    public PrintWriter getWriter() {
>   -        return (this.writer);
>   -    }
>   -
>   -    public void setWriter(PrintWriter writer) {
>   -        this.writer = writer;
>   -    }
>   -
>   -
>        // --------------------------------------------------------- Public Methods
>
>
>   @@ -159,21 +141,6 @@
>        }
>
>
>   -    /**
>   -     * The PrintWriter to which we can log error and debugging information,
>   -     * if any.
>   -     */
>   -    protected static PrintWriter defaultWriter = null;
>   -
>   -    public static PrintWriter getDefaultWriter() {
>   -        return (MessageResourcesFactory.defaultWriter);
>   -    }
>   -
>   -    public static void setDefaultWriter(PrintWriter writer) {
>   -        MessageResourcesFactory.defaultWriter = writer;
>   -    }
>   -
>   -
>        // --------------------------------------------------------- Static Methods
>
>
>   @@ -191,14 +158,10 @@
>                    clazz = Class.forName(factoryClass);
>                MessageResourcesFactory factory =
>                    (MessageResourcesFactory) clazz.newInstance();
>   -            factory.setWriter(defaultWriter);
>                return (factory);
>            } catch (Throwable t) {
>   -            if (defaultWriter != null) {
>   -                defaultWriter.println("MessageResourcesFactory.createFactory");
>   -                t.printStackTrace(defaultWriter);
>   -                defaultWriter.flush();
>   -            }
>   +            System.out.println("MessageResourcesFactory.createFactory");
>   +            t.printStackTrace(System.out);
>                return (null);
>            }
>
>
>
>
>