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/08/12 02:07:40 UTC

svn commit: r430926 - in /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata: ConnectionPoolDescriptor.java DescriptorBase.java IndexDescriptor.java JdbcConnectionDescriptor.java ObjectCacheDescriptor.java SequenceDescriptor.java

Author: arminw
Date: Fri Aug 11 17:07:39 2006
New Revision: 430926

URL: http://svn.apache.org/viewvc?rev=430926&view=rev
Log:
harmonize custom attributes handling

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ConnectionPoolDescriptor.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/DescriptorBase.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/IndexDescriptor.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcConnectionDescriptor.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ConnectionPoolDescriptor.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ConnectionPoolDescriptor.java?rev=430926&r1=430925&r2=430926&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ConnectionPoolDescriptor.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ConnectionPoolDescriptor.java Fri Aug 11 17:07:39 2006
@@ -190,11 +190,13 @@
         buf.append("         <!-- ");
         buf.append(eol);
         buf.append("         Add JDBC-level properties here, like fetchSize.");
+        buf.append(eol);
         buf.append("         Attributes with name prefix \"jdbc.\" are passed directly to the JDBC driver.");
         buf.append(eol);
         buf.append("         e.g. <attribute attribute-name=\"fetchSize\" attribute-value=\"100\"/>");
         buf.append(eol);
         buf.append("         -->");
+        buf.append(eol);
         XmlHelper.appendSerializedAttributes(buf, "         ", this);
 
         buf.append("      ").append(tags.getClosingTagById(CONNECTION_POOL)).append(eol);

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/DescriptorBase.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/DescriptorBase.java?rev=430926&r1=430925&r2=430926&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/DescriptorBase.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/DescriptorBase.java Fri Aug 11 17:07:39 2006
@@ -18,22 +18,26 @@
 import java.io.Serializable;
 import java.util.*;
 
+import org.apache.ojb.broker.util.logging.LoggerFactory;
+
 /**
  * base class for all Descriptors. It is used to implement the AttributeContainer
  * interface which provides mechanics for user defined attributes.
- * @author Thomas Mahler
+ *
+ * @version $Id: $
  */
 class DescriptorBase implements AttributeContainer, Serializable
 {
-	static final long serialVersionUID = 713914612744155925L;
+    static final long serialVersionUID = 713914612744155925L;
     /** holds user defined attributes */
-    private Map attributeMap = null;
+    private Properties attributeMap;
 
     /**
      * Constructor for DescriptorBase.
      */
     public DescriptorBase()
     {
+        attributeMap = new Properties();
     }
 
     /**
@@ -42,17 +46,16 @@
     public void addAttribute(String attributeName, String attributeValue)
     {
         // Don't allow null attribute names.
-        if (attributeName == null)
+        if (attributeName == null || attributeValue == null)
         {
+            LoggerFactory.getDefaultLogger().error(
+                    "[" + this.getClass().getName()
+                            + "] Illegal Attribute add - value or key is null: key="
+                            + attributeName + " value=" + attributeValue);
             return;
         }
-        // Set up the attribute list
-        if (attributeMap == null)
-        {
-            attributeMap = new HashMap();
-        }
         // Add the entry.
-        attributeMap.put(attributeName, attributeValue);
+        attributeMap.setProperty(attributeName, attributeValue);
     }
 
     /**
@@ -60,14 +63,10 @@
      */
     public String getAttribute(String attributeName, String defaultValue)
     {
-        String result = defaultValue;
-        if (attributeMap != null)
+        String result = attributeMap.getProperty(attributeName);
+        if (result == null)
         {
-            result = (String) attributeMap.get(attributeName);
-            if (result == null)
-            {
-                result = defaultValue;
-            }
+            result = defaultValue;
         }
         return result;
     }
@@ -92,6 +91,29 @@
     }
 
     /**
+     * Return the custom/configuration properties.
+     *
+     * @return The current properties.
+     */
+    public Properties getProperties()
+    {
+        return attributeMap;
+    }
+
+    /**
+     * Set the custom/configuration properties.
+     *
+     * @param properties Set the properties, <em>null</em> will be ignored.
+     */
+    public void setProperties(Properties properties)
+    {
+        if(properties != null)
+        {
+            this.attributeMap = properties;
+        }
+    }
+
+    /**
      * Returns an array of the names of all atributes of this descriptor.
      * 
      * @return The list of attribute names (will not be <code>null</code>)
@@ -104,7 +126,7 @@
         keys.toArray(result);
         return result;
     }
-    
+
     public String toString()
     {
         StringBuffer buf = new StringBuffer();

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/IndexDescriptor.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/IndexDescriptor.java?rev=430926&r1=430925&r2=430926&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/IndexDescriptor.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/IndexDescriptor.java Fri Aug 11 17:07:39 2006
@@ -15,19 +15,19 @@
  * limitations under the License.
  */
 
-import org.apache.commons.lang.SystemUtils;
-
 import java.util.Vector;
-import java.io.Serializable;
+
+import org.apache.commons.lang.SystemUtils;
+import org.apache.ojb.broker.util.XmlHelper;
 
 /**
  *
  *
  * @version $Id$
  */
-public class IndexDescriptor implements XmlCapable, Serializable
+public class IndexDescriptor extends DescriptorBase implements XmlCapable
 {
-	private static final long serialVersionUID = -1722513568634970108L;
+    private static final long serialVersionUID = -1722513568634970108L;
     private String name;
     private boolean unique;
     private Vector indexColumns = new Vector();
@@ -98,6 +98,16 @@
         }
 
         // closing tag
