Author: ebourg
Date: Mon Apr 16 04:54:11 2007
New Revision: 529210

URL: http://svn.apache.org/viewvc?view=rev&rev=529210
Log:
Improved the javadoc for DatabaseConfiguration
Made getConnection() package private since it's only used for testing

Modified:
    
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DatabaseConfiguration.java
    
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDatabaseConfiguration.java

Modified: 
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DatabaseConfiguration.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DatabaseConfiguration.java?view=diff&rev=529210&r1=529209&r2=529210
==============================================================================
--- 
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DatabaseConfiguration.java
 (original)
+++ 
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DatabaseConfiguration.java
 Mon Apr 16 04:54:11 2007
@@ -33,11 +33,51 @@
 import org.apache.commons.logging.LogFactory;
 
 /**
- * Configuration stored in a database.
+ * Configuration stored in a database. The properties are retrieved from a
+ * table containing at least one column for the keys, and one column for the
+ * values. It's possible to store several configurations in the same table by
+ * adding a column containing the name of the configuration. The name of the
+ * table and the columns is specified in the constructor.
+ *
+ * <h4>Example 1 - One configuration per table</h4>
+ *
+ * <pre>
+ * CREATE TABLE myconfig (
+ *     `key`   VARCHAR NOT NULL PRIMARY KEY,
+ *     `value` VARCHAR
+ * );
+ *
+ * INSERT INTO myconfig (key, value) VALUES ('foo', 'bar');
+ *
+ *
+ * Configuration config = new DatabaseConfiguration(datasource, "myconfig", 
"key", "value");
+ * String value = config.getString("foo");
+ * </pre>
+ *
+ * <h4>Example 2 - Multiple configurations per table</h4>
+ *
+ * <pre>
+ * CREATE TABLE myconfigs (
+ *     `name`  VARCHAR NOT NULL,
+ *     `key`   VARCHAR NOT NULL,
+ *     `value` VARCHAR,
+ *     CONSTRAINT sys_pk_myconfigs PRIMARY KEY (`name`, `key`)
+ * );
+ *
+ * INSERT INTO myconfigs (name, key, value) VALUES ('config1', 'key1', 
'value1');
+ * INSERT INTO myconfigs (name, key, value) VALUES ('config2', 'key2', 
'value2');
+ *
+ *
+ * Configuration config1 = new DatabaseConfiguration(datasource, "myconfigs", 
"name", "key", "value", "config1");
+ * String value1 = conf.getString("key1");
+ *
+ * Configuration config2 = new DatabaseConfiguration(datasource, "myconfigs", 
"name", "key", "value", "config2");
+ * String value2 = conf.getString("key2");
+ * </pre>
  *
  * @since 1.0
  *
- * @author Emmanuel Bourg
+ * @author <a href="mailto:[EMAIL PROTECTED]">Emmanuel Bourg</a>
  * @version $Revision$, $Date$
  */
 public class DatabaseConfiguration extends AbstractConfiguration
@@ -521,7 +561,7 @@
      * @throws SQLException if an error occurs
      * @since 1.4
      */
-    protected Connection getConnection() throws SQLException
+    Connection getConnection() throws SQLException
     {
         return getDatasource().getConnection();
     }

Modified: 
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDatabaseConfiguration.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDatabaseConfiguration.java?view=diff&rev=529210&r1=529209&r2=529210
==============================================================================
--- 
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDatabaseConfiguration.java
 (original)
+++ 
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDatabaseConfiguration.java
 Mon Apr 16 04:54:11 2007
@@ -133,8 +133,7 @@
      */
     private PotentialErrorDatabaseConfiguration setUpConfig()
     {
-        return new PotentialErrorDatabaseConfiguration(datasource, TABLE,
-                COL_KEY, COL_VALUE);
+        return new PotentialErrorDatabaseConfiguration(datasource, TABLE, 
COL_KEY, COL_VALUE);
     }
 
     /**
@@ -145,8 +144,7 @@
      */
     private DatabaseConfiguration setUpMultiConfig()
     {
-        return new DatabaseConfiguration(datasource, TABLE_MULTI, COL_NAME,
-                COL_KEY, COL_VALUE, CONFIG_NAME);
+        return new DatabaseConfiguration(datasource, TABLE_MULTI, COL_NAME, 
COL_KEY, COL_VALUE, CONFIG_NAME);
     }
 
     /**
@@ -157,8 +155,7 @@
     private void setUpErrorListener(PotentialErrorDatabaseConfiguration config)
     {
         // remove log listener to avoid exception longs
-        config.removeErrorListener((ConfigurationErrorListener) config
-                .getErrorListeners().iterator().next());
+        config.removeErrorListener((ConfigurationErrorListener) 
config.getErrorListeners().iterator().next());
         listener = new TestErrorListener();
         config.addErrorListener(listener);
         config.failOnConnect = true;
@@ -189,10 +186,8 @@
     {
         assertEquals("Wrong number of errors", 1, listener.errorCount);
         assertEquals("Wrong event type", type, listener.event.getType());
-        assertTrue("Wrong event source",
-                listener.event.getSource() instanceof DatabaseConfiguration);
-        assertTrue("Wrong exception",
-                listener.event.getCause() instanceof SQLException);
+        assertTrue("Wrong event source", listener.event.getSource() instanceof 
DatabaseConfiguration);
+        assertTrue("Wrong exception", listener.event.getCause() instanceof 
SQLException);
         assertTrue("Wrong property key", (key == null) ? listener.event
                 .getPropertyName() == null : key.equals(listener.event
                 .getPropertyName()));
@@ -357,10 +352,8 @@
      */
     public void testLogErrorListener()
     {
-        DatabaseConfiguration config = new DatabaseConfiguration(datasource,
-                TABLE, COL_KEY, COL_VALUE);
-        assertEquals("No error listener registered", 1, config
-                .getErrorListeners().size());
+        DatabaseConfiguration config = new DatabaseConfiguration(datasource, 
TABLE, COL_KEY, COL_VALUE);
+        assertEquals("No error listener registered", 1, 
config.getErrorListeners().size());
     }
 
     /**
@@ -369,8 +362,7 @@
     public void testGetPropertyError()
     {
         setUpErrorConfig().getProperty("key1");
-        checkErrorListener(AbstractConfiguration.EVENT_READ_PROPERTY, "key1",
-                null);
+        checkErrorListener(AbstractConfiguration.EVENT_READ_PROPERTY, "key1", 
null);
     }
 
     /**
@@ -379,8 +371,7 @@
     public void testAddPropertyError()
     {
         setUpErrorConfig().addProperty("key1", "value");
-        checkErrorListener(AbstractConfiguration.EVENT_ADD_PROPERTY, "key1",
-                "value");
+        checkErrorListener(AbstractConfiguration.EVENT_ADD_PROPERTY, "key1", 
"value");
     }
 
     /**
@@ -388,10 +379,8 @@
      */
     public void testIsEmptyError()
     {
-        assertTrue("Wrong return value for failure", setUpErrorConfig()
-                .isEmpty());
-        checkErrorListener(AbstractConfiguration.EVENT_READ_PROPERTY, null,
-                null);
+        assertTrue("Wrong return value for failure", 
setUpErrorConfig().isEmpty());
+        checkErrorListener(AbstractConfiguration.EVENT_READ_PROPERTY, null, 
null);
     }
 
     /**
@@ -399,10 +388,8 @@
      */
     public void testContainsKeyError()
     {
-        assertFalse("Wrong return value for failure", setUpErrorConfig()
-                .containsKey("key1"));
-        checkErrorListener(AbstractConfiguration.EVENT_READ_PROPERTY, "key1",
-                null);
+        assertFalse("Wrong return value for failure", 
setUpErrorConfig().containsKey("key1"));
+        checkErrorListener(AbstractConfiguration.EVENT_READ_PROPERTY, "key1", 
null);
     }
 
     /**
@@ -411,8 +398,7 @@
     public void testClearPropertyError()
     {
         setUpErrorConfig().clearProperty("key1");
-        checkErrorListener(AbstractConfiguration.EVENT_CLEAR_PROPERTY, "key1",
-                null);
+        checkErrorListener(AbstractConfiguration.EVENT_CLEAR_PROPERTY, "key1", 
null);
     }
 
     /**
@@ -430,8 +416,7 @@
     public void testGetKeysError()
     {
         Iterator it = setUpErrorConfig().getKeys();
-        checkErrorListener(AbstractConfiguration.EVENT_READ_PROPERTY, null,
-                null);
+        checkErrorListener(AbstractConfiguration.EVENT_READ_PROPERTY, null, 
null);
         assertFalse("Iteration is not empty", it.hasNext());
     }
 
@@ -458,8 +443,7 @@
         DatabaseConfiguration config = setUpConfig();
         config.setListDelimiter(';');
         config.setDelimiterParsingDisabled(true);
-        assertEquals("Wrong value of property", "a;b;c", config
-                .getString("keyMulti"));
+        assertEquals("Wrong value of property", "a;b;c", 
config.getString("keyMulti"));
     }
 
     /**
@@ -481,8 +465,7 @@
      * configured to throw an exception when obtaining a connection. This way
      * database exceptions can be simulated.
      */
-    static class PotentialErrorDatabaseConfiguration extends
-            DatabaseConfiguration
+    static class PotentialErrorDatabaseConfiguration extends 
DatabaseConfiguration
     {
         /** A flag whether a getConnection() call should fail. */
         boolean failOnConnect;



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

Reply via email to