You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2006/07/15 16:20:27 UTC

svn commit: r422231 [4/4] - in /db/ojb/trunk/src/java/org/apache/ojb/broker: ./ accesslayer/ accesslayer/sql/ cache/ core/ locking/ metadata/ metadata/fieldaccess/

Modified: db/ojb/trunk/src/java/org/apache/ojb/broker/metadata/fieldaccess/PersistentFieldDynaBeanImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/java/org/apache/ojb/broker/metadata/fieldaccess/PersistentFieldDynaBeanImpl.java?rev=422231&r1=422230&r2=422231&view=diff
==============================================================================
--- db/ojb/trunk/src/java/org/apache/ojb/broker/metadata/fieldaccess/PersistentFieldDynaBeanImpl.java (original)
+++ db/ojb/trunk/src/java/org/apache/ojb/broker/metadata/fieldaccess/PersistentFieldDynaBeanImpl.java Sat Jul 15 07:20:25 2006
@@ -16,13 +16,12 @@
  */
 
 import org.apache.commons.beanutils.DynaBean;
+import org.apache.commons.lang.SystemUtils;
 import org.apache.ojb.broker.PersistenceBrokerException;
 import org.apache.ojb.broker.metadata.MetadataException;
-import org.apache.ojb.broker.util.logging.Logger;
-import org.apache.ojb.broker.util.logging.LoggerFactory;
 
 /**
- * A {@link PersistentField} implementation accesses a property
+ * A {@link org.apache.ojb.broker.metadata.fieldaccess.PersistentField} implementation accesses a property
  * from a {@link org.apache.commons.beanutils.DynaBean}.
  * Note that because of the way that PersistentField works,
  * at run time the type of the field could actually be different, since
@@ -125,26 +124,28 @@
      */
     protected void logSetProblem(Object anObject, Object aValue, String msg)
     {
-        Logger logger = LoggerFactory.getDefaultLogger();
-        logger.error("Error in operation [set] of object [" + this.getClass().getName() + "], " + msg);
-        logger.error("Property Name [" + getName() + "]");
+        String eol = SystemUtils.LINE_SEPARATOR;
+        StringBuffer buf = new StringBuffer();
+        buf.append("Error in [set] operation: " + msg);
+        buf.append(eol + "  Property Name [" + getName() + "]");
         if (anObject instanceof DynaBean)
         {
             DynaBean dynaBean = (DynaBean) anObject;
-            logger.error("anObject was DynaClass [" + dynaBean.getDynaClass().getName() + "]");
+            buf.append(eol + "  the target object is a DynaClass [" + dynaBean.getDynaClass().getName() + "]");
         }
         else if (anObject != null)
         {
-            logger.error("anObject was class [" + anObject.getClass().getName() + "]");
+            buf.append(eol + "  the target object type is [" + anObject.getClass().getName() + "]");
         }
         else
         {
-            logger.error("anObject was null");
+            buf.append(eol + "  the target object is 'null'");
         }
         if (aValue != null)
-            logger.error("aValue was class [" + aValue.getClass().getName() + "]");
+            buf.append(eol + "  the value type is [" + aValue.getClass().getName() + "]");
         else
-            logger.error("aValue was null");
+            buf.append(eol + "  the value is 'null'");
+        getLog().error(buf.toString());
     }
 
     /**
@@ -152,21 +153,23 @@
      */
     protected void logGetProblem(Object anObject, String msg)
     {
-        Logger logger = LoggerFactory.getDefaultLogger();
-        logger.error("Error in operation [get of object [" + this.getClass().getName() + "], " + msg);
-        logger.error("Property Name [" + getName() + "]");
+        String eol = SystemUtils.LINE_SEPARATOR;
+        StringBuffer buf = new StringBuffer();
+        buf.append("Error in [get] operation: " + msg);
+        buf.append(eol + "  Property Name [" + getName() + "]");
         if (anObject instanceof DynaBean)
         {
             DynaBean dynaBean = (DynaBean) anObject;
-            logger.error("anObject was DynaClass [" + dynaBean.getDynaClass().getName() + "]");
+            buf.append(eol + "  the object to read is a DynaClass [" + dynaBean.getDynaClass().getName() + "]");
         }
         else if (anObject != null)
         {
-            logger.error("anObject was class [" + anObject.getClass().getName() + "]");
+            buf.append(eol + "  the type of object to read is [" + anObject.getClass().getName() + "]");
         }
         else
         {
-            logger.error("anObject was null");
+            buf.append(eol + "  the object to read is 'null'");
         }
+        getLog().error(buf.toString());
     }
 }

Modified: db/ojb/trunk/src/java/org/apache/ojb/broker/metadata/fieldaccess/PersistentFieldIntrospectorImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/java/org/apache/ojb/broker/metadata/fieldaccess/PersistentFieldIntrospectorImpl.java?rev=422231&r1=422230&r2=422231&view=diff
==============================================================================
--- db/ojb/trunk/src/java/org/apache/ojb/broker/metadata/fieldaccess/PersistentFieldIntrospectorImpl.java (original)
+++ db/ojb/trunk/src/java/org/apache/ojb/broker/metadata/fieldaccess/PersistentFieldIntrospectorImpl.java Sat Jul 15 07:20:25 2006
@@ -15,9 +15,6 @@
  * limitations under the License.
  */
 