+        result.append( "      " );
+        result.append( "         <!-- " );
+        result.append( eol );
+        result.append( "         Add custom index properties here, using custom attributes" );
+        result.append( eol );
+        result.append( "         e.g. <attribute attribute-name=\"myKey\" attribute-value=\"myValue\"/>" );
+        result.append( eol );
+        result.append( "         -->" );
+        result.append( eol );
+        XmlHelper.appendSerializedAttributes(result, "         ", getProperties());
         result.append( "      " );
         result.append( tags.getClosingTagById( INDEX_DESCRIPTOR ) );
         result.append( " " );

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcConnectionDescriptor.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcConnectionDescriptor.java?rev=430926&r1=430925&r2=430926&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcConnectionDescriptor.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcConnectionDescriptor.java Fri Aug 11 17:07:39 2006
@@ -16,11 +16,13 @@
  */
 
 import java.io.Serializable;
+import java.util.Properties;
 
 import javax.sql.DataSource;
 
 import org.apache.ojb.broker.util.logging.Logger;
 import org.apache.ojb.broker.util.logging.LoggerFactory;
+import org.apache.ojb.broker.util.XmlHelper;
 import org.apache.ojb.broker.PBKey;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
@@ -530,6 +532,22 @@
         strReturn.append( eol );
         strReturn.append( eol );
 
+        strReturn.append("         <!-- ");
+        strReturn.append(eol);
+        strReturn.append("         Add custom connection properties here.");
+        strReturn.append(eol);
+        strReturn.append("         e.g. <attribute attribute-name=\"myKey\" attribute-value=\"myValue\"/>");
+        strReturn.append(eol);
+        strReturn.append("         -->");
+        strReturn.append(eol);
+        XmlHelper.appendSerializedAttributes(strReturn, "         ", getProperties());
+        strReturn.append( eol );
+        strReturn.append( eol );
+
+        if( this.getObjectCacheDescriptor() != null )
+        {
+            strReturn.append( this.getObjectCacheDescriptor().toXML() );
+        }
         strReturn.append( this.getConnectionPoolDescriptor().toXML() );
         strReturn.append( eol );
         if( this.getSequenceDescriptor() != null )

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java?rev=430926&r1=430925&r2=430926&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java Fri Aug 11 17:07:39 2006
@@ -15,7 +15,6 @@
  * limitations under the License.
  */
 
-import java.io.Serializable;
 import java.util.Properties;
 
 import org.apache.commons.lang.SystemUtils;
@@ -36,16 +35,14 @@
  * @author <a href="mailto:armin@codeAuLait.de">Armin Waibel</a>
  * @version $Id$
  */
-public class ObjectCacheDescriptor implements Serializable, XmlCapable, AttributeContainer
+public class ObjectCacheDescriptor extends DescriptorBase implements XmlCapable
 {
 	private static final long serialVersionUID = 2583853027407750053L;
     private static final Class DEF_OBJECT_CACHE = ObjectCacheEmptyImpl.class;
     private Class objectCache;
-    private Properties configurationProperties;
 
     public ObjectCacheDescriptor()
     {
-        this.configurationProperties = new Properties();
         this.objectCache = DEF_OBJECT_CACHE;
     }
 
@@ -65,31 +62,14 @@
         this.objectCache = objectCache;
     }
 
-    public void addAttribute(String attributeName, String attributeValue)
-    {
-        configurationProperties.setProperty(attributeName, attributeValue);
-    }
-
-    public String getAttribute(String key)
-    {
-        return getAttribute(key, null);
-    }
-
-    public String getAttribute(String attributeName, String defaultValue)
-    {
-        String result = configurationProperties.getProperty(attributeName);
-        if(result == null) result = defaultValue;
-        return result;
-    }
-
     public Properties getConfigurationProperties()
     {
-        return configurationProperties;
+        return getProperties();
     }
 
     public void setConfigurationProperties(Properties configurationProperties)
     {
-        this.configurationProperties = configurationProperties;
+        setProperties(configurationProperties);
     }
 
     public String toString()

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java?rev=430926&r1=430925&r2=430926&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java Fri Aug 11 17:07:39 2006
@@ -15,7 +15,6 @@
  * limitations under the License.
  */
 
-import java.io.Serializable;
 import java.util.Properties;
 
 import org.apache.commons.lang.SystemUtils;
@@ -35,18 +34,16 @@
  * @author <a href="mailto:armin@codeAuLait.de">Armin Waibel</a>
  * @version $Id$
  */
-public class SequenceDescriptor implements Serializable, XmlCapable, AttributeContainer
+public class SequenceDescriptor extends  DescriptorBase implements XmlCapable
 {
 
 	private static final long serialVersionUID = -5161713731380949398L;
     private JdbcConnectionDescriptor jcd;
     private Class sequenceManagerClass;
-    private Properties configurationProperties;
 
     public SequenceDescriptor(JdbcConnectionDescriptor jcd)
     {
         this.jcd = jcd;
-        this.configurationProperties = new Properties();
     }
 
     public SequenceDescriptor(JdbcConnectionDescriptor jcd, Class sequenceManagerClass)
@@ -75,31 +72,14 @@
         this.sequenceManagerClass = sequenceManagerClass;
     }
 
-    public void addAttribute(String attributeName, String attributeValue)
-    {
-        configurationProperties.setProperty(attributeName, attributeValue);
-    }
-
-    public String getAttribute(String key)
-    {
-        return getAttribute(key, null);
-    }
-
-    public String getAttribute(String attributeName, String defaultValue)
-    {
-        String result = configurationProperties.getProperty(attributeName);
-        if(result == null) result = defaultValue;
-        return result;
-    }
-
     public Properties getConfigurationProperties()
     {
-        return configurationProperties;
+        return getProperties();
     }
 
     public void setConfigurationProperties(Properties configurationProperties)
     {
-        this.configurationProperties = configurationProperties;
+        setProperties(configurationProperties);
     }
 
     public String toString()



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