You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ca...@apache.org on 2006/01/24 00:34:04 UTC

svn commit: r371713 - /logging/log4j/trunk/src/java/org/apache/log4j/config/PropertySetter.java

Author: carnold
Date: Mon Jan 23 15:33:59 2006
New Revision: 371713

URL: http://svn.apache.org/viewcvs?rev=371713&view=rev
Log:
Bug 35452: Added o.a.l.config.PropertySetter.setProperties, activate and restored props member

Modified:
    logging/log4j/trunk/src/java/org/apache/log4j/config/PropertySetter.java

Modified: logging/log4j/trunk/src/java/org/apache/log4j/config/PropertySetter.java
URL: http://svn.apache.org/viewcvs/logging/log4j/trunk/src/java/org/apache/log4j/config/PropertySetter.java?rev=371713&r1=371712&r2=371713&view=diff
==============================================================================
--- logging/log4j/trunk/src/java/org/apache/log4j/config/PropertySetter.java (original)
+++ logging/log4j/trunk/src/java/org/apache/log4j/config/PropertySetter.java Mon Jan 23 15:33:59 2006
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Copyright 1999,2006 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,19 +17,21 @@
 // Contributors:  Georg Lundesgaard
 package org.apache.log4j.config;
 
-import org.apache.log4j.*;
+import org.apache.log4j.Appender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
 import org.apache.log4j.helpers.OptionConverter;
 import org.apache.log4j.spi.ComponentBase;
+import org.apache.log4j.spi.OptionHandler;
 
 import java.beans.BeanInfo;
 import java.beans.IntrospectionException;
 import java.beans.Introspector;
 import java.beans.MethodDescriptor;
 import java.beans.PropertyDescriptor;
-
-import java.lang.reflect.*;
-
-import java.util.*;
+import java.lang.reflect.Method;
+import java.util.Enumeration;
+import java.util.Properties;
 
 
 /**
@@ -60,7 +62,7 @@
   Logger logger;
   protected Object obj;
   protected Class objClass;
-  protected PropertyDescriptor[] propertyDescriptors;
+  protected PropertyDescriptor[] props;
   protected MethodDescriptor[] methodDescriptors;
 
   /**
@@ -81,16 +83,33 @@
   protected void introspect() {
     try {
       BeanInfo bi = Introspector.getBeanInfo(obj.getClass());
-      propertyDescriptors = bi.getPropertyDescriptors();
+      props = bi.getPropertyDescriptors();
       methodDescriptors = bi.getMethodDescriptors();
     } catch (IntrospectionException ex) {
       getLogger().error(
         "Failed to introspect " + obj + ": " + ex.getMessage());
-      propertyDescriptors = new PropertyDescriptor[0];
+      props = new PropertyDescriptor[0];
       methodDescriptors = new MethodDescriptor[0];
     }
   }
 
+    /**
+       Set the properties of an object passed as a parameter in one
+       go. The <code>properties</code> are parsed relative to a
+       <code>prefix</code>.
+
+       @param obj The object to configure.
+       @param properties A java.util.Properties containing keys and values.
+       @param prefix Only keys having the specified prefix will be set.
+     @deprecated
+    */
+    public
+    static
+    void setProperties(Object obj, Properties properties, String prefix) {
+      new PropertySetter(obj).setProperties(properties, prefix);
+    }
+
+
   /**
    * Set the properites for the object that match the <code>prefix</code> 
    * passed as parameter.
@@ -373,16 +392,27 @@
   }
 
   protected PropertyDescriptor getPropertyDescriptor(String name) {
-    if (propertyDescriptors == null) {
+    if (props == null) {
       introspect();
     }
 
-    for (int i = 0; i < propertyDescriptors.length; i++) {
-      if (name.equals(propertyDescriptors[i].getName())) {
-        return propertyDescriptors[i];
+    for (int i = 0; i < props.length; i++) {
+      if (name.equals(props[i].getName())) {
+        return props[i];
       }
     }
 
     return null;
   }
+
+    /**
+     * @deprecated
+     */
+    public
+    void activate() {
+      if (obj instanceof OptionHandler) {
+        ((OptionHandler) obj).activateOptions();
+      }
+    }
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org