anders      01/04/03 09:37:43

  Modified:    src/java/org/apache/log4j AppenderSkeleton.java
                        AsyncAppender.java ConsoleAppender.java
                        DailyRollingFileAppender.java HTMLLayout.java
                        PatternLayout.java RollingFileAppender.java
                        SimpleLayout.java TTCCLayout.java
               src/java/org/apache/log4j/helpers DateLayout.java
                        OnlyOnceErrorHandler.java
               src/java/org/apache/log4j/net JMSAppender.java
                        SMTPAppender.java SocketAppender.java
                        SyslogAppender.java
               src/java/org/apache/log4j/nt NTEventLogAppender.java
               src/java/org/apache/log4j/spi OptionHandler.java
               src/java/org/apache/log4j/varia DenyAllFilter.java
                        ExternallyRolledFileAppender.java
                        PriorityMatchFilter.java StringMatchFilter.java
               src/java/org/apache/log4j/xml XMLLayout.java
  Log:
  Reinserted now deprecated OptionHandler methods setOptions() and
  getOptionStrings() for backwards compatibility.
  
  Revision  Changes    Path
  1.12      +2 -1      jakarta-log4j/src/java/org/apache/log4j/AppenderSkeleton.java
  
  Index: AppenderSkeleton.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/AppenderSkeleton.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- AppenderSkeleton.java     2001/03/21 22:03:36     1.11
  +++ AppenderSkeleton.java     2001/04/03 16:37:06     1.12
  @@ -188,7 +188,8 @@
        additional options they accept.  
        
        @deprecated We now use JavaBeans introspection to configure
  -     components. Options strings are no longer needed. */
  +     components. Options strings are no longer needed.
  +   */
     public
     String[] getOptionStrings() {
       return new String[] {THRESHOLD_OPTION};
  
  
  
  1.14      +85 -0     jakarta-log4j/src/java/org/apache/log4j/AsyncAppender.java
  
  Index: AsyncAppender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/AsyncAppender.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- AsyncAppender.java        2001/03/21 21:33:51     1.13
  +++ AsyncAppender.java        2001/04/03 16:37:07     1.14
  @@ -43,6 +43,33 @@
   public class AsyncAppender extends AppenderSkeleton 
                                               implements AppenderAttachable {
     
  +  /**
  +     A string constant used in naming the option for setting the
  +     location information flag.  Current value of this string
  +     constant is <b>LocationInfo</b>.  
  +
  +     <p>Note that all option keys are case sensitive.
  +
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  public static final String LOCATION_INFO_OPTION = "LocationInfo";
  +
  +
  +  /**
  +     A string constant used in naming the option for setting the size of the
  +     internal buffer where logging events are stored until they are written.
  +     Current value of this string constant is <b>BufferSize</b>.  
  +
  +     <p>Note that all option keys are case sensitive.
  +
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  public static final String BUFFER_SIZE_OPTION = "BufferSize";
  +
     /** The default buffer size is set to 128 events. */
     public static final int DEFAULT_BUFFER_SIZE = 128;
   
  @@ -201,6 +228,64 @@
     public
     int getBufferSize() {
       return bf.getMaxSize();
  +  }
  +
  + /**
  +     Returns the option names for this component in addition in
  +     addition to the options of its super class {@link
  +     AppenderSkeleton}.  
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +   */
  +  public
  +  String[] getOptionStrings() {
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +          new String[] {LOCATION_INFO_OPTION, BUFFER_SIZE_OPTION});
  +  }
  +
  + /**
  +     Set AsyncAppender specific options:
  +
  +     <p>On top of the options of the super class {@link
  +     AppenderSkeleton}, the only recognized options are
  +     <b>BufferSize</b> and <b>LocationInfo</b>.
  +     
  +     <p> The <b>BufferSize</b> option takes a non-negative integer
  +     value.  This integer value determines the maximum size of the
  +     bounded buffer. Increasing the size of the buffer is always
  +     safe. However, if an existing buffer holds unwritten elements,
  +     then <em>decreasing the buffer size will result in event
  +     loss.</em> Nevertheless, while script configuring the
  +     AsyncAppender, it is safe to set a buffer size smaller than the
  +     {@link #DEFAULT_BUFFER_SIZE default buffer size} because
  +     configurators guarantee that an appender cannot be used before
  +     being completely configured. 
  +
  +     <p>The <b>LocationInfo</b> option takes a boolean value. By
  +     default, it is set to false which means there will be no effort
  +     to extract the location information related to the event. As a
  +     result, the event that will be ultimately logged will likely to
  +     contain the wrong location information (if present in the log
  +     format).
  +
  +     <p>Location information extraction is comparatively very slow and
  +     should be avoided unless performance is not a concern.
  +
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  + */
  +  public
  +  void setOption(String option, String value) {
  +    if(value == null) return;
  +    super.setOption(option, value);
  +
  +    if (option.equals(LOCATION_INFO_OPTION))
  +      locationInfo = OptionConverter.toBoolean(value, locationInfo);
  +    else if (option.equals(BUFFER_SIZE_OPTION)) {
  +      int newSize = OptionConverter.toInt(value, DEFAULT_BUFFER_SIZE);
  +      bf.resize(newSize);
  +    }
     }
     
     /*
  
  
  
  1.6       +4 -2      jakarta-log4j/src/java/org/apache/log4j/ConsoleAppender.java
  
  Index: ConsoleAppender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/ConsoleAppender.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ConsoleAppender.java      2001/03/21 23:16:57     1.5
  +++ ConsoleAppender.java      2001/04/03 16:37:07     1.6
  @@ -24,8 +24,10 @@
     public static final String SYSTEM_ERR = "System.err";
   
     /**
  -    @deprecated We now use JavaBeans introspection to configure
  -    components. Options strings are no longer needed.  */
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
     public static final String TARGET_OPTION = "Target";
   
     protected String target = SYSTEM_OUT;
  
  
  
  1.11      +49 -2     
jakarta-log4j/src/java/org/apache/log4j/DailyRollingFileAppender.java
  
  Index: DailyRollingFileAppender.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/DailyRollingFileAppender.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DailyRollingFileAppender.java     2001/03/21 23:30:17     1.10
  +++ DailyRollingFileAppender.java     2001/04/03 16:37:08     1.11
  @@ -146,12 +146,17 @@
        A string constant used in naming the option for setting the
        filename pattern. Current value of this string constant is
        <strong>DatePattern</strong>.
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
      */
  -  //static final public String DATE_PATTERN_OPTION = "DatePattern";
  +  static final public String DATE_PATTERN_OPTION = "DatePattern";
     
     /**
        The date pattern. By default, the pattern is set to
  -     "'.'yyyy-MM-dd" meaning daily rollover.  */
  +     "'.'yyyy-MM-dd" meaning daily rollover. 
  +   */
     private String datePattern = "'.'yyyy-MM-dd";
   
     /**
  @@ -207,6 +212,48 @@
       return datePattern;
     }
   
  +  /**
  +     Retuns the option names for this component, namely {@link
  +     #DATE_PATTERN_OPTION} in
  +     addition to the options of {@link FileAppender#getOptionStrings
  +     FileAppender}.
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +
  +  */
  +  public
  +  String[] getOptionStrings() {
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +              new String[] {DATE_PATTERN_OPTION});
  +  }
  +
  +  /**
  +     Set the options for the {@link DailyRollingFileAppender}
  +     instance.
  +
  +     <p>The <b>DatePattern</b> takes a string in the same format as
  +     expected by {@link SimpleDateFormat}. This options determines the
  +     rollover schedule.
  +
  +     <p>Be sure to refer to the options in the super classes {@link
  +     FileAppender}, {@link WriterAppender} and in particular the
  +     <b>Threshold</b> option in {@link AppenderSkeleton}.
  +     
  +     </ul>
  +     
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  + */
  +  public
  +  void setOption(String key, String value) {
  +    if(value == null) return;
  +    super.setOption(key, value);    
  +    if(key.equalsIgnoreCase(DATE_PATTERN_OPTION)) {
  +      datePattern = value;
  +    }
  +  }
  +  
     public
     void activateOptions() {
       super.activateOptions();
  
  
  
  1.15      +52 -0     jakarta-log4j/src/java/org/apache/log4j/HTMLLayout.java
  
  Index: HTMLLayout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/HTMLLayout.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- HTMLLayout.java   2001/03/28 16:30:24     1.14
  +++ HTMLLayout.java   2001/04/03 16:37:08     1.15
  @@ -29,9 +29,61 @@
     // output buffer appended to when format() is invoked
     private StringBuffer sbuf = new StringBuffer(BUF_SIZE);
   
  +  /**
  +     A string constant used in naming the option for setting the the
  +     location information flag.  Current value of this string
  +     constant is <b>LocationInfo</b>.  
  +
  +     <p>Note that all option keys are case sensitive.
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +  */
  +  public static final String LOCATION_INFO_OPTION = "LocationInfo";
  +
     // Print no location info by default
     boolean locationInfo = false;
   
  +  /**
  +     Returns a String consisting of one element {@link
  +     #LOCATION_INFO_OPTION}. 
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  + */
  +  public
  +  String[] getOptionStrings() {
  +    return new String[] {LOCATION_INFO_OPTION};
  +  }
  +
  +  /**
  +     Set HTMLLayout specific options.
  +
  +     <p>The <b>LocationInfo</b> option takes a boolean value. By
  +     default, it is set to false which means there will be no location
  +     information output by this layout. If the the option is set to
  +     true, then the file name and line number of the statement
  +     at the origin of the log statement will be output. 
  +
  +     <p>If you are embedding this layout within an {@link
  +     org.apache.log4j.net.SMTPAppender} then make sure to set the
  +     <b>LocationInfo</b> option of that appender as well.
  +     
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +
  +   */
  +  public
  +  void setOption(String key, String value) {
  +    if(value == null) return;
  +
  +    if (key.equals(LOCATION_INFO_OPTION)) {
  +      locationInfo = OptionConverter.toBoolean(value, locationInfo);
  +    }
  +  }
  +  
     /**
        The <b>LocationInfo</b> option takes a boolean value. By
        default, it is set to false which means there will be no location
  
  
  
  1.8       +60 -0     jakarta-log4j/src/java/org/apache/log4j/PatternLayout.java
  
  Index: PatternLayout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/PatternLayout.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PatternLayout.java        2001/03/19 12:38:18     1.7
  +++ PatternLayout.java        2001/04/03 16:37:09     1.8
  @@ -378,6 +378,20 @@
      @since 0.8.2 */
   public class PatternLayout extends Layout {
   
  +   /**
  +     A string constant used in naming the option for setting the
  +     layout pattern. Current value of this string constant is
  +     <b>ConversionPattern</b>.
  +
  +     <p>Note that the search for all option keys is case sensitive.
  +     
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  final static public String CONVERSION_PATTERN_OPTION = "ConversionPattern";
  +
     /** Default pattern string for log output. Currently set to the
         string <b>"%m%n"</b> which just prints the application supplied
         message. */
  @@ -418,6 +432,52 @@
       this.pattern = pattern;
       head = createPatternParser((pattern == null) ? DEFAULT_CONVERSION_PATTERN : 
                             pattern).parse();
  +  }
  +  
  +  /**
  +     Returns the the array of option strings that {@link
  +     PatternLayout} recognizes. The only recognized option string is
  +     the value of {@link #CONVERSION_PATTERN_OPTION}.
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +  */
  +  public
  +  String[] getOptionStrings() {
  +    return new String[] {CONVERSION_PATTERN_OPTION};
  +  }  
  +
  +  /**
  +     The PatternLayout specific options are:
  +
  +     <p>
  +     <dl>
  +     <dt><b>ConversionPattern</b>
  +
  +     <p><dd>The value determines the conversion pattern used.
  +     
  +     </dl>
  +     
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +
  +   */
  +  public
  +  void setOption(String option, String value) {
  +    if(value == null)
  +      return;
  +    if(option.equalsIgnoreCase(CONVERSION_PATTERN_OPTION)) {
  +      pattern = value;
  +      head = createPatternParser(value).parse();
  +    }
  +    //else if(option.equals(TIMEZONE_OPTION)) {
  +    //try {
  +    //timezone = OptionConverter.substituteVars(value);
  +    //}
  +    //catch(IllegalArgumentException e) {
  +    //LogLog.error("Could not substitute variables." , e);
  +    //}
  +    //}
     }
     
     /**
  
  
  
  1.8       +56 -0     jakarta-log4j/src/java/org/apache/log4j/RollingFileAppender.java
  
  Index: RollingFileAppender.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/RollingFileAppender.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- RollingFileAppender.java  2001/03/20 13:21:48     1.7
  +++ RollingFileAppender.java  2001/04/03 16:37:10     1.8
  @@ -32,6 +32,29 @@
   */
   public class RollingFileAppender extends FileAppender {
     /**
  +     A string constant used in naming the option for setting the
  +     maximum size of the log file. Current value of this string constant is
  +     <b>MaxFileSize</b>.
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +   */
  +  static final public String MAX_FILE_SIZE_OPTION = "MaxFileSize";
  +  
  +   /**
  +     A string constant used in naming the option for setting the the
  +     number of backup files to retain. Current value of this string
  +     constant is <b>MaxBackupIndex</b>. 
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  + */
  +  static final public String MAX_BACKUP_INDEX_OPTION = "MaxBackupIndex";  
  +
  +  /**
        The default maximum file size is 10MB. 
     */
     protected long maxFileSize = 10*1024*1024; 
  @@ -73,6 +96,39 @@
     public
     RollingFileAppender(Layout layout, String filename) throws IOException {
       super(layout, filename);
  +  }
  +  
  +  /**
  +     Retuns the option names for this component, namely {@link
  +     #MAX_FILE_SIZE_OPTION} and {@link #MAX_BACKUP_INDEX_OPTION} in
  +     addition to the options of {@link FileAppender#getOptionStrings}
  +
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +     FileAppender}.  */
  +  public
  +  String[] getOptionStrings() {
  +
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +              new String[] {MAX_FILE_SIZE_OPTION, MAX_BACKUP_INDEX_OPTION});
  +  }
  +  
  +   /**
  +     
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +
  +    */
  +  public
  +  void setOption(String key, String value) {
  +    super.setOption(key, value);    
  +    if(key.equalsIgnoreCase(MAX_FILE_SIZE_OPTION)) {
  +      maxFileSize = OptionConverter.toFileSize(value, maxFileSize + 1);
  +    }
  +    else if(key.equalsIgnoreCase(MAX_BACKUP_INDEX_OPTION)) {
  +      maxBackupIndex = OptionConverter.toInt(value, maxBackupIndex);
  +    }
     }
     
     /**
  
  
  
  1.6       +9 -0      jakarta-log4j/src/java/org/apache/log4j/SimpleLayout.java
  
  Index: SimpleLayout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/SimpleLayout.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SimpleLayout.java 2001/03/19 12:38:18     1.5
  +++ SimpleLayout.java 2001/04/03 16:37:10     1.6
  @@ -28,6 +28,15 @@
     }
   
     public
  +  String[] getOptionStrings() {
  +    return new String[0];
  +  }
  +
  +  public
  +  void setOption(String option, String value) {
  +  }
  +  
  +  public
     void activateOptions() {
     }
     
  
  
  
  1.8       +48 -3     jakarta-log4j/src/java/org/apache/log4j/TTCCLayout.java
  
  Index: TTCCLayout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/TTCCLayout.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TTCCLayout.java   2001/03/19 12:38:18     1.7
  +++ TTCCLayout.java   2001/04/03 16:37:11     1.8
  @@ -69,9 +69,26 @@
   */
   public class TTCCLayout extends DateLayout {
   
  -  //final static public String THREAD_PRINTING_OPTION = "ThreadPrinting";
  -  //final static public String CATEGORY_PREFIXING_OPTION = "CategoryPrefixing";
  -  //final static public String CONTEXT_PRINTING_OPTION  = "ContextPrinting";  
  +  /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  final static public String THREAD_PRINTING_OPTION = "ThreadPrinting";
  +  
  +  /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  final static public String CATEGORY_PREFIXING_OPTION = "CategoryPrefixing";
  +  
  +  /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  final static public String CONTEXT_PRINTING_OPTION  = "ContextPrinting";  
   
                
     // Internal representation of options
  @@ -107,6 +124,34 @@
       this.setDateFormat(dateFormatType);
     }
     
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +   */
  +  public
  +  String[] getOptionStrings() {
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +              new String[] {THREAD_PRINTING_OPTION, CATEGORY_PREFIXING_OPTION,
  +                         CONTEXT_PRINTING_OPTION});
  +
  +  }
  +
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +   */
  +  public
  +  void setOption(String key, String value) {
  +    super.setOption(key, value);    
  +
  +    if(key.equalsIgnoreCase(THREAD_PRINTING_OPTION)) 
  +      threadPrinting = OptionConverter.toBoolean(value, threadPrinting);
  +    else if(key.equalsIgnoreCase(CATEGORY_PREFIXING_OPTION))
  +      categoryPrefixing = OptionConverter.toBoolean(value, categoryPrefixing);
  +    else if(key.equalsIgnoreCase(CONTEXT_PRINTING_OPTION))
  +      contextPrinting = OptionConverter.toBoolean(value, contextPrinting);
  +  }
  +
     /**
        The <b>ThreadPrinting</b> option specifies whether the name of the
        current thread is part of log output or not. This is true by default.
  
  
  
  1.5       +35 -2     jakarta-log4j/src/java/org/apache/log4j/helpers/DateLayout.java
  
  Index: DateLayout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/helpers/DateLayout.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DateLayout.java   2001/03/19 12:38:19     1.4
  +++ DateLayout.java   2001/04/03 16:37:19     1.5
  @@ -45,8 +45,19 @@
   
     protected FieldPosition pos = new FieldPosition(0);
   
  -  //final static public String DATE_FORMAT_OPTION = "DateFormat";
  -  //final static public String TIMEZONE_OPTION = "TimeZone";  
  +  /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  final static public String DATE_FORMAT_OPTION = "DateFormat";
  +  
  +  /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  final static public String TIMEZONE_OPTION = "TimeZone";  
   
     private String timeZoneID;
     private String dateFormatOption;  
  @@ -54,6 +65,28 @@
     protected DateFormat dateFormat;
     protected Date date = new Date();
   
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +  */
  +  public
  +  String[] getOptionStrings() {
  +    return new String[] {DATE_FORMAT_OPTION, TIMEZONE_OPTION};
  +  }
  +
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +  */
  +  public
  +  void setOption(String option, String value) {
  +    if(option.equalsIgnoreCase(DATE_FORMAT_OPTION)) {
  +      dateFormatOption = value.toUpperCase();
  +    } else if(option.equalsIgnoreCase(TIMEZONE_OPTION)) {
  +      timeZoneID = value;
  +    }
  +  }
  +  
   
     /**
       The value of the <b>DateFormat</b> option should be either an
  
  
  
  1.6       +22 -0     
jakarta-log4j/src/java/org/apache/log4j/helpers/OnlyOnceErrorHandler.java
  
  Index: OnlyOnceErrorHandler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/helpers/OnlyOnceErrorHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- OnlyOnceErrorHandler.java 2001/03/19 12:38:19     1.5
  +++ OnlyOnceErrorHandler.java 2001/04/03 16:37:20     1.6
  @@ -32,6 +32,28 @@
     boolean firstTime = true;
   
     /**
  +     Returns <code>null</code> as <code>OnlyOnceErrorHandler</code>
  +     has no options. 
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  + */
  +  public
  +  String[] getOptionStrings() {
  +    return null;
  +  }
  +
  +  /**
  +     No options to set.
  +     
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +  */
  +  public
  +  void setOption(String key, String value) {
  +  }
  +
  +  /**
        No options to activate.
     */
     public
  
  
  
  1.10      +79 -0     jakarta-log4j/src/java/org/apache/log4j/net/JMSAppender.java
  
  Index: JMSAppender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/JMSAppender.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JMSAppender.java  2001/03/19 12:38:19     1.9
  +++ JMSAppender.java  2001/04/03 16:37:23     1.10
  @@ -27,6 +27,36 @@
      @author Ceki G&uuml;lc&uuml;
   */
   public class JMSAppender extends AppenderSkeleton {
  +  /**
  +     A string constant used in naming the topic connection factory
  +     binding name option.  output file. Current value of this string
  +     constant is <b>TopicConnectionFactoryBindingName</b>.
  +
  +     <p>Note that all option keys are case sensitive.
  +     
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +  */
  +  public static final String TOPIC_CONNECTION_FACTORY_BINDING_NAME_OPTION 
  +                                                 = 
"TopicConnectionFactoryBindingName";
  +
  +  /**
  +     A string constant used in naming the topic binding name option.
  +     Current value of this string constant is <b>TopicBindingName</b>.
  +
  +     <p>Note that all option keys are case sensitive.
  +     
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +  */
  +  public static final String TOPIC_BINDING_NAME_OPTION = "TopicBindingName";
  +
     TopicConnection  topicConnection;
     TopicSession topicSession;
     TopicPublisher  topicPublisher;
  @@ -37,6 +67,55 @@
     JMSAppender() {
     }
   
  + /**
  +     Retuns the option names for this component, namely the string
  +     array {@link #TOPIC_BINDING_NAME_OPTION}, {@link
  +     #TOPIC_CONNECTION_FACTORY_BINDING_NAME_OPTION} in addition to the
  +     options of its super class {@link AppenderSkeleton}.
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +  */
  +  
  +  public
  +  String[] getOptionStrings() {
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +          new String[] {TOPIC_BINDING_NAME_OPTION, 
  +                       TOPIC_CONNECTION_FACTORY_BINDING_NAME_OPTION});
  +  }
  +
  + /**
  +     Set <code>JMSAppender</code> specific options.
  +          
  +     The options of the super class {@link AppenderSkeleton} are also
  +     recognized.
  +
  +     <p>The <b>TopicConnectionFactoryBindingName</b> option takes a
  +     string value. Its value will be used to lookup the appropriate
  +     <code>TopicConnectionFactory</code> from the JNDI context.
  +
  +     <p>The <b>TopicBindingName</b> option takes a
  +     string value. Its value will be used to lookup the appropriate
  +     <code>Topic</code> from the JNDI context.         
  +     
  +     
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +
  + */
  +
  +  public
  +  void setOption(String key, String value) {
  +    if(value == null) return;
  +    super.setOption(key, value);    
  +    
  +    if(key.equals(TOPIC_BINDING_NAME_OPTION)) 
  +      topicBindingName = value;
  +    else if(key.equals(TOPIC_CONNECTION_FACTORY_BINDING_NAME_OPTION)) {
  +      tcfBindingName = value;
  +    }
  +  }
  +  
     /**
        The <b>TopicConnectionFactoryBindingName</b> option takes a
        string value. Its value will be used to lookup the appropriate
  
  
  
  1.22      +16 -0     jakarta-log4j/src/java/org/apache/log4j/net/SMTPAppender.java
  
  Index: SMTPAppender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SMTPAppender.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- SMTPAppender.java 2001/03/28 16:30:28     1.21
  +++ SMTPAppender.java 2001/04/03 16:37:24     1.22
  @@ -166,6 +166,22 @@
       this.evaluator = evaluator;
     }
   
  + /**
  +     Retuns the option names for this component in addition in
  +     addition to the options of its super class {@link
  +     AppenderSkeleton}.
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +  */
  +  public
  +  String[] getOptionStrings() {
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +          new String[] {TO_OPTION, FROM_OPTION, SUBJECT_OPTION, 
  +                       SMTP_HOST_OPTION, BUFFER_SIZE_OPTION,  
  +                       EVALUATOR_CLASS_OPTION, LOCATION_INFO_OPTION });
  +  }
  +  
   
     /**
        Activate the specified options, such as the smtp host, the
  
  
  
  1.8       +95 -0     jakarta-log4j/src/java/org/apache/log4j/net/SocketAppender.java
  
  Index: SocketAppender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SocketAppender.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SocketAppender.java       2001/03/19 12:38:20     1.7
  +++ SocketAppender.java       2001/04/03 16:37:25     1.8
  @@ -97,6 +97,62 @@
   
   public class SocketAppender extends AppenderSkeleton {
     /**
  +     A string constant used in naming the option for setting the the
  +     host name of the remote server.  Current value of this string
  +     constant is <b>RemoteHost</b>. See the {@link #setOption} method
  +     for the meaning of this option.
  +
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +  */
  +  public static final String REMOTE_HOST_OPTION = "RemoteHost";
  +
  + /**
  +     A string constant used in naming the option for setting the the
  +     port to contect on the remote server.  Current value of this string
  +     constant is <b>Port</b>.  See the {@link #setOption} method
  +     for the meaning of this option.
  +
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +  */
  +  public static final String PORT_OPTION = "Port";
  +
  +  /**
  +     A string constant used in naming the option for setting the the
  +     location information flag.  Current value of this string
  +     constant is <b>LocationInfo</b>.  See the {@link #setOption} method
  +     for the meaning of this option.
  +
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +  */
  +  public static final String LOCATION_INFO_OPTION = "LocationInfo";
  +
  +  /**
  +     A string constant used in naming the option for setting the delay
  +     between each reconneciton attempt to remote server.  Current
  +     value a of this string constant is <b>ReconnectionDelay</b>.  See
  +     the {@link #setOption} method for the meaning of this option.
  +
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +  */
  +  public static final String RECONNECTION_DELAY_OPTION = "ReconnectionDelay";
  +
  +  /**
        The default port number of remote logging server (4560).
     */
     static final int DEFAULT_PORT                 = 4560;
  @@ -151,7 +207,46 @@
       this.remoteHost = host;
       connect(address, port);
     }
  +  
  +  /**
  +     Retuns the option names for this component, namely the string
  +     array consisting of {{@link #REMOTE_HOST_OPTION}, {@link
  +     #PORT_OPTION}, {@link #LOCATION_INFO_OPTION}, {@link
  +     #RECONNECTION_DELAY_OPTION}} in addition to the options of its
  +     super class {@link AppenderSkeleton}.
  +
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +    */
  +  public
  +  String[] getOptionStrings() {
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +                          new String[] {REMOTE_HOST_OPTION, PORT_OPTION, 
  +                                     LOCATION_INFO_OPTION,
  +                                     RECONNECTION_DELAY_OPTION});
  +  }
   
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method.
  +   */
  +  public
  +  void setOption(String option, String value) {
  +    if(value == null) return;
  +    super.setOption(option, value);    
  +
  +    if(option.equals(REMOTE_HOST_OPTION)) {
  +      address = getAddressByName(value);
  +      remoteHost = value;
  +    } else if (option.equals(PORT_OPTION)) {
  +      port = OptionConverter.toInt(value, port);
  +    } else if (option.equals(LOCATION_INFO_OPTION)) {
  +      locationInfo = OptionConverter.toBoolean(value, locationInfo);    
  +    } else if (option.equals(RECONNECTION_DELAY_OPTION)) {
  +      reconnectionDelay = OptionConverter.toInt(value, reconnectionDelay);  
  +    }
  +  }
  +  
     /**
        Connect to the specified <b>RemoteHost</b> and <b>Port</b>. 
     */
  
  
  
  1.10      +73 -0     jakarta-log4j/src/java/org/apache/log4j/net/SyslogAppender.java
  
  Index: SyslogAppender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SyslogAppender.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SyslogAppender.java       2001/03/28 18:34:10     1.9
  +++ SyslogAppender.java       2001/04/03 16:37:25     1.10
  @@ -80,6 +80,43 @@
     /** reserved for local use*/
     final static public int LOG_LOCAL7 = 23<<3; 
   
  +   /**
  +     A string constant used in naming the option for setting the
  +     syslog server.  Current value of this string constant is
  +     <b>SyslogHost</b>.
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +     @since 0.8.1 */
  +  public static final String SYSLOG_HOST_OPTION = "SyslogHost";
  +
  +   /**
  +     A string constant used in naming the option for setting facility
  +     type.  Current value of this string constant is <b>Facility</b>.
  +
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +     @since 0.8.1 */
  +  public static final String FACILITY_OPTION = "Facility";  
  +
  +   /**
  +     A string constant used in naming the option for setting whether
  +     the facility name is printed or not.  Current value of this
  +     string constant is <b>FacilityPrinting</b>.
  +
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +     @since 0.8.1 */
  +  public static final String FACILITY_PRINTING_OPTION = "FacilityPrinting";  
  +
     protected static final int SYSLOG_HOST_OI = 0;
     protected static final int FACILITY_OI = 1;
     
  @@ -112,6 +149,42 @@
       setSyslogHost(syslogHost);
     }
   
  +  /**
  +     Returns the option names for this component, namely the string
  +     array consisting of {{@link #SYSLOG_HOST_OPTION}, {@link
  +     #FACILITY_OPTION}, {@link #FACILITY_PRINTING_OPTION}}.
  +
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +
  +     @since 0.8.1 */
  +  public
  +  String[] getOptionStrings() {
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +                   new String[] {SYSLOG_HOST_OPTION, FACILITY_OPTION,
  +                                 FACILITY_PRINTING_OPTION});
  +  }
  +  
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +
  +   */
  +  public
  +  void setOption(String option, String value) {
  +    if(value == null) return;
  +    
  +    super.setOption(option, value);    
  +    
  +    if(option.equals(SYSLOG_HOST_OPTION)) 
  +      this.setSyslogHost(value);
  +    else if(option.equals(FACILITY_PRINTING_OPTION))
  +      facilityPrinting = OptionConverter.toBoolean(value, facilityPrinting);
  +    else if(option.equals(FACILITY_OPTION)) {
  +      this.setFacility(value);
  +    }
  +  }
  +  
   
     /**
        Release any resources held by this SyslogAppender.
  
  
  
  1.11      +39 -0     
jakarta-log4j/src/java/org/apache/log4j/nt/NTEventLogAppender.java
  
  Index: NTEventLogAppender.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/nt/NTEventLogAppender.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- NTEventLogAppender.java   2001/03/28 16:30:30     1.10
  +++ NTEventLogAppender.java   2001/04/03 16:37:31     1.11
  @@ -31,6 +31,17 @@
   public class NTEventLogAppender extends AppenderSkeleton {
     private int _handle = 0;
   
  +  /**
  +     The string constant used in naming the source of the event. The
  +     current value of this constant is <b>Source</b>.
  +
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +
  +   */
  +  public static final String SOURCE_OPTION = "Source";
  +  
     private String source = null;
     private String server = null;
   
  @@ -75,6 +86,34 @@
       } catch (Exception e) {
         e.printStackTrace();
         _handle = 0;
  +    }
  +  }
  +
  +  /**
  +     Returns the option names for this component.
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +   **/
  +  public
  +  String[] getOptionStrings() {
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +          new String[] {SOURCE_OPTION});
  +  }
  +
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +  */
  +  public
  +  void setOption(String key, String value) {
  +    if(value == null) return;
  +    super.setOption(key, value);
  +    
  +
  +    if(key.equalsIgnoreCase(SOURCE_OPTION)) {
  +      // Set the source for the NT Evetns
  +      source = value.trim();
       }
     }
   
  
  
  
  1.6       +21 -2     jakarta-log4j/src/java/org/apache/log4j/spi/OptionHandler.java
  
  Index: OptionHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/OptionHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- OptionHandler.java        2001/03/19 12:38:20     1.5
  +++ OptionHandler.java        2001/04/03 16:37:33     1.6
  @@ -5,10 +5,10 @@
    * License version 1.1, a copy of which has been included with this
    * distribution in the LICENSE.APL file.  */
   
  -
  -
   package org.apache.log4j.spi;
   
  +import org.apache.log4j.FileAppender;
  +
   /**
      A string based interface to configure package components.
   
  @@ -32,4 +32,23 @@
        ambigous until the other is also set.
     */
     void activateOptions();
  +
  +  /**
  +     Return list of strings that the OptionHandler instance recognizes.
  +     
  +     @deprecated use JavaBeans style getters/setters
  +   */
  +  String[] getOptionStrings();
  +
  +  /**
  +     Set <code>option</code> to <code>value</code>.
  +
  +     <p>The handling of each option depends on the OptionHandler
  +     instance. Some options may become active immediately whereas
  +     other may be activated only when {@link #activateOptions} is
  +     called.
  +     
  +     @deprecated use JavaBeans style getters/setters
  +  */
  +  void setOption(String option, String value);
   }
  
  
  
  1.5       +22 -0     jakarta-log4j/src/java/org/apache/log4j/varia/DenyAllFilter.java
  
  Index: DenyAllFilter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/varia/DenyAllFilter.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DenyAllFilter.java        2001/03/19 12:38:22     1.4
  +++ DenyAllFilter.java        2001/04/03 16:37:35     1.5
  @@ -22,6 +22,28 @@
   public class DenyAllFilter extends Filter {
   
     /**
  +     Returns <code>null</code> as there are no options.
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +  */
  +  public
  +  String[] getOptionStrings() {
  +    return null;
  +  }
  +
  +  
  +  /**
  +     No options to set.
  +     
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +  */
  +  public
  +  void setOption(String key, String value) {
  +  }
  +  
  +  /**
        Always returns the integer constant {@link Filter#DENY}
        regardless of the {@link LoggingEvent} parameter.
   
  
  
  
  1.7       +51 -0     
jakarta-log4j/src/java/org/apache/log4j/varia/ExternallyRolledFileAppender.java
  
  Index: ExternallyRolledFileAppender.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/varia/ExternallyRolledFileAppender.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ExternallyRolledFileAppender.java 2001/03/19 12:38:22     1.6
  +++ ExternallyRolledFileAppender.java 2001/04/03 16:37:35     1.7
  @@ -40,6 +40,19 @@
   public class ExternallyRolledFileAppender extends RollingFileAppender {
   
     /**
  +     A string constant used in naming the option for setting the port
  +     for listening to external roll over messages. Current value of
  +     this string constant is <b>Port</b>.  
  +
  +     <p>All option keys are case sensitive. 
  +      
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +   */
  +  static final public String PORT_OPTION = "Port";
  +
  +  /**
        The string constant sent to initiate a roll over.   Current value of
        this string constant is <b>RollOver</b>.  
     */
  @@ -59,6 +72,44 @@
        constructor.  */
     public
     ExternallyRolledFileAppender() { 
  +  }
  +  
  +  /**
  +     Returns the option names for this component, namely {@link
  +     #PORT_OPTION} in addition to the options of its super class {@link
  +     RollingFileAppender#getOptionStrings FileAppender}. 
  +     
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  + */
  +  public
  +  String[] getOptionStrings() {
  +
  +    return OptionConverter.concatanateArrays(super.getOptionStrings(),
  +              new String[] {PORT_OPTION});
  +  }
  +
  +  /**
  +     Set ExternallyRolledFileAppender specific options.
  +
  +     In addition to {@link org.apache.log4j.FileAppender#setOption FileAppender
  +     options} and {@link RollingFileAppender#setOption RollingFileAppender
  +     options}, ExternallyRolledFileAppender recognizes the option
  +     <b>Port</b>.
  +
  +     <p>The <b>Port</b> option is used for setting the port for 
  +     listening to external roll over messages.
  +
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +   */
  +  public
  +  void setOption(String option, String value) {
  +    super.setOption(option, value);    
  +    if(option.equalsIgnoreCase(PORT_OPTION)) {
  +      port = OptionConverter.toInt(value, port);
  +      LogLog.debug("Port option set to "+port); 
  +    }
     }
     
     /**
  
  
  
  1.5       +36 -0     
jakarta-log4j/src/java/org/apache/log4j/varia/PriorityMatchFilter.java
  
  Index: PriorityMatchFilter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/varia/PriorityMatchFilter.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PriorityMatchFilter.java  2001/03/19 12:38:22     1.4
  +++ PriorityMatchFilter.java  2001/04/03 16:37:36     1.5
  @@ -32,6 +32,20 @@
   public class PriorityMatchFilter extends Filter {
     
     /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +   */
  +  public static final String PRIORITY_TO_MATCH_OPTION = "PriorityToMatch";
  +
  +  /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +   */
  +  public static final String ACCEPT_ON_MATCH_OPTION = "AcceptOnMatch";
  +  
  +  /**
        Do we return ACCEPT when a match occurs. Default is
        <code>true</code>.  */
     boolean acceptOnMatch = true;
  @@ -40,6 +54,28 @@
      */
     Priority priorityToMatch;
   
  +  /**
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +  */
  +  public
  +  String[] getOptionStrings() {
  +    return new String[] {PRIORITY_TO_MATCH_OPTION, ACCEPT_ON_MATCH_OPTION};
  +  }
  +
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +  */
  +  public
  +  void setOption(String key, String value) {    
  +    if(key.equalsIgnoreCase(PRIORITY_TO_MATCH_OPTION)) {
  +      priorityToMatch = Priority.toPriority(value, null);
  +    } else if (key.equalsIgnoreCase(ACCEPT_ON_MATCH_OPTION)) {
  +      acceptOnMatch = OptionConverter.toBoolean(value, acceptOnMatch);
  +    }
  +  }
  +  
     public
     void setPriorityToMatch(String priority) {
       priorityToMatch = Priority.toPriority(priority, null);
  
  
  
  1.6       +37 -0     
jakarta-log4j/src/java/org/apache/log4j/varia/StringMatchFilter.java
  
  Index: StringMatchFilter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/varia/StringMatchFilter.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- StringMatchFilter.java    2001/03/19 12:38:22     1.5
  +++ StringMatchFilter.java    2001/04/03 16:37:36     1.6
  @@ -33,8 +33,45 @@
      @since 0.9.0 */
   public class StringMatchFilter extends Filter {
     
  +  /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +   */
  +  public static final String STRING_TO_MATCH_OPTION = "StringToMatch";
  +
  +  /**
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +   */
  +  public static final String ACCEPT_ON_MATCH_OPTION = "AcceptOnMatch";
  +  
     boolean acceptOnMatch = true;
     String stringToMatch;
  +  
  +  /**
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +  */
  +  public
  +  String[] getOptionStrings() {
  +    return new String[] {STRING_TO_MATCH_OPTION, ACCEPT_ON_MATCH_OPTION};
  +  }
  +
  +  /**
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +  */
  +  public
  +  void setOption(String key, String value) { 
  +    
  +    if(key.equalsIgnoreCase(STRING_TO_MATCH_OPTION)) {
  +      stringToMatch = value;
  +    } else if (key.equalsIgnoreCase(ACCEPT_ON_MATCH_OPTION)) {
  +      acceptOnMatch = OptionConverter.toBoolean(value, acceptOnMatch);
  +    }
  +  }
     
     public
     void setStringToMatch(String s) {
  
  
  
  1.12      +46 -0     jakarta-log4j/src/java/org/apache/log4j/xml/XMLLayout.java
  
  Index: XMLLayout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/XMLLayout.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- XMLLayout.java    2001/03/28 16:30:36     1.11
  +++ XMLLayout.java    2001/04/03 16:37:41     1.12
  @@ -43,12 +43,58 @@
      @since 0.9.0 */
   public class XMLLayout extends Layout {
   
  +  /**
  +     This is a string constant to name the option for setting the
  +     location information flag. Current value of this string constant
  +     is <b>LocationInfo</b>. 
  +
  +     <p>See the {@link #setOption(java.lang.String, java.lang.String)}
  +     method for the meaning of this option.  
  +
  +     <p>Note all option keys are case sensitive.
  +     
  +     @deprecated Options are now handled using the JavaBeans paradigm.
  +     This constant is not longer needed and will be removed in the
  +     <em>near</em> term.
  +  */
  +  public static final String LOCATION_INFO_OPTION = "LocationInfo";
  +
     private  final int DEFAULT_SIZE = 256;
     private final int UPPER_LIMIT = 2048;
   
     private StringBuffer buf = new StringBuffer(DEFAULT_SIZE);
     private boolean locationInfo = false;
   
  +  /**
  +     @deprecated We now use JavaBeans introspection to configure
  +     components. Options strings are no longer needed.
  +  */
  +  public
  +  String[] getOptionStrings() {
  +    return new String[]{LOCATION_INFO_OPTION};
  +  }
  +
  +  /**
  +
  +     The XMLLayout specific options are:
  +
  +     <p>The <b>LocationInfo</b> option takes a boolean value. If true,
  +     the output will include location information. By default no
  +     location information is sent to the server.
  +  
  +     @deprecated Use the setter method for the option directly instead
  +     of the generic <code>setOption</code> method. 
  +
  +  */
  +  public
  +  void setOption(String key, String value) {
  +
  +    if(value == null) return;
  +    if (key.equals(LOCATION_INFO_OPTION)) {
  +      locationInfo = OptionConverter.toBoolean(value, locationInfo);    
  +    } 
  +  }
  +  
     /**
        The <b>LocationInfo</b> option takes a boolean value. By
        default, it is set to false which means there will be no location
  
  
  

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

Reply via email to