-import java.beans.BeanInfo;
-import java.beans.IntrospectionException;
-import java.beans.Introspector;
 import java.beans.PropertyDescriptor;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
@@ -26,7 +23,6 @@
 import org.apache.commons.lang.StringUtils;
 import org.apache.ojb.broker.metadata.MetadataException;
 import org.apache.ojb.broker.util.ClassHelper;
-import org.apache.ojb.broker.util.logging.Logger;
 
 /**
  * A {@link PersistentField} implementation using
@@ -120,13 +116,16 @@
             }
             catch (Throwable e)
             {
-                logProblem(pd, target, null, "Can't read value from given object");
-                throw new MetadataException("Error invoking method:" + m.getName() + " in object " + target.getClass().getName(), e);
+                String msg = buildGetterErrorMsg(pd.getPropertyType(), target, "Can't read value from given object");
+                getLog().error(msg);
+                throw new MetadataException("Error invoking method '" + m.getName() + "' in object '"
+                        + target.getClass().getName() + "'", e);
             }
         }
         else
         {
-            throw new MetadataException("Can't get ReadMethod for property:" + pd.getName() + " in object " + target.getClass().getName());
+            throw new MetadataException("Can't get ReadMethod for property '" + pd.getName()
+                    + "' in object " + target.getClass().getName());
         }
     }
 
@@ -152,13 +151,16 @@
             }
             catch (Throwable e)
             {
-                logProblem(pd, target, value, "Can't set value on given object.");
-                throw new MetadataException("Error invoking method:" + m.getName() + " in object:" + target.getClass().getName(), e);
+                String msg = buildSetterErrorMsg(pd.getPropertyType(), target, value, "Can't set value on given object.");
+                getLog().error(msg);
+                throw new MetadataException("Error invoking method '" + m.getName()
+                        + "' in object '" + target.getClass().getName() + "'", e);
             }
         }
         else
         {
-            throw new MetadataException("Can't get WriteMethod for property:" + pd.getName() + " in object:" + target.getClass().getName());
+            throw new MetadataException("Can't get WriteMethod for property '"
+                    + pd.getName() + "' in object '" + target.getClass().getName() + "'");
         }
     }
 
@@ -193,47 +195,6 @@
     }
 
     /**
-     * Get the PropertyDescriptor for aClass and aPropertyName
-     */
-    protected static PropertyDescriptor findPropertyDescriptor(Class aClass, String aPropertyName)
-    {
-        BeanInfo info;
-        PropertyDescriptor[] pd;
-        PropertyDescriptor descriptor = null;
-
-        try
-        {
-            info = Introspector.getBeanInfo(aClass);
-            pd = info.getPropertyDescriptors();
-            for (int i = 0; i < pd.length; i++)
-            {
-                if (pd[i].getName().equals(aPropertyName))
-                {
-                    descriptor = pd[i];
-                    break;
-                }
-            }
-            if (descriptor == null)
-            {
-                /*
-				 * Daren Drummond: 	Throw here so we are consistent
-				 * 					with PersistentFieldDefaultImpl.
-				 */
-                throw new MetadataException("Can't find property " + aPropertyName + " in " + aClass.getName());
-            }
-            return descriptor;
-        }
-        catch (IntrospectionException ex)
-        {
-            /*
-			 * Daren Drummond: 	Throw here so we are consistent
-			 * 					with PersistentFieldDefaultImpl.
-			 */
-            throw new MetadataException("Can't find property " + aPropertyName + " in " + aClass.getName(), ex);
-        }
-    }
-
-    /**
      * Returns the PropertyDescriptor.
      *
      * @return java.beans.PropertyDescriptor
@@ -251,34 +212,5 @@
     public boolean makeAccessible()
     {
         return false;
-    }
-
-    /**
-     * Let's give the user some hints as to what could be wrong.
-     */
-    protected void logProblem(PropertyDescriptor pd, Object anObject, Object aValue, String msg)
-    {
-        Logger logger = getLog();
-        logger.error("Error in [PersistentFieldPropertyImpl], " + msg);
-        logger.error("Declaring class [" + getDeclaringClass().getName() + "]");
-        logger.error("Property Name [" + getName() + "]");
-        logger.error("Property Type [" + pd.getPropertyType().getName() + "]");
-
-        if (anObject != null)
-        {
-            logger.error("anObject was class [" + anObject.getClass().getName() + "]");
-        }
-        else
-        {
-            logger.error("anObject was null");
-        }
-        if (aValue != null)
-        {
-            logger.error("aValue was class [" + aValue.getClass().getName() + "]");
-        }
-        else
-        {
-            logger.error("aValue was null");
-        }
     }
 }



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