User: oleg
Date: 00/11/23 05:20:18
Modified: src/main/org/jboss/minerva/datasource
JDBCPoolDataSource.java
Log:
Added String attribute "properties" needed for standalone use of Minerva with Castor.
Revision Changes Path
1.5 +31 -1
jboss/src/main/org/jboss/minerva/datasource/JDBCPoolDataSource.java
Index: JDBCPoolDataSource.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/minerva/datasource/JDBCPoolDataSource.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JDBCPoolDataSource.java 2000/10/05 01:36:34 1.4
+++ JDBCPoolDataSource.java 2000/11/23 13:20:17 1.5
@@ -25,7 +25,7 @@
* and JDBCConnectionFactory.
* @see org.jboss.minerva.pools.ObjectPool
* @see org.jboss.minerva.factories.JDBCConnectionFactory
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
* @author Aaron Mulder ([EMAIL PROTECTED])
*/
public class JDBCPoolDataSource implements DataSource, Referenceable, ObjectFactory
{
@@ -86,6 +86,7 @@
public void setJDBCURL(String url) {factory.setConnectURL(url);}
public String getJDBCURL() {return factory.getConnectURL();}
public void setJDBCProperties(Properties props)
{factory.setConnectProperties(props);}
+ public void setProperties(String props)
{setJDBCProperties(parseProperties(props));}
public Properties getJDBCProperties() {return factory.getConnectProperties();}
public void setJDBCUser(String user) {factory.setUser(user);}
public String getJDBCUser() {return factory.getUser();}
@@ -204,6 +205,35 @@
*/
public void setLoginTimeout(int timeout) throws java.sql.SQLException {
this.timeout = timeout;
+ }
+
+ /**
+ * This method is used for parsing JDBCProperties
+ */
+ private static Properties parseProperties(String string) {
+ Properties props = new Properties();
+ if(string == null || string.length() == 0) return props;
+ int lastPos = -1;
+ int pos = string.indexOf(";");
+ while(pos > -1) {
+ addProperty(props, string.substring(lastPos+1, pos));
+ lastPos = pos;
+ pos = string.indexOf(";", lastPos+1);
+ }
+ addProperty(props, string.substring(lastPos+1));
+ return props;
+ }
+
+ /**
+ * This method is used for parsing JDBCProperties
+ */
+ private static void addProperty(Properties props, String property) {
+ int pos = property.indexOf("=");
+ if(pos < 0) {
+ System.err.println("Unable to parse property '"+property+"' - please
use 'name=value'");
+ return;
+ }
+ props.setProperty(property.substring(0, pos), property.substring(pos+1));
}
// Referenceable implementation ----------------------------------