From 0086a80135b2bae7fff32fe2a2ca924a10a5ff44 Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 12 May 2011 07:24:11 +0000 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81ConnectionProperties=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.alibabatech.com/svn/druid/trunk@31 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../druid/pool/DruidDataAbstractSource.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java index 6ffe84aa98..8a9d68d933 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java @@ -468,6 +468,28 @@ public abstract class DruidDataAbstractSource implements DataSource, DataSourceP this.connectionProperties = connectionProperties; } + + public void setConnectionProperties(String connectionProperties) { + if (connectionProperties == null) throw new NullPointerException("connectionProperties is null"); + + String[] entries = connectionProperties.split(";"); + Properties properties = new Properties(); + for (int i = 0; i < entries.length; i++) { + String entry = entries[i]; + if (entry.length() > 0) { + int index = entry.indexOf('='); + if (index > 0) { + String name = entry.substring(0, index); + String value = entry.substring(index + 1); + properties.setProperty(name, value); + } else { + // no value is empty string which is how java.util.Properties works + properties.setProperty(entry, ""); + } + } + } + this.connectionProperties = properties; + } public String getUrl() { return jdbcUrl;