You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by rh...@apache.org on 2013/05/28 15:43:40 UTC
svn commit: r1486921 -
/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/
Author: rhillegas
Date: Tue May 28 13:43:39 2013
New Revision: 1486921
URL: http://svn.apache.org/r1486921
Log:
DERBY-6213: Collapse the embedded DataSources into their Java 6 base classes.
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/jdbc/BasicEmbeddedDataSource40.java
db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource.java
db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource40.java
db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource.java
db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource40.java
db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource.java
db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource40.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/jdbc/BasicEmbeddedDataSource40.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/BasicEmbeddedDataSource40.java?rev=1486921&r1=1486920&r2=1486921&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/jdbc/BasicEmbeddedDataSource40.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/jdbc/BasicEmbeddedDataSource40.java Tue May 28 13:43:39 2013
@@ -43,14 +43,4 @@ import org.apache.derby.impl.jdbc.Util;
public BasicEmbeddedDataSource40() {}
- ////////////////////////////////////////////////////////////////////
- //
- // INTRODUCED BY JDBC 4.1 IN JAVA 7
- //
- ////////////////////////////////////////////////////////////////////
-
- public Logger getParentLogger() throws SQLFeatureNotSupportedException {
- throw (SQLFeatureNotSupportedException)Util.notImplemented(
- "getParentLogger()");
- }
}
Modified: db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource.java?rev=1486921&r1=1486920&r2=1486921&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource.java Tue May 28 13:43:39 2013
@@ -28,29 +28,36 @@ import javax.sql.PooledConnection;
import org.apache.derby.impl.jdbc.Util;
-/**
+/**
+ <P>
This datasource is suitable for an application using embedded Derby,
- running on full Java SE 5 or 6, corresponding to JDBC 3.0 and 4.0.
- If running on Java SE 7 or higher, consider a more capable data source.
- <p/>
+ running on full Java SE 6 and higher, corresponding to 4.0 and higher.
EmbeddedConnectionPoolDataSource is a ConnectionPoolDataSource
implementation.
+ </P>
-
<P>A ConnectionPoolDataSource is a factory for PooledConnection
objects. An object that implements this interface will typically be
- registered with a JNDI service.
+ registered with a JNDI service.</P>
+
<P>
EmbeddedConnectionPoolDataSource automatically supports the correct JDBC specification version
- for the Java Virtual Machine's environment.
+ for the Java Virtual Machine's environment.</P>
+
<UL>
- <LI> JDBC 3.0 - J2SE 5.0 </LI>
- <LI> JDBC 4.0 - Java SE 6 </LI>
+ <LI>JDBC 4.0 - Java SE 6</LI>
+ <LI>JDBC 4.1 - Java SE 7</LI>
+ <LI>JDBC 4.2 - full Java SE 8</LI>
</UL>
- <P>EmbeddedConnectionPoolDataSource is serializable and referenceable.
+ <P>
+ Use BasicEmbeddedConnectionPoolDataSource40 if your application runs on Java 8
+ Compact Profile 2.
+ </P>
+
+ <P>EmbeddedConnectionPoolDataSource is serializable and referenceable.</P>
- <P>See EmbeddedDataSource for DataSource properties.
+ <P>See EmbeddedDataSource for DataSource properties.</P>
*/
public class EmbeddedConnectionPoolDataSource extends EmbeddedDataSource
@@ -136,18 +143,6 @@ public class EmbeddedConnectionPoolDataS
this, user, password, requestPassword);
}
- ////////////////////////////////////////////////////////////////////
- //
- // INTRODUCED BY JDBC 4.1 IN JAVA 7
- //
- ////////////////////////////////////////////////////////////////////
-
- public Logger getParentLogger()
- throws SQLFeatureNotSupportedException
- {
- throw (SQLFeatureNotSupportedException) Util.notImplemented( "getParentLogger()" );
- }
-
}
Modified: db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource40.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource40.java?rev=1486921&r1=1486920&r2=1486921&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource40.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedConnectionPoolDataSource40.java Tue May 28 13:43:39 2013
@@ -20,40 +20,12 @@
*/
package org.apache.derby.jdbc;
-import java.sql.SQLFeatureNotSupportedException;
-import java.util.logging.Logger;
-import org.apache.derby.impl.jdbc.Util;
-
/**
- This datasource is suitable for an application using embedded Derby,
- running on the following platforms:
- <p>
- <ul>
- <li>Java SE 7 (JDBC 4.1) and
- <li>full Java SE 8 (JDBC 4.2).
- </ul>
- <p>
- Use BasicEmbeddedConnectionPoolDataSource40 if your application
- runs on Java 8 Compact Profile 2.
- <p>
- Use EmbeddedConnectionPoolDataSource if your application
- runs on the following platforms:
- <p>
- <ul>
- <li> JDBC 3.0 - J2SE 5.0 </li>
- <li> JDBC 4.0 - Java SE 6 </li>
- </ul>
- <p>EmbeddedConnectionPoolDataSource40 is a ConnectionPoolDataSource
- implementation.
-
- <P>A ConnectionPoolDataSource is a factory for PooledConnection
- objects. An object that implements this interface will typically be
- registered with a JNDI service.
-
- <P>EmbeddedConnectionPoolDataSource40 is serializable and referenceable.
-
- <P>See EmbeddedDataSource40 for DataSource properties.
-
+ <P>
+ This is a vacuous, deprecated class. At one time, it had real behavior and helped us support
+ separate datasources for Java 5 and Java 6.
+ Now that we no longer support Java 5, all functionality has migrated into the superclass, EmbeddedConnectionPoolDataSource.
+ </P>
*/
public class EmbeddedConnectionPoolDataSource40
extends EmbeddedConnectionPoolDataSource
Modified: db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource.java?rev=1486921&r1=1486920&r2=1486921&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource.java Tue May 28 13:43:39 2013
@@ -29,23 +29,31 @@ import javax.naming.Reference;
import javax.naming.Referenceable;
import javax.naming.StringRefAddr;
-/**
+/**
+ <P>
This datasource is suitable for an application using embedded Derby,
- running on full Java SE 5 or 6, corresponding to JDBC 3.0 and 4.0.
- If running on Java SE 7 or higher, consider a more capable data source.
- <p/>
+ running on full Java SE 6 and higher, corresponding to 4.0 and higher.
+ </P>
<P>A DataSource is a factory for Connection objects. An object that
implements the DataSource interface will typically be registered with a
- JNDI service provider.
+ JNDI service provider.</P>
+
<P>
EmbeddedDataSource automatically supports the correct JDBC specification version
- for the Java Virtual Machine's environment.
+ for the Java Virtual Machine's environment.</P>
+
<UL>
- <LI> JDBC 3.0 - J2SE 5.0 </LI>
- <LI> JDBC 4.0 - Java SE 6 </LI>
+ <LI>JDBC 4.0 - Java SE 6</LI>
+ <LI>JDBC 4.1 - Java SE 7</LI>
+ <LI>JDBC 4.2 - full Java SE 8</LI>
</UL>
+ <P>
+ Use BasicEmbeddedDataSource40 if your application runs on Java 8
+ Compact Profile 2.
+ </P>
+
<P>The following is a list of properties that can be set on a Derby
DataSource object:
<P><B>Standard DataSource properties</B> (from JDBC 3.0 specification).
Modified: db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource40.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource40.java?rev=1486921&r1=1486920&r2=1486921&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource40.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedDataSource40.java Tue May 28 13:43:39 2013
@@ -21,169 +21,12 @@
package org.apache.derby.jdbc;
-import java.sql.SQLFeatureNotSupportedException;
-import java.util.logging.Logger;
-import org.apache.derby.impl.jdbc.Util;
-
/**
-
- This datasource is suitable for an application using embedded Derby,
- running on the following platforms:
- <p>
- <ul>
- <li>Java SE 7 (JDBC 4.1) and
- <li>full Java SE 8 (JDBC 4.2).
- </ul>
- <p>
- Use BasicEmbeddedDataSource40 if your application runs on Java 8
- Compact Profile 2.
- <p>
- Use EmbeddedDataSource if your application runs on the following
- platforms:
- <p>
- <ul>
- <li> JDBC 3.0 - J2SE 5.0 </li>
- <li> JDBC 4.0 - Java SE 6 </li>
- </ul>
- <p>
- EmbeddedDataSource40 is a DataSource implementation.
-
- <P>A DataSource is a factory for Connection objects. An object that
- implements the DataSource interface will typically be registered with a
- JNDI service provider.
- <P>
- The following is a list of properties that can be set on a Derby
- DataSource object:
- <P><B>Standard DataSource properties</B> (from JDBC 3.0 specification).
-
- <UL><LI><B><code>databaseName</code></B> (String): <I>Mandatory</I>
- <BR>This property must be set and it
- identifies which database to access. If a database named wombat located at
- g:/db/wombat is to be accessed, then one should call
- <code>setDatabaseName("g:/db/wombat")</code> on the data source object.</LI>
-
- <LI><B><code>dataSourceName</code></B> (String): <I>Optional</I>
- <BR> Name for DataSource. Not used by the data source object. Used for
- informational purpose only.</LI>
-
- <LI><B><code>description</code></B> (String): <I>Optional</I>
- <BR>Description of the data source. Not
- used by the data source object. Used for informational purpose only.</LI>
-
- <LI><B><code>password</code></B> (String): <I>Optional</I>
- <BR>Database password for the no argument <code>DataSource.getConnection()</code>,
- <code>ConnectionPoolDataSource.getPooledConnection()</code>
- and <code>XADataSource.getXAConnection()</code> methods.
-
- <LI><B><code>user</code></B> (String): <I>Optional</I>
- <BR>Database user for the no argument <code>DataSource.getConnection()</code>,
- <code>ConnectionPoolDataSource.getPooledConnection()</code>
- and <code>XADataSource.getXAConnection()</code> methods.
- </UL>
-
- <BR><B>Derby specific DataSource properties.</B>
-
- <UL>
-
- <LI><B><code>attributesAsPassword</code></B> (Boolean): <I>Optional</I>
- <BR>If true, treat the password value in a
- <code>DataSource.getConnection(String user, String password)</code>,
- <code>ConnectionPoolDataSource.getPooledConnection(String user, String password)</code>
- or <code>XADataSource.getXAConnection(String user, String password)</code> as a set
- of connection attributes. The format of the attributes is the same as the format
- of the attributes in the property connectionAttributes. If false the password value
- is treated normally as the password for the given user.
- Setting this property to true allows a connection request from an application to
- provide more authentication information that just a password, for example the request
- can include the user's password and an encrypted database's boot password.</LI>
-
- <LI><B><code>connectionAttributes</code></B> (String): <I>Optional</I>
- <BR>Defines a set of Derby connection attributes for use in all connection requests.
- The format of the String matches the format of the connection attributes in a Derby JDBC URL.
- That is a list of attributes in the form <code><I>attribute</I>=<I>value</I></code>, each separated by semi-colon (';').
- E.g. <code>setConnectionAttributes("bootPassword=erd3234dggd3kazkj3000");</code>.
- <BR>The database name must be set by the DataSource property <code>databaseName</code> and not by setting the <code>databaseName</code>
- connection attribute in the <code>connectionAttributes</code> property.
- <BR>
- Any attributes that can be set using a property of this DataSource implementation
- (e.g user, password) should not be set in connectionAttributes. Conflicting
- settings in connectionAttributes and properties of the DataSource will lead to
- unexpected behaviour.
- <BR>Please see the Derby documentation for a complete list of connection attributes. </LI>
-
- <LI><B><code>createDatabase</code></B> (String): <I>Optional</I>
- <BR>If set to the string "create", this will
- cause a new database of <code>databaseName</code> if that database does not already
- exist. The database is created when a connection object is obtained from
- the data source. </LI>
-
- <LI><B><code>shutdownDatabase</code></B> (String): <I>Optional</I>
- <BR>If set to the string "shutdown",
- this will cause the database to shutdown when a java.sql.Connection object
- is obtained from the data source. E.g., If the data source is an
- XADataSource, a getXAConnection().getConnection() is necessary to cause the
- database to shutdown.
-
- </UL>
-
- <P><B>Examples.</B>
-
- <P>This is an example of setting a property directly using Derby's
- EmbeddedDataSource40 object. This code is typically written by a system integrator :
- <PRE>
- *
- * import org.apache.derby.jdbc.*;
- *
- * // dbname is the database name
- * // if create is true, create the database if necessary
- * javax.sql.DataSource makeDataSource (String dbname, boolean create)
- * throws Throwable
- * {
- * EmbeddedDataSource40 ds = new EmbeddedDataSource40();
- * ds.setDatabaseName(dbname);
- *
- * if (create)
- * ds.setCreateDatabase("create");
- *
- * return ds;
- * }
- </PRE>
-
- <P>Example of setting properties thru reflection. This code is typically
- generated by tools or written by a system integrator: <PRE>
- *
- * javax.sql.DataSource makeDataSource(String dbname)
- * throws Throwable
- * {
- * Class[] parameter = new Class[1];
- * parameter[0] = dbname.getClass();
- * DataSource ds = new EmbeddedDataSource40();
- * Class cl = ds.getClass();
- *
- * Method setName = cl.getMethod("setDatabaseName", parameter);
- * Object[] arg = new Object[1];
- * arg[0] = dbname;
- * setName.invoke(ds, arg);
- *
- * return ds;
- * }
- </PRE>
-
- <P>Example on how to register a data source object with a JNDI naming
- service.
- <PRE>
- * DataSource ds = makeDataSource("mydb");
- * Context ctx = new InitialContext();
- * ctx.bind("jdbc/MyDB", ds);
- </PRE>
-
- <P>Example on how to retrieve a data source object from a JNDI naming
- service.
- <PRE>
- * Context ctx = new InitialContext();
- * DataSource ds = (DataSource)ctx.lookup("jdbc/MyDB");
- </PRE>
-
+ <P>
+ This is a vacuous, deprecated class. At one time, it had real behavior and helped us support
+ separate datasources for Java 5 and Java 6.
+ Now that we no longer support Java 5, all functionality has migrated into the superclass, EmbeddedDataSource.
+ </P>
*/
public class EmbeddedDataSource40 extends EmbeddedDataSource
implements javax.sql.DataSource /* compile-time check for 4.1 extension */
@@ -193,16 +36,4 @@ public class EmbeddedDataSource40 extend
public EmbeddedDataSource40() {
}
- ////////////////////////////////////////////////////////////////////
- //
- // INTRODUCED BY JDBC 4.1 IN JAVA 7
- //
- ////////////////////////////////////////////////////////////////////
-
- public Logger getParentLogger()
- throws SQLFeatureNotSupportedException
- {
- throw (SQLFeatureNotSupportedException) Util.notImplemented( "getParentLogger()" );
- }
-
}
Modified: db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource.java?rev=1486921&r1=1486920&r2=1486921&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource.java Tue May 28 13:43:39 2013
@@ -33,30 +33,41 @@ import org.apache.derby.iapi.services.mo
/**
+ <P>
This datasource is suitable for an application using embedded Derby,
- running on full Java SE 5 or 6, corresponding to JDBC 3.0 and 4.0.
- If running on Java SE 7 or higher, consider a more capable data source.
- <p/>
+ running on full Java SE 6 or higher, corresponding to JDBC 4.0 and higher.
EmbeddedXADataSource is an XADataSource implementation.
+ <P/>
<P>An XADataSource is a factory for XAConnection objects. It represents a
RM in a DTP environment. An object that implements the XADataSource
- interface is typically registered with a JNDI service provider.
+ interface is typically registered with a JNDI service provider.
+ </P>
+
<P>
EmbeddedXADataSource automatically supports the correct JDBC specification version
for the Java Virtual Machine's environment.
+ </P>
+
<UL>
- <LI> JDBC 3.0 - J2SE 5.0 </LI>
- <LI> JDBC 4.0 - Java SE 6 </LI>
+ <LI>JDBC 4.0 - Java SE 6 </LI>
+ <LI>JDBC 4.1 - Java SE 7</LI>
+ <LI>JDBC 4.2 - full Java SE 8</LI>
</UL>
+ <P>
+ Use BasicEmbeddedXADataSource40 if your application runs on Java 8
+ Compact Profile 2.
+ </P>
+
<P>EmbeddedXADataSource object only works on a local database. There is no
client/server support. An EmbeddedXADataSource object must live in the same jvm as
- the database.
+ the database.
+ </P>
- <P>EmbeddedXADataSource is serializable and referenceable.
+ <P>EmbeddedXADataSource is serializable and referenceable.</P>
- <P>See EmbeddedDataSource for DataSource properties.
+ <P>See EmbeddedDataSource for DataSource properties.</P>
*/
public class EmbeddedXADataSource extends EmbeddedDataSource implements EmbeddedXADataSourceInterface
Modified: db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource40.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource40.java?rev=1486921&r1=1486920&r2=1486921&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource40.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/jdbc/EmbeddedXADataSource40.java Tue May 28 13:43:39 2013
@@ -21,46 +21,12 @@
package org.apache.derby.jdbc;
-import java.sql.SQLFeatureNotSupportedException;
-import java.util.logging.Logger;
-import org.apache.derby.impl.jdbc.Util;
-
/**
-
- This datasource is suitable for an application using embedded Derby,
- running on the following platforms:
- <p>
- <ul>
- <li>Java SE 7 (JDBC 4.1) and
- <li>full Java SE 8 (JDBC 4.2).
- </ul>
- <p>
- Use BasicEmbeddedXADataSource40 if your application runs on Java 8
- Compact Profile 2.
- <p>
- Use EmbeddedXADataSource if your application runs on the following
- platforms:
- <p>
- <ul>
- <li> JDBC 3.0 - J2SE 5.0 </li>
- <li> JDBC 4.0 - Java SE 6 </li>
- </ul>
- <p>
- EmbeddedXADataSource40 is an XADataSource implementation.
-
- <p>An XADataSource is a factory for XAConnection objects. It
- represents a RM in a DTP environment. An object that implements
- the XADataSource interface is typically registered with a JNDI
- service provider.
-
- <p> EmbeddedXADataSource40 object only works on a local database.
- There is no client/server support. An EmbeddedXADataSource40
- object must live in the same jvm as the database.
-
- <P>EmbeddedXADataSource40 is serializable and referenceable.
-
- <P>See EmbeddedDataSource40 for DataSource properties.
-
+ <P>
+ This is a vacuous, deprecated class. At one time, it had real behavior and helped us support
+ separate datasources for Java 5 and Java 6.
+ Now that we no longer support Java 5, all functionality has migrated into the superclass, EmbeddedXADataSource.
+ </P>
*/
public class EmbeddedXADataSource40 extends EmbeddedXADataSource
implements javax.sql.XADataSource /* compile-time check for 4.1 extension */
@@ -68,20 +34,6 @@ public class EmbeddedXADataSource40 exte
private static final long serialVersionUID = 4048303427908481258L;
/** Creates a new instance of EmbeddedXADataSource40 */
- public EmbeddedXADataSource40() {
- super();
- }
+ public EmbeddedXADataSource40() { super(); }
- ////////////////////////////////////////////////////////////////////
- //
- // INTRODUCED BY JDBC 4.1 IN JAVA 7
- //
- ////////////////////////////////////////////////////////////////////
-
- public Logger getParentLogger()
- throws SQLFeatureNotSupportedException
- {
- throw (SQLFeatureNotSupportedException) Util.notImplemented( "getParentLogger()" );
- }
-
}