You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2011/11/30 22:34:29 UTC

svn commit: r1208807 - /commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java

Author: oheger
Date: Wed Nov 30 21:34:29 2011
New Revision: 1208807

URL: http://svn.apache.org/viewvc?rev=1208807&view=rev
Log:
Java 1.5 compatibility: Javadocs, raw types, StringBuilder, etc.

Modified:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java?rev=1208807&r1=1208806&r2=1208807&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java Wed Nov 30 21:34:29 2011
@@ -26,6 +26,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
+
 import javax.sql.DataSource;
 
 import org.apache.commons.logging.LogFactory;
@@ -73,16 +74,16 @@ import org.apache.commons.logging.LogFac
  * String value2 = conf.getString("key2");
  * </pre>
  * The configuration can be instructed to perform commits after database updates.
- * This is achieved by setting the <code>commits</code> parameter of the
+ * This is achieved by setting the {@code commits} parameter of the
  * constructors to <b>true</b>. If commits should not be performed (which is the
  * default behavior), it should be ensured that the connections returned by the
- * <code>DataSource</code> are in auto-commit mode.
+ * {@code DataSource} are in auto-commit mode.
  *
  * <h1>Note: Like JDBC itself, protection against SQL injection is left to the user.</h1>
  * @since 1.0
  *
  * @author <a href="mailto:ebourg@apache.org">Emmanuel Bourg</a>
- * @version $Revision$, $Date$
+ * @version $Id$
  */
 public class DatabaseConfiguration extends AbstractConfiguration
 {
@@ -125,10 +126,10 @@ public class DatabaseConfiguration exten
     }
 
     /**
-     * Creates a new instance of <code>DatabaseConfiguration</code> that operates on
+     * Creates a new instance of {@code DatabaseConfiguration} that operates on
      * a database table containing multiple configurations.
      *
-     * @param datasource the <code>DataSource</code> to connect to the database
+     * @param datasource the {@code DataSource} to connect to the database
      * @param table the name of the table containing the configurations
      * @param nameColumn the column containing the name of the configuration
      * @param keyColumn the column containing the keys of the configuration
@@ -166,10 +167,10 @@ public class DatabaseConfiguration exten
     }
 
     /**
-     * Creates a new instance of <code>DatabaseConfiguration</code> that
+     * Creates a new instance of {@code DatabaseConfiguration} that
      * operates on a database table containing a single configuration only.
      *
-     * @param datasource the <code>DataSource</code> to connect to the database
+     * @param datasource the {@code DataSource} to connect to the database
      * @param table the name of the table containing the configurations
      * @param keyColumn the column containing the keys of the configuration
      * @param valueColumn the column containing the values of the configuration
@@ -196,9 +197,9 @@ public class DatabaseConfiguration exten
     /**
      * Returns the value of the specified property. If this causes a database
      * error, an error event will be generated of type
-     * <code>EVENT_READ_PROPERTY</code> with the causing exception. The
-     * event's <code>propertyName</code> is set to the passed in property key,
-     * the <code>propertyValue</code> is undefined.
+     * {@code EVENT_READ_PROPERTY} with the causing exception. The
+     * event's {@code propertyName} is set to the passed in property key,
+     * the {@code propertyValue} is undefined.
      *
      * @param key the key of the desired property
      * @return the value of this property
@@ -208,7 +209,7 @@ public class DatabaseConfiguration exten
         Object result = null;
 
         // build the query
-        StringBuffer query = new StringBuffer("SELECT * FROM ");
+        StringBuilder query = new StringBuilder("SELECT * FROM ");
         query.append(table).append(" WHERE ");
         query.append(keyColumn).append("=?");
         if (nameColumn != null)
@@ -233,7 +234,7 @@ public class DatabaseConfiguration exten
 
             ResultSet rs = pstmt.executeQuery();
 
-            List results = new ArrayList();
+            List<Object> results = new ArrayList<Object>();
             while (rs.next())
             {
                 Object value = rs.getObject(valueColumn);
@@ -243,8 +244,8 @@ public class DatabaseConfiguration exten
                 }
                 else
                 {
-                    // Split value if it containts the list delimiter
-                    Iterator it = PropertyConverter.toIterator(value, getListDelimiter());
+                    // Split value if it contains the list delimiter
+                    Iterator<?> it = PropertyConverter.toIterator(value, getListDelimiter());
                     while (it.hasNext())
                     {
                         results.add(it.next());
@@ -271,18 +272,19 @@ public class DatabaseConfiguration exten
 
     /**
      * Adds a property to this configuration. If this causes a database error,
-     * an error event will be generated of type <code>EVENT_ADD_PROPERTY</code>
-     * with the causing exception. The event's <code>propertyName</code> is
-     * set to the passed in property key, the <code>propertyValue</code>
+     * an error event will be generated of type {@code EVENT_ADD_PROPERTY}
+     * with the causing exception. The event's {@code propertyName} is
+     * set to the passed in property key, the {@code propertyValue}
      * points to the passed in value.
      *
      * @param key the property key
      * @param obj the value of the property to add
      */
+    @Override
     protected void addPropertyDirect(String key, Object obj)
     {
         // build the query
-        StringBuffer query = new StringBuffer("INSERT INTO " + table);
+        StringBuilder query = new StringBuilder("INSERT INTO " + table);
         if (nameColumn != null)
         {
             query.append(" (" + nameColumn + ", " + keyColumn + ", " + valueColumn + ") VALUES (?, ?, ?)");
@@ -327,14 +329,15 @@ public class DatabaseConfiguration exten
      * Adds a property to this configuration. This implementation will
      * temporarily disable list delimiter parsing, so that even if the value
      * contains the list delimiter, only a single record will be written into
-     * the managed table. The implementation of <code>getProperty()</code>
+     * the managed table. The implementation of {@code getProperty()}
      * will take care about delimiters. So list delimiters are fully supported
-     * by <code>DatabaseConfiguration</code>, but internally treated a bit
+     * by {@code DatabaseConfiguration}, but internally treated a bit
      * differently.
      *
      * @param key the key of the new property
      * @param value the value to be added
      */
+    @Override
     public void addProperty(String key, Object value)
     {
         boolean parsingFlag = isDelimiterParsingDisabled();
@@ -355,9 +358,9 @@ public class DatabaseConfiguration exten
 
     /**
      * Checks if this configuration is empty. If this causes a database error,
-     * an error event will be generated of type <code>EVENT_READ_PROPERTY</code>
-     * with the causing exception. Both the event's <code>propertyName</code>
-     * and <code>propertyValue</code> will be undefined.
+     * an error event will be generated of type {@code EVENT_READ_PROPERTY}
+     * with the causing exception. Both the event's {@code propertyName}
+     * and {@code propertyValue} will be undefined.
      *
      * @return a flag whether this configuration is empty.
      */
@@ -366,7 +369,7 @@ public class DatabaseConfiguration exten
         boolean empty = true;
 
         // build the query
-        StringBuffer query = new StringBuffer("SELECT count(*) FROM " + table);
+        StringBuilder query = new StringBuilder("SELECT count(*) FROM " + table);
         if (nameColumn != null)
         {
             query.append(" WHERE " + nameColumn + "=?");
@@ -409,9 +412,9 @@ public class DatabaseConfiguration exten
     /**
      * Checks whether this configuration contains the specified key. If this
      * causes a database error, an error event will be generated of type
-     * <code>EVENT_READ_PROPERTY</code> with the causing exception. The
-     * event's <code>propertyName</code> will be set to the passed in key, the
-     * <code>propertyValue</code> will be undefined.
+     * {@code EVENT_READ_PROPERTY} with the causing exception. The
+     * event's {@code propertyName} will be set to the passed in key, the
+     * {@code propertyValue} will be undefined.
      *
      * @param key the key to be checked
      * @return a flag whether this key is defined
@@ -421,7 +424,7 @@ public class DatabaseConfiguration exten
         boolean found = false;
 
         // build the query
-        StringBuffer query = new StringBuffer("SELECT * FROM " + table + " WHERE " + keyColumn + "=?");
+        StringBuilder query = new StringBuilder("SELECT * FROM " + table + " WHERE " + keyColumn + "=?");
         if (nameColumn != null)
         {
             query.append(" AND " + nameColumn + "=?");
@@ -462,16 +465,17 @@ public class DatabaseConfiguration exten
     /**
      * Removes the specified value from this configuration. If this causes a
      * database error, an error event will be generated of type
-     * <code>EVENT_CLEAR_PROPERTY</code> with the causing exception. The
-     * event's <code>propertyName</code> will be set to the passed in key, the
-     * <code>propertyValue</code> will be undefined.
+     * {@code EVENT_CLEAR_PROPERTY} with the causing exception. The
+     * event's {@code propertyName} will be set to the passed in key, the
+     * {@code propertyValue} will be undefined.
      *
      * @param key the key of the property to be removed
      */
+    @Override
     protected void clearPropertyDirect(String key)
     {
         // build the query
-        StringBuffer query = new StringBuffer("DELETE FROM " + table + " WHERE " + keyColumn + "=?");
+        StringBuilder query = new StringBuilder("DELETE FROM " + table + " WHERE " + keyColumn + "=?");
         if (nameColumn != null)
         {
             query.append(" AND " + nameColumn + "=?");
@@ -509,15 +513,16 @@ public class DatabaseConfiguration exten
     /**
      * Removes all entries from this configuration. If this causes a database
      * error, an error event will be generated of type
-     * <code>EVENT_CLEAR</code> with the causing exception. Both the
-     * event's <code>propertyName</code> and the <code>propertyValue</code>
+     * {@code EVENT_CLEAR} with the causing exception. Both the
+     * event's {@code propertyName} and the {@code propertyValue}
      * will be undefined.
      */
+    @Override
     public void clear()
     {
         fireEvent(EVENT_CLEAR, null, null, true);
         // build the query
-        StringBuffer query = new StringBuffer("DELETE FROM " + table);
+        StringBuilder query = new StringBuilder("DELETE FROM " + table);
         if (nameColumn != null)
         {
             query.append(" WHERE " + nameColumn + "=?");
@@ -556,18 +561,18 @@ public class DatabaseConfiguration exten
      * Returns an iterator with the names of all properties contained in this
      * configuration. If this causes a database
      * error, an error event will be generated of type
-     * <code>EVENT_READ_PROPERTY</code> with the causing exception. Both the
-     * event's <code>propertyName</code> and the <code>propertyValue</code>
+     * {@code EVENT_READ_PROPERTY} with the causing exception. Both the
+     * event's {@code propertyName} and the {@code propertyValue}
      * will be undefined.
      * @return an iterator with the contained keys (an empty iterator in case
      * of an error)
      */
-    public Iterator getKeys()
+    public Iterator<String> getKeys()
     {
-        Collection keys = new ArrayList();
+        Collection<String> keys = new ArrayList<String>();
 
         // build the query
-        StringBuffer query = new StringBuffer("SELECT DISTINCT " + keyColumn + " FROM " + table);
+        StringBuilder query = new StringBuilder("SELECT DISTINCT " + keyColumn + " FROM " + table);
         if (nameColumn != null)
         {
             query.append(" WHERE " + nameColumn + "=?");
@@ -608,7 +613,7 @@ public class DatabaseConfiguration exten
     }
 
     /**
-     * Returns the used <code>DataSource</code> object.
+     * Returns the used {@code DataSource} object.
      *
      * @return the data source
      * @since 1.4
@@ -619,23 +624,24 @@ public class DatabaseConfiguration exten
     }
 
     /**
-     * Returns a <code>Connection</code> object. This method is called when
+     * Returns a {@code Connection} object. This method is called when
      * ever the database is to be accessed. This implementation returns a
-     * connection from the current <code>DataSource</code>.
+     * connection from the current {@code DataSource}.
      *
-     * @return the <code>Connection</code> object to be used
+     * @return the {@code Connection} object to be used
      * @throws SQLException if an error occurs
      * @since 1.4
      * @deprecated Use a custom data source to change the connection used by the
      * class. To be removed in Commons Configuration 2.0
      */
+    @Deprecated
     protected Connection getConnection() throws SQLException
     {
         return getDatasource().getConnection();
     }
 
     /**
-     * Close a <code>Connection</code> and, <code>Statement</code>.
+     * Close a {@code Connection} and, {@code Statement}.
      * Avoid closing if null and hide any SQLExceptions that occur.
      *
      * @param conn The database connection to close