Author: sergiykarpenko
Date: 2011-01-24 05:54:51 -0500 (Mon, 24 Jan 2011)
New Revision: 3832
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/TestRepositoryCreationService.java
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-creator-service.xml
Log:
EXOJCR-1148: additional properties support added to DBCreator configuration
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java 2011-01-24
09:42:28 UTC (rev 3831)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java 2011-01-24
10:54:51 UTC (rev 3832)
@@ -57,6 +57,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import javax.jcr.RepositoryException;
@@ -433,6 +434,10 @@
refAddr.put("url", dbConnectionInfo.getUrl());
refAddr.put("username", dbConnectionInfo.getUsername());
refAddr.put("password", dbConnectionInfo.getPassword());
+ for (Entry<String, String> entry :
dbConnectionInfo.getAdditionalProperties().entrySet())
+ {
+ refAddr.put(entry.getKey(), entry.getValue());
+ }
}
catch (DBCreatorException e)
{
@@ -523,6 +528,10 @@
refAddr.put("url", dbConnectionInfo.getUrl());
refAddr.put("username", dbConnectionInfo.getUsername());
refAddr.put("password", dbConnectionInfo.getPassword());
+ for (Entry<String, String> entry :
dbConnectionInfo.getAdditionalProperties().entrySet())
+ {
+ refAddr.put(entry.getKey(), entry.getValue());
+ }
}
catch (DBCreatorException e)
{
Modified:
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/TestRepositoryCreationService.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/TestRepositoryCreationService.java 2011-01-24
09:42:28 UTC (rev 3831)
+++
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/TestRepositoryCreationService.java 2011-01-24
10:54:51 UTC (rev 3832)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.ext.backup.ExtendedBackupManager;
import org.exoplatform.services.jcr.ext.backup.RepositoryBackupChain;
import org.exoplatform.services.jcr.ext.backup.RepositoryBackupConfig;
+import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
import java.io.File;
@@ -44,7 +45,7 @@
protected ExtendedBackupManager getBackupManager()
{
- return (ExtendedBackupManager)
container.getComponentInstanceOfType(BackupManager.class);
+ return
(ExtendedBackupManager)container.getComponentInstanceOfType(BackupManager.class);
}
public void testCreateRepository() throws Exception
@@ -54,6 +55,8 @@
File backDir = new File("target/backup");
backDir.mkdirs();
+ RepositoryImpl repository = getReposityToBackup();
+
RepositoryBackupConfig config = new RepositoryBackupConfig();
config.setRepository(repository.getName());
config.setBackupType(BackupManager.FULL_BACKUP_ONLY);
Modified:
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-creator-service.xml
===================================================================
---
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-creator-service.xml 2011-01-24
09:42:28 UTC (rev 3831)
+++
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-creator-service.xml 2011-01-24
10:54:51 UTC (rev 3832)
@@ -72,6 +72,9 @@
<property name="url"
value="jdbc:mysql://localhost/" />
<property name="username" value="root" />
<property name="password" value="admin" />
+ <property name="additional_property"
value="value">
+ ...
+ <property name="additional_property_n"
value="value">
</properties-param>
<properties-param>
<name>db-creation</name>.
@@ -86,6 +89,20 @@
<para><envar>db-connection</envar> properties section contains
parameters
needed for connection to database server</para>
+ <para>There is four reserved and mandatory properties
+ <emphasis>driverClassName</emphasis>,
<emphasis>url</emphasis>,
+ <emphasis>username</emphasis> and
<emphasis>password</emphasis>. But
+ db-connection may contain additonal properties.</para>
+
+ <para>For example, next additional proprites allows reconnect to MySQL
+ database when connection was refused:<programlisting>
<properties-param>
+ <name>db-connection</name>
+ ...
+ <property name="validationQuery" value="select
1"/>
+ <property name="testOnReturn"
value="true"/>
+ ...
+ </properties-param></programlisting></para>
+
<para><envar>db-creation</envar> properties section contains
paramaters
for database creation using DDL script:</para>