sdeboy      2004/01/16 00:12:06

  Modified:    src/java/org/apache/log4j/jdbc JDBCReceiver.java
  Added:       src/java/org/apache/log4j/jdbc JDBCReceiverBeanInfo.java
  Log:
  jdbcreceiver now implementing pauseable (can be paused from chainsaw's receiver 
panel)
  added beaninfo class
  
  Revision  Changes    Path
  1.13      +19 -9     
logging-log4j-sandbox/src/java/org/apache/log4j/jdbc/JDBCReceiver.java
  
  Index: JDBCReceiver.java
  ===================================================================
  RCS file: 
/home/cvs/logging-log4j-sandbox/src/java/org/apache/log4j/jdbc/JDBCReceiver.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- JDBCReceiver.java 15 Dec 2003 17:00:55 -0000      1.12
  +++ JDBCReceiver.java 16 Jan 2004 08:12:06 -0000      1.13
  @@ -49,21 +49,21 @@
   
   package org.apache.log4j.jdbc;
   
  -import org.apache.log4j.Level;
  -import org.apache.log4j.Logger;
  -import org.apache.log4j.plugins.Receiver;
  -import org.apache.log4j.spi.LocationInfo;
  -import org.apache.log4j.spi.LoggingEvent;
  -
   import java.sql.Connection;
   import java.sql.DriverManager;
   import java.sql.ResultSet;
   import java.sql.SQLException;
   import java.sql.Statement;
  -
   import java.util.Hashtable;
   import java.util.StringTokenizer;
   
  +import org.apache.log4j.Level;
  +import org.apache.log4j.Logger;
  +import org.apache.log4j.plugins.Pauseable;
  +import org.apache.log4j.plugins.Receiver;
  +import org.apache.log4j.spi.LocationInfo;
  +import org.apache.log4j.spi.LoggingEvent;
  +
   
   /**
    * Convert Log data stored in a database into LoggingEvents.
  @@ -128,7 +128,7 @@
    * @author Scott Deboy <[EMAIL PROTECTED]>
    *
    */
  -public class JDBCReceiver extends Receiver {
  +public class JDBCReceiver extends Receiver implements Pauseable {
   
     /**
      * URL of the DB for default connection handling
  @@ -152,6 +152,7 @@
     private static final String WHERE_CLAUSE = " WHERE ";
     private static final String AND_CLAUSE = " AND ";
     private boolean whereExists = false;
  +  private boolean paused = false;
   
     public static final String LOG4J_ID_KEY = "log4jid";
     
  @@ -245,6 +246,13 @@
        return idField;
     }
   
  +  public void setPaused(boolean p) {
  +      paused = p; 
  +  }
  +
  +  public boolean isPaused() {
  +      return paused;
  +  }
     /**
      * Ensures that the given driver class has been loaded for sql connection
      * creation.
  @@ -369,7 +377,9 @@
                   new LocationInfo(fileName, className, methodName, lineNumber),
                   properties);
   
  -            doPost(event);
  +              if (!isPaused()) {
  +                  doPost(event);
  +              }
             }
              rs.close();
              rs = null;
  
  
  
  1.1                  
logging-log4j-sandbox/src/java/org/apache/log4j/jdbc/JDBCReceiverBeanInfo.java
  
  Index: JDBCReceiverBeanInfo.java
  ===================================================================
  /*
   * ============================================================================
   *                   The Apache Software License, Version 1.1
   * ============================================================================
   *
   *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without modifica-
   * tion, are permitted provided that the following conditions are met:
   *
   * 1. Redistributions of  source code must  retain the above copyright  notice,
   *    this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright notice,
   *    this list of conditions and the following disclaimer in the documentation
   *    and/or other materials provided with the distribution.
   *
   * 3. The end-user documentation included with the redistribution, if any, must
   *    include  the following  acknowledgment:  "This product includes  software
   *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
   *    Alternately, this  acknowledgment may  appear in the software itself,  if
   *    and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
   *    endorse  or promote  products derived  from this  software without  prior
   *    written permission. For written permission, please contact
   *    [EMAIL PROTECTED]
   *
   * 5. Products  derived from this software may not  be called "Apache", nor may
   *    "Apache" appear  in their name,  without prior written permission  of the
   *    Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * This software  consists of voluntary contributions made  by many individuals
   * on  behalf of the Apache Software  Foundation.  For more  information on the
   * Apache Software Foundation, please see <http://www.apache.org/>.
   *
   */
  package org.apache.log4j.jdbc;
  
  import java.beans.PropertyDescriptor;
  import java.beans.SimpleBeanInfo;
  
  
  /**
   * BeanInfo class for the meta-data of the JDBCReceiver.
   *
   * @author Scott Deboy <[EMAIL PROTECTED]>
   *
   */
  public class JDBCReceiverBeanInfo extends SimpleBeanInfo {
  
      /* (non-Javadoc)
       * @see java.beans.BeanInfo#getPropertyDescriptors()
       */
      public PropertyDescriptor[] getPropertyDescriptors() {
  
          try {
  
              return new PropertyDescriptor[] {
                  new PropertyDescriptor("refreshMillis", JDBCReceiver.class),
                  new PropertyDescriptor("sql", JDBCReceiver.class),
                  new PropertyDescriptor("user", JDBCReceiver.class),
                  new PropertyDescriptor("password", JDBCReceiver.class),
                  new PropertyDescriptor("IDField", JDBCReceiver.class),
                  new PropertyDescriptor("driver", JDBCReceiver.class),
              };
          } catch (Exception e) {
          }
  
          return null;
      }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to