[exo-jcr-commits] exo-jcr SVN: r5901 - in jcr/branches/1.15.x: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms and 12 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Mar 20 03:16:59 EDT 2012
Author: tolusha
Date: 2012-03-20 03:16:57 -0400 (Tue, 20 Mar 2012)
New Revision: 5901
Modified:
jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/cluster/test-configuration.xml
jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/cluster/test-jcr-config.xml
jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/test-jcr-config.xml
jcr/branches/1.15.x/exo.jcr.component.core/pom.xml
jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java
jcr/branches/1.15.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java
jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-configuration-jbc.xml
jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-jcr-config-jbc.xml
jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/test-jcr-config-ijdbc-jbc.xml
jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/AbstractBackupTestCase.java
jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestRdbmsWorkspaceInitializer.java
jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/server/HTTPBackupAgentTest.java
jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/RestRepositoryServiceTest.java
jcr/branches/1.15.x/exo.jcr.component.ext/src/test/resources/conf/standalone/test-configuration.xml
jcr/branches/1.15.x/exo.jcr.component.ext/src/test/resources/conf/standalone/test-jcr-ext-config.xml
jcr/branches/1.15.x/exo.jcr.component.ftp/src/test/resources/conf/standalone/test-jcr-config.xml
jcr/branches/1.15.x/exo.jcr.component.webdav/src/test/resources/conf/standalone/test-configuration.xml
jcr/branches/1.15.x/exo.jcr.component.webdav/src/test/resources/conf/standalone/test-jcr-config.xml
jcr/branches/1.15.x/exo.jcr.framework.command/src/test/resources/conf/standalone/test-jcr-framework-config.xml
Log:
EXOJCR-1808: make configuration with isolated tables as default in all tests
Modified: jcr/branches/1.15.x/exo.jcr.component.core/pom.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/pom.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core/pom.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -30,12 +30,12 @@
<name>eXo JCR :: Component :: Core Service</name>
<description>eXo JCR Service core component</description>
<properties>
- <jcr.test.configuration.file>/conf/standalone/test-configuration-jbc.xml</jcr.test.configuration.file>
+ <jcr.test.configuration.file>/conf/standalone/test-configuration-ijdbc-jbc.xml</jcr.test.configuration.file>
<jbosscache.shareable>true</jbosscache.shareable>
<cache.enabled>true</cache.enabled>
<value.storage.enabled>true</value.storage.enabled>
<statistics.enabled>false</statistics.enabled>
- <properties.url.suffix>.properties</properties.url.suffix>
+ <properties.url.suffix>-ijdbc.properties</properties.url.suffix>
<properties.url.prefix>classpath:/conf/standalone/default</properties.url.prefix>
<test.cache.all>**/persistent/cache/**</test.cache.all>
<!-- ispn specific exclude by default -->
@@ -980,6 +980,13 @@
</properties>
</profile>
<profile>
+ <id>mjdbc</id>
+ <properties>
+ <jcr.test.configuration.file>/conf/standalone/test-configuration-jbc.xml</jcr.test.configuration.file>
+ <properties.url.suffix>.properties</properties.url.suffix>
+ </properties>
+ </profile>
+ <profile>
<id>ijdbc</id>
<properties>
<jcr.test.configuration.file>/conf/standalone/test-configuration-ijdbc-jbc.xml</jcr.test.configuration.file>
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java 2012-03-20 07:16:57 UTC (rev 5901)
@@ -65,7 +65,7 @@
SecurityHelper.validateSecurityPermission(JCRRuntimePermissions.MANAGE_REPOSITORY_PERMISSION);
Connection jdbcConn = getConnection(wsEntry);
- boolean autoCommit = DialectConstants.DB_DIALECT_SYBASE.equalsIgnoreCase(resolveDialect(wsEntry));
+ boolean autoCommit = DialectConstants.DB_DIALECT_SYBASE.equalsIgnoreCase(resolveDialect(jdbcConn, wsEntry));
try
{
@@ -115,7 +115,7 @@
else
{
Connection jdbcConn = getConnection(wsEntry);
- boolean autoCommit = DialectConstants.DB_DIALECT_SYBASE.equalsIgnoreCase(resolveDialect(wsEntry));
+ boolean autoCommit = DialectConstants.DB_DIALECT_SYBASE.equalsIgnoreCase(resolveDialect(jdbcConn, wsEntry));
try
{
@@ -166,7 +166,7 @@
"It is not possible to create cleaner with common connection for multi database repository configuration");
}
- String dialect = resolveDialect(wsEntry);
+ String dialect = resolveDialect(jdbcConn, wsEntry);
boolean autoCommit = dialect.equalsIgnoreCase(DialectConstants.DB_DIALECT_SYBASE);
DBCleaningScripts scripts = DBCleaningScriptsFactory.prepareScripts(dialect, rEntry);
@@ -189,7 +189,7 @@
{
SecurityHelper.validateSecurityPermission(JCRRuntimePermissions.MANAGE_REPOSITORY_PERMISSION);
- String dialect = resolveDialect(wsEntry);
+ String dialect = resolveDialect(jdbcConn, wsEntry);
boolean autoCommit = dialect.equalsIgnoreCase(DialectConstants.DB_DIALECT_SYBASE);
DBCleaningScripts scripts = DBCleaningScriptsFactory.prepareScripts(dialect, wsEntry);
@@ -307,7 +307,7 @@
* @return dialect
* @throws DBCleanException
*/
- private static String resolveDialect(WorkspaceEntry wsEntry) throws DBCleanException
+ private static String resolveDialect(Connection jdbcConn, WorkspaceEntry wsEntry) throws DBCleanException
{
String dialect =
wsEntry.getContainer().getParameterValue(JDBCWorkspaceDataContainer.DB_DIALECT, DBConstants.DB_DIALECT_AUTO);
@@ -316,7 +316,6 @@
{
try
{
- Connection jdbcConn = getConnection(wsEntry);
dialect = DialectDetecter.detect(jdbcConn.getMetaData());
}
catch (SQLException e)
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java 2012-03-20 07:16:57 UTC (rev 5901)
@@ -19,11 +19,9 @@
package org.exoplatform.services.jcr.impl.core;
import org.exoplatform.services.jcr.JcrImplBaseTest;
-import org.exoplatform.services.jcr.RepositoryService;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.core.ManageableRepository;
-import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCDataContainerConfig.DatabaseStructureType;
import org.exoplatform.services.jcr.util.TesterConfigurationHelper;
@@ -49,16 +47,10 @@
{
private final TesterConfigurationHelper helper = TesterConfigurationHelper.getInstance();
- private WorkspaceEntry wsEntry;
-
- private DatabaseStructureType dbStructureType;
-
@Override
public void setUp() throws Exception
{
super.setUp();
- wsEntry = (WorkspaceEntry)session.getContainer().getComponentInstanceOfType(WorkspaceEntry.class);
- dbStructureType = JDBCWorkspaceDataContainer.getDatabaseType(wsEntry);
}
public void testRestore() throws RepositoryConfigurationException, Exception
@@ -66,11 +58,9 @@
ManageableRepository repository = null;
try
{
- String dsName = helper.createDatasource();
- repository = helper.createRepository(container, dbStructureType, dsName);
+ repository = helper.createRepository(container, DatabaseStructureType.MULTI, null);
- WorkspaceEntry workspaceEntry =
- helper.createWorkspaceEntry(dbStructureType, dbStructureType.isMultiDatabase() ? helper.createDatasource() : dsName);
+ WorkspaceEntry workspaceEntry = helper.createWorkspaceEntry(DatabaseStructureType.MULTI, null);
helper.addWorkspace(repository, workspaceEntry);
InputStream is = TestWorkspaceManagement.class.getResourceAsStream("/import-export/db1_ws1-20071220_0430.xml");
@@ -90,11 +80,9 @@
ManageableRepository repository = null;
try
{
- String dsName = helper.createDatasource();
- repository = helper.createRepository(container, dbStructureType, dsName);
+ repository = helper.createRepository(container, DatabaseStructureType.MULTI, null);
- WorkspaceEntry workspaceEntry =
- helper.createWorkspaceEntry(dbStructureType, dbStructureType.isMultiDatabase() ? helper.createDatasource() : dsName);
+ WorkspaceEntry workspaceEntry = helper.createWorkspaceEntry(DatabaseStructureType.MULTI, null);
helper.addWorkspace(repository, workspaceEntry);
Session defSession = repository.login(this.credentials, workspaceEntry.getName());
@@ -132,20 +120,4 @@
}
}
}
-
- private void doTestOnWorkspace(String wsName) throws RepositoryException, RepositoryConfigurationException
- {
- RepositoryService service = (RepositoryService)container.getComponentInstanceOfType(RepositoryService.class);
- Session sess = service.getDefaultRepository().getSystemSession(wsName);
-
- Node root2 = sess.getRootNode();
- assertNotNull(root2);
-
- Node node1 = root2.getNode("node1");
- assertNotNull(node1);
-
- assertEquals("2", node1.getProperty("p1").getString());
-
- sess.logout();
- }
}
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-configuration-jbc.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-configuration-jbc.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-configuration-jbc.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -281,87 +281,6 @@
<init-params>
<value-param>
<name>bind-name</name>
- <value>jdbcjcr1</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr1.url:jdbc:hsqldb:file:target/temp/data/jcr}"/>
- <property name="username" value="${jdbcjcr1.username:sa}"/>
- <property name="password" value="${jdbcjcr1.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr2</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr2.url:jdbc:hsqldb:file:target/temp/data/jcr2}"/>
- <property name="username" value="${jdbcjcr2.username:sa}"/>
- <property name="password" value="${jdbcjcr2.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr3</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr3.url:jdbc:hsqldb:file:target/temp/data/jcr3}"/>
- <property name="username" value="${jdbcjcr3.username:sa}"/>
- <property name="password" value="${jdbcjcr3.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
<value>jdbcjcrtest</value>
</value-param>
<value-param>
@@ -417,33 +336,6 @@
<init-params>
<value-param>
<name>bind-name</name>
- <value>jdbcjcr1db2</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr1db2.url:jdbc:hsqldb:file:target/temp/data/jcrdb2}"/>
- <property name="username" value="${jdbcjcr1db2.username:sa}"/>
- <property name="password" value="${jdbcjcr1db2.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
<value>jdbcjcrtck</value>
</value-param>
<value-param>
@@ -471,60 +363,6 @@
<init-params>
<value-param>
<name>bind-name</name>
- <value>jdbcjcr1tck</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr1tck.url:jdbc:hsqldb:file:target/temp/data/jcrtck}"/>
- <property name="username" value="${jdbcjcr1tck.username:sa}"/>
- <property name="password" value="${jdbcjcr1tck.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr2tck</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr2tck.url:jdbc:hsqldb:file:target/temp/data/jcr2tck}"/>
- <property name="username" value="${jdbcjcr2tck.username:sa}"/>
- <property name="password" value="${jdbcjcr2tck.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
<value>jdbcjcr2export1</value>
</value-param>
<value-param>
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-jcr-config-jbc.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-jcr-config-jbc.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-jcr-config-jbc.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -23,7 +23,7 @@
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
<property name="source-name" value="jdbcjcr" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws" />
<property name="dialect" value="auto" />
@@ -92,8 +92,8 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr1" />
- <property name="db-structure-type" value="multi" />
+ <property name="source-name" value="jdbcjcr" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1" />
<property name="dialect" value="auto" />
@@ -167,8 +167,8 @@
<workspace name="ws2" lazy-read-threshold="1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr2" />
- <property name="db-structure-type" value="multi" />
+ <property name="source-name" value="jdbcjcr" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2" />
<property name="dialect" value="auto" />
@@ -243,8 +243,8 @@
<!-- for system storage -->
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr3" />
- <property name="db-structure-type" value="multi" />
+ <property name="source-name" value="jdbcjcr" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws3" />
<property name="dialect" value="auto" />
@@ -345,7 +345,7 @@
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
<property name="source-name" value="jdbcjcrdb2" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/wsdb2" />
<property name="dialect" value="auto" />
@@ -404,7 +404,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrdb2" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
@@ -413,8 +413,8 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr1db2" />
- <property name="db-structure-type" value="multi" />
+ <property name="source-name" value="jdbcjcrdb2" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1db2" />
<property name="dialect" value="auto" />
@@ -474,7 +474,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrdb2" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
@@ -494,7 +494,7 @@
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
<property name="source-name" value="jdbcjcrtck" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/wstck" />
<property name="dialect" value="auto" />
@@ -566,7 +566,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrtck" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
@@ -575,8 +575,8 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr1tck" />
- <property name="db-structure-type" value="multi" />
+ <property name="source-name" value="jdbcjcrtck" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1tck" />
<property name="dialect" value="auto" />
@@ -646,7 +646,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrtck" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
@@ -655,8 +655,8 @@
<workspace name="ws2">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr2tck" />
- <property name="db-structure-type" value="multi" />
+ <property name="source-name" value="jdbcjcktck" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2tck" />
<property name="dialect" value="auto" />
@@ -729,7 +729,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrtck" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/test-jcr-config-ijdbc-jbc.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/test-jcr-config-ijdbc-jbc.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/test/resources/conf/standalone/test-jcr-config-ijdbc-jbc.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -298,7 +298,7 @@
<!-- for system storage -->
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr" />
+ <property name="source-name" value="jdbcjcrdb2" />
<property name="dialect" value="auto" />
<property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
@@ -347,7 +347,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrdb2" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
@@ -356,7 +356,7 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr" />
+ <property name="source-name" value="jdbcjcrdb2" />
<property name="dialect" value="auto" />
<property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
@@ -404,7 +404,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrdb2" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
@@ -423,7 +423,7 @@
<!-- for system storage -->
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr" />
+ <property name="source-name" value="jdbcjcrtck" />
<property name="dialect" value="auto" />
<property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
@@ -481,7 +481,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrtck" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
@@ -490,7 +490,7 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr" />
+ <property name="source-name" value="jdbcjcrtck" />
<property name="dialect" value="auto" />
<property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
@@ -547,7 +547,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrtck" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
@@ -556,12 +556,12 @@
<workspace name="ws2">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr" />
+ <property name="source-name" value="jdbcjcrtck" />
<property name="dialect" value="auto" />
<property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2tck" />
- </properties>
+ </properties>
<value-storages>
<value-storage id="ws2"
class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
@@ -616,7 +616,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcrtck" />
<property name="jbosscache-shareable" value="${jbosscache-shareable}" />
</properties>
</lock-manager>
Modified: jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/cluster/test-configuration.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/cluster/test-configuration.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/cluster/test-configuration.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -281,87 +281,6 @@
<init-params>
<value-param>
<name>bind-name</name>
- <value>jdbcjcr1</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr1.url:jdbc:hsqldb:file:target/temp/data/jcr}"/>
- <property name="username" value="${jdbcjcr1.username:sa}"/>
- <property name="password" value="${jdbcjcr1.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr2</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr2.url:jdbc:hsqldb:file:target/temp/data/jcr2}"/>
- <property name="username" value="${jdbcjcr2.username:sa}"/>
- <property name="password" value="${jdbcjcr2.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr3</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr3.url:jdbc:hsqldb:file:target/temp/data/jcr3}"/>
- <property name="username" value="${jdbcjcr3.username:sa}"/>
- <property name="password" value="${jdbcjcr3.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
<value>jdbcjcrtest</value>
</value-param>
<value-param>
@@ -417,33 +336,6 @@
<init-params>
<value-param>
<name>bind-name</name>
- <value>jdbcjcr1db2</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr1db2.url:jdbc:hsqldb:file:target/temp/data/jcrdb2}"/>
- <property name="username" value="${jdbcjcr1db2.username:sa}"/>
- <property name="password" value="${jdbcjcr1db2.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
<value>jdbcjcrtck</value>
</value-param>
<value-param>
@@ -471,60 +363,6 @@
<init-params>
<value-param>
<name>bind-name</name>
- <value>jdbcjcr1tck</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr1tck.url:jdbc:hsqldb:file:target/temp/data/jcrtck}"/>
- <property name="username" value="${jdbcjcr1tck.username:sa}"/>
- <property name="password" value="${jdbcjcr1tck.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr2tck</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="${all.driverClassName:org.hsqldb.jdbcDriver}"/>
- <property name="url" value="${jdbcjcr2tck.url:jdbc:hsqldb:file:target/temp/data/jcr2tck}"/>
- <property name="username" value="${jdbcjcr2tck.username:sa}"/>
- <property name="password" value="${jdbcjcr2tck.password:}"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
<value>jdbcjcr2export1</value>
</value-param>
<value-param>
Modified: jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/cluster/test-jcr-config.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/cluster/test-jcr-config.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/cluster/test-jcr-config.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -24,7 +24,7 @@
<properties>
<property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws" />
</properties>
@@ -90,9 +90,9 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr1" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1" />
</properties>
@@ -147,7 +147,7 @@
<property name="infinispan-cl-cache.jdbc.id.column" value="id" />
<property name="infinispan-cl-cache.jdbc.data.column" value="data" />
<property name="infinispan-cl-cache.jdbc.timestamp.column" value="timestamp" />
- <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr1" />
+ <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="infinispan-cl-cache.jdbc.connectionFactory" value="org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory" />
</properties>
</lock-manager>
@@ -156,9 +156,9 @@
<workspace name="ws2" lazy-read-threshold="1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr2" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2" />
</properties>
@@ -213,7 +213,7 @@
<property name="infinispan-cl-cache.jdbc.id.column" value="id" />
<property name="infinispan-cl-cache.jdbc.data.column" value="data" />
<property name="infinispan-cl-cache.jdbc.timestamp.column" value="timestamp" />
- <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr2" />
+ <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="infinispan-cl-cache.jdbc.connectionFactory" value="org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory" />
</properties>
</lock-manager>
@@ -223,9 +223,9 @@
<!-- for system storage -->
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr3" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws3" />
</properties>
@@ -303,7 +303,7 @@
<property name="infinispan-cl-cache.jdbc.id.column" value="id" />
<property name="infinispan-cl-cache.jdbc.data.column" value="data" />
<property name="infinispan-cl-cache.jdbc.timestamp.column" value="timestamp" />
- <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr3" />
+ <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="infinispan-cl-cache.jdbc.connectionFactory" value="org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory" />
</properties>
</lock-manager>
@@ -324,7 +324,7 @@
<properties>
<property name="source-name" value="jdbcjcrdb2" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/wsdb2" />
</properties>
@@ -387,9 +387,9 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr1db2" />
+ <property name="source-name" value="jdbcjcrdb2" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1db2" />
</properties>
@@ -442,7 +442,7 @@
<property name="infinispan-cl-cache.jdbc.id.column" value="id" />
<property name="infinispan-cl-cache.jdbc.data.column" value="data" />
<property name="infinispan-cl-cache.jdbc.timestamp.column" value="timestamp" />
- <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr1db2" />
+ <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcrdb2" />
<property name="infinispan-cl-cache.jdbc.connectionFactory" value="org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory" />
</properties>
</lock-manager>
@@ -463,7 +463,7 @@
<properties>
<property name="source-name" value="jdbcjcrtck" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/wstck" />
</properties>
@@ -535,9 +535,9 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr1tck" />
+ <property name="source-name" value="jdbcjcrtck" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1tck" />
</properties>
@@ -599,7 +599,7 @@
<property name="infinispan-cl-cache.jdbc.id.column" value="id" />
<property name="infinispan-cl-cache.jdbc.data.column" value="data" />
<property name="infinispan-cl-cache.jdbc.timestamp.column" value="timestamp" />
- <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr1tck" />
+ <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcrtck" />
<property name="infinispan-cl-cache.jdbc.connectionFactory" value="org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory" />
</properties>
</lock-manager>
@@ -608,9 +608,9 @@
<workspace name="ws2">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr2tck" />
+ <property name="source-name" value="jdbcjcrtck" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2tck" />
</properties>
@@ -675,7 +675,7 @@
<property name="infinispan-cl-cache.jdbc.id.column" value="id" />
<property name="infinispan-cl-cache.jdbc.data.column" value="data" />
<property name="infinispan-cl-cache.jdbc.timestamp.column" value="timestamp" />
- <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr2tck" />
+ <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcrtck" />
<property name="infinispan-cl-cache.jdbc.connectionFactory" value="org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory" />
</properties>
</lock-manager>
Modified: jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/test-jcr-config.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/test-jcr-config.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/test/resources/conf/standalone/test-jcr-config.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -34,7 +34,7 @@
<properties>
<property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws" />
</properties>
@@ -90,7 +90,7 @@
<properties>
<property name="source-name" value="jdbcjcr1" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1" />
</properties>
@@ -143,7 +143,7 @@
<properties>
<property name="source-name" value="jdbcjcr2" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2" />
</properties>
@@ -197,7 +197,7 @@
<properties>
<property name="source-name" value="jdbcjcr3" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws3" />
</properties>
@@ -282,7 +282,7 @@
<properties>
<property name="source-name" value="jdbcjcrdb2" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/wsdb2" />
</properties>
@@ -335,7 +335,7 @@
<properties>
<property name="source-name" value="jdbcjcr1db2" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1db2" />
</properties>
@@ -399,7 +399,7 @@
<properties>
<property name="source-name" value="jdbcjcrtck" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/wstck" />
</properties>
@@ -459,7 +459,7 @@
<properties>
<property name="source-name" value="jdbcjcr1tck" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1tck" />
</properties>
@@ -518,7 +518,7 @@
<properties>
<property name="source-name" value="jdbcjcr2tck" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2tck" />
</properties>
Modified: jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/AbstractBackupTestCase.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/AbstractBackupTestCase.java 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/AbstractBackupTestCase.java 2012-03-20 07:16:57 UTC (rev 5901)
@@ -40,9 +40,13 @@
import org.exoplatform.services.jcr.impl.core.SessionImpl;
import org.exoplatform.services.jcr.impl.core.SessionRegistry;
import org.exoplatform.services.jcr.impl.core.query.SystemSearchManager;
+import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCDataContainerConfig.DatabaseStructureType;
import org.exoplatform.services.jcr.impl.storage.value.fs.FileValueStorage;
import org.exoplatform.services.jcr.impl.util.io.DirectoryHelper;
import org.exoplatform.services.jcr.util.TesterConfigurationHelper;
+import org.exoplatform.services.rest.ContainerResponseWriter;
+import org.exoplatform.services.rest.impl.ContainerResponse;
+import org.exoplatform.services.rest.tools.ByteArrayContainerResponseWriter;
import java.io.File;
import java.io.FileFilter;
@@ -52,12 +56,12 @@
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
-import java.util.Map;
import javax.jcr.ItemExistsException;
import javax.jcr.Node;
import javax.jcr.PathNotFoundException;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.jcr.ValueFormatException;
import javax.jcr.lock.LockException;
import javax.jcr.nodetype.ConstraintViolationException;
@@ -256,120 +260,6 @@
return ws1back;
}
- protected RepositoryEntry makeRepositoryEntry(String repoName, RepositoryEntry baseRepoEntry, String sourceName,
- Map<String, String> workspaceMapping)
- {
- ArrayList<WorkspaceEntry> wsEntries = new ArrayList<WorkspaceEntry>();
-
- for (WorkspaceEntry wsEntry : baseRepoEntry.getWorkspaceEntries())
- {
- String newWorkspaceName = wsEntry.getName();
- if (workspaceMapping != null)
- {
- newWorkspaceName = workspaceMapping.get(wsEntry.getName());
- }
-
- WorkspaceEntry newWSEntry =
- makeWorkspaceEntry(wsEntry, newWorkspaceName, repoName, sourceName);
-
- wsEntries.add(newWSEntry);
- }
-
- RepositoryEntry newRepositoryEntry = new RepositoryEntry();
-
- newRepositoryEntry.setSystemWorkspaceName(workspaceMapping == null ? baseRepoEntry.getSystemWorkspaceName()
- : workspaceMapping.get(baseRepoEntry.getSystemWorkspaceName()));
- newRepositoryEntry.setAccessControl(baseRepoEntry.getAccessControl());
- newRepositoryEntry.setAuthenticationPolicy(baseRepoEntry.getAuthenticationPolicy());
- newRepositoryEntry.setDefaultWorkspaceName(workspaceMapping == null ? baseRepoEntry.getDefaultWorkspaceName()
- : workspaceMapping.get(baseRepoEntry.getDefaultWorkspaceName()));
- newRepositoryEntry.setName(repoName);
- newRepositoryEntry.setSecurityDomain(baseRepoEntry.getSecurityDomain());
- newRepositoryEntry.setSessionTimeOut(baseRepoEntry.getSessionTimeOut());
-
- newRepositoryEntry.setWorkspaceEntries(wsEntries);
-
- return newRepositoryEntry;
- }
-
- protected WorkspaceEntry makeWorkspaceEntry(WorkspaceEntry baseWorkspaceEntry, String wsName, String repoName,
- String sourceName)
- {
- WorkspaceEntry ws1back = new WorkspaceEntry();
- ws1back.setName(wsName);
- ws1back.setUniqueName(repoName + "_" + ws1back.getName());
-
- ws1back.setAccessManager(baseWorkspaceEntry.getAccessManager());
- ws1back.setCache(baseWorkspaceEntry.getCache());
- ws1back.setLockManager(baseWorkspaceEntry.getLockManager());
- ws1back.setInitializer(baseWorkspaceEntry.getInitializer());
-
- // Indexer
- if (sourceName != null)
- {
- ArrayList qParams = new ArrayList();
- qParams.add(new SimpleParameterEntry(QueryHandlerParams.PARAM_INDEX_DIR, "target" + File.separator + repoName
- + "_" + wsName));
- QueryHandlerEntry qEntry =
- new QueryHandlerEntry("org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex", qParams);
-
- ws1back.setQueryHandler(qEntry);
- }
- else
- {
- ws1back.setQueryHandler(baseWorkspaceEntry.getQueryHandler());
- }
-
- ArrayList params = new ArrayList();
- for (Iterator i = baseWorkspaceEntry.getContainer().getParameters().iterator(); i.hasNext();)
- {
- SimpleParameterEntry p = (SimpleParameterEntry) i.next();
- SimpleParameterEntry newp = new SimpleParameterEntry(p.getName(), p.getValue());
-
- if (newp.getName().equals("source-name"))
- {
- if (sourceName != null)
- {
- newp.setValue(sourceName);
- }
- }
- else if (newp.getName().equals("swap-directory"))
- newp.setValue("target/temp/swap/" + repoName + "_" + wsName);
- else if (newp.getName().equals("multi-db"))
- newp.setValue("false");
-
- params.add(newp);
- }
-
- ContainerEntry ce =
- new ContainerEntry("org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer", params);
-
- ArrayList list = new ArrayList();
-
- // value storage
- ArrayList<ValueStorageFilterEntry> vsparams = new ArrayList<ValueStorageFilterEntry>();
- ValueStorageFilterEntry filterEntry = new ValueStorageFilterEntry();
- filterEntry.setPropertyType("Binary");
- vsparams.add(filterEntry);
-
- ValueStorageEntry valueStorageEntry =
- new ValueStorageEntry("org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage", vsparams);
- ArrayList<SimpleParameterEntry> spe = new ArrayList<SimpleParameterEntry>();
- spe.add(new SimpleParameterEntry("path", "target/temp/swap/" + repoName + "_" + wsName + "_"
- + System.currentTimeMillis()));
- valueStorageEntry.setId("draft");
- valueStorageEntry.setParameters(spe);
- valueStorageEntry.setFilters(vsparams);
-
- // containerEntry.setValueStorages();
- list.add(valueStorageEntry);
- ce.setValueStorages(list);
-
- ws1back.setContainer(ce);
-
- return ws1back;
- }
-
protected void restoreAndCheck(String workspaceName, String datasourceName, String backupLogFilePath, File backDir,
int startIndex, int stopIndex) throws RepositoryConfigurationException, RepositoryException,
BackupOperationException, BackupConfigurationException
@@ -722,4 +612,48 @@
}
}
+ protected RepoInfo createRepositoryAndGetSession() throws Exception
+ {
+ ManageableRepository repository = helper.createRepository(container, DatabaseStructureType.MULTI, null);
+ WorkspaceEntry wsEntry = helper.createWorkspaceEntry(DatabaseStructureType.MULTI, null);
+ helper.addWorkspace(repository, wsEntry);
+
+ RepoInfo rInfo = new RepoInfo();
+ rInfo.rName = repository.getConfiguration().getName();
+ rInfo.wsName = wsEntry.getName();
+ rInfo.sysWsName = repository.getConfiguration().getSystemWorkspaceName();
+ rInfo.session = repositoryService.getRepository(rInfo.rName).login(credentials, rInfo.wsName);
+
+ return rInfo;
+ }
+
+ /**
+ * Class for tests purpose only. To have ability to access to {@link ContainerResponseWriter}.
+ */
+ protected class TesterContainerResponce extends ContainerResponse
+ {
+
+ public ByteArrayContainerResponseWriter responseWriter;
+
+ public TesterContainerResponce(ByteArrayContainerResponseWriter responseWriter)
+ {
+ super(responseWriter);
+ this.responseWriter = responseWriter;
+ }
+ }
+
+ /**
+ * Aggregate info about newly created repository.
+ */
+ protected class RepoInfo
+ {
+ public String rName;
+
+ public String wsName;
+
+ public String sysWsName;
+
+ public Session session;
+ }
+
}
Modified: jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestRdbmsWorkspaceInitializer.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestRdbmsWorkspaceInitializer.java 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestRdbmsWorkspaceInitializer.java 2012-03-20 07:16:57 UTC (rev 5901)
@@ -121,12 +121,12 @@
Calendar calendar = Calendar.getInstance();
- job.init(repositoryService.getRepository("db7"), "ws1", config, calendar);
+ job.init(repositoryService.getRepository("db3"), "ws1", config, calendar);
job.run();
URL url = job.getStorageURL();
- for (WorkspaceEntry workspaceEntry : repositoryService.getRepository("db7").getConfiguration()
+ for (WorkspaceEntry workspaceEntry : repositoryService.getRepository("db3").getConfiguration()
.getWorkspaceEntries())
{
if (workspaceEntry.getName().equals("ws1"))
Modified: jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/server/HTTPBackupAgentTest.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/server/HTTPBackupAgentTest.java 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/server/HTTPBackupAgentTest.java 2012-03-20 07:16:57 UTC (rev 5901)
@@ -18,24 +18,22 @@
*/
package org.exoplatform.services.jcr.ext.backup.server;
-import org.exoplatform.services.jcr.config.ContainerEntry;
-import org.exoplatform.services.jcr.config.QueryHandlerEntry;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.RepositoryEntry;
-import org.exoplatform.services.jcr.config.SimpleParameterEntry;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.core.ManageableRepository;
-import org.exoplatform.services.jcr.core.WorkspaceContainerFacade;
import org.exoplatform.services.jcr.ext.app.SessionProviderService;
import org.exoplatform.services.jcr.ext.app.ThreadLocalSessionProviderService;
import org.exoplatform.services.jcr.ext.backup.AbstractBackupTestCase;
+import org.exoplatform.services.jcr.ext.backup.BackupChain;
import org.exoplatform.services.jcr.ext.backup.BackupChainLog;
-import org.exoplatform.services.jcr.ext.backup.BackupJob;
+import org.exoplatform.services.jcr.ext.backup.BackupConfig;
import org.exoplatform.services.jcr.ext.backup.BackupManager;
import org.exoplatform.services.jcr.ext.backup.ContainerRequestUserRole;
import org.exoplatform.services.jcr.ext.backup.ExtendedBackupManager;
import org.exoplatform.services.jcr.ext.backup.RepositoryBackupChain;
import org.exoplatform.services.jcr.ext.backup.RepositoryBackupChainLog;
+import org.exoplatform.services.jcr.ext.backup.RepositoryBackupConfig;
import org.exoplatform.services.jcr.ext.backup.impl.JobRepositoryRestore;
import org.exoplatform.services.jcr.ext.backup.impl.JobWorkspaceRestore;
import org.exoplatform.services.jcr.ext.backup.server.bean.BackupConfigBean;
@@ -44,35 +42,30 @@
import org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfo;
import org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfoList;
import org.exoplatform.services.jcr.ext.common.SessionProvider;
-import org.exoplatform.services.jcr.impl.core.SessionRegistry;
+import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCDataContainerConfig.DatabaseStructureType;
import org.exoplatform.services.rest.RequestHandler;
-import org.exoplatform.services.rest.impl.ContainerResponse;
import org.exoplatform.services.rest.impl.InputHeadersMap;
import org.exoplatform.services.rest.impl.MultivaluedMapImpl;
-import org.exoplatform.services.rest.impl.ResourceBinder;
import org.exoplatform.services.rest.tools.ByteArrayContainerResponseWriter;
import org.exoplatform.services.security.ConversationState;
import org.exoplatform.services.security.Identity;
import org.exoplatform.ws.frameworks.json.JsonHandler;
import org.exoplatform.ws.frameworks.json.JsonParser;
-import org.exoplatform.ws.frameworks.json.JsonWriter;
import org.exoplatform.ws.frameworks.json.impl.BeanBuilder;
import org.exoplatform.ws.frameworks.json.impl.JsonDefaultHandler;
import org.exoplatform.ws.frameworks.json.impl.JsonGeneratorImpl;
import org.exoplatform.ws.frameworks.json.impl.JsonParserImpl;
-import org.exoplatform.ws.frameworks.json.impl.JsonWriterImpl;
import org.exoplatform.ws.frameworks.json.value.JsonValue;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.InputStream;
import java.net.URI;
import java.net.URLEncoder;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
+import javax.jcr.LoginException;
import javax.jcr.NoSuchWorkspaceException;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
@@ -87,16 +80,15 @@
* @author <a href="mailto:alex.reshetnyak at exoplatform.com.ua">Alex Reshetnyak</a>
* @version $Id: HTTPBackupAgentTest.java 111 2008-11-11 11:11:11Z rainf0x $
*/
-public class HTTPBackupAgentTest
- extends AbstractBackupTestCase
+public class HTTPBackupAgentTest extends AbstractBackupTestCase
{
private String HTTP_BACKUP_AGENT_PATH = HTTPBackupAgent.Constants.BASE_URL;
- private ResourceBinder binder;
-
private RequestHandler handler;
+ private File backupDir;
+
/**
* {@inheritDoc}
*/
@@ -105,33 +97,28 @@
{
super.setUp();
- binder = (ResourceBinder) container.getComponentInstanceOfType(ResourceBinder.class);
handler = (RequestHandler) container.getComponentInstanceOfType(RequestHandler.class);
+ backupDir = new File("target/temp/backup/" + System.currentTimeMillis());
+ backupDir.mkdirs();
SessionProviderService sessionProviderService =
- (SessionProviderService) container.getComponentInstanceOfType(ThreadLocalSessionProviderService.class);
+ (SessionProviderService)container.getComponentInstanceOfType(ThreadLocalSessionProviderService.class);
assertNotNull(sessionProviderService);
sessionProviderService.setSessionProvider(null, new SessionProvider(new ConversationState(new Identity("root"))));
}
public void testInfo() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.BACKUP_SERVICE_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.BACKUP_SERVICE_INFO));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
BackupServiceInfoBean info =
- (BackupServiceInfoBean) getObject(BackupServiceInfoBean.class, responseWriter.getBody());
- BackupManager backupManager = (BackupManager) container.getComponentInstanceOfType(BackupManager.class);
+ (BackupServiceInfoBean)getObject(BackupServiceInfoBean.class, cres.responseWriter.getBody());
+ BackupManager backupManager = (BackupManager)container.getComponentInstanceOfType(BackupManager.class);
+
assertNotNull(info);
assertEquals(backupManager.getBackupDirectory().getAbsolutePath(), info.getBackupLogDir());
assertEquals(backupManager.getFullBackupType(), info.getFullBackupType());
@@ -141,2934 +128,990 @@
public void testDropWorkspace() throws Exception
{
- // login to workspace '/db6/ws1'
- Session session_db6_ws1 = repositoryService.getRepository("db6").login(credentials, "ws1");
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ rInfo.session.logout();
- assertNotNull(session_db6_ws1);
+ int intialCount = repositoryService.getRepository(rInfo.rName).getConfiguration().getWorkspaceEntries().size();
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.DROP_WORKSPACE + "/db6/ws1/true"), new URI(""), null,
- new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.DROP_WORKSPACE + "/"
+ + rInfo.rName + "/" + rInfo.wsName + "/true"));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
-
- try
- {
- Session ses_db6_ws1 = repositoryService.getRepository("db6").login(credentials, "ws1");
- fail();
- }
- catch (NoSuchWorkspaceException e)
- {
- // ok
- }
+ assertEquals(intialCount - 1, repositoryService.getRepository(rInfo.rName).getConfiguration()
+ .getWorkspaceEntries().size());
}
public void testStart() throws Exception
{
- // login to workspace '/db6/ws2'
- Session session_db6_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- assertNotNull(session_db6_ws2);
+ RepoInfo rInfo = createRepositoryAndGetSession();
- session_db6_ws2.getRootNode().addNode("NODE_NAME_TO_TEST");
- session_db6_ws2.save();
+ BackupConfigBean configBean =
+ new BackupConfigBean(BackupManager.FULL_AND_INCREMENTAL, backupDir.getPath(), 10000l);
+
+ TesterContainerResponce cres = makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.START_BACKUP + "/" + rInfo.rName + "/" + rInfo.wsName), configBean);
- File f = new File("target/temp/backup/" + System.currentTimeMillis());
- f.mkdirs();
-
- BackupConfigBean configBean = new BackupConfigBean(BackupManager.FULL_AND_INCREMENTAL, f.getPath(), 10000l);
-
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(configBean);
-
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.START_BACKUP + "/db6/ws2"), new URI(""),
- new ByteArrayInputStream(json.toString().getBytes("UTF-8")), new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
-
- Thread.sleep(5000);
}
public void testStartBackupRepository() throws Exception
{
- Session session_db6_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- assertNotNull(session_db6_ws2);
+ RepoInfo rInfo = createRepositoryAndGetSession();
- session_db6_ws2.getRootNode().addNode("NODE_NAME_TO_TEST");
- session_db6_ws2.save();
+ BackupConfigBean configBean =
+ new BackupConfigBean(BackupManager.FULL_AND_INCREMENTAL, backupDir.getPath(), 10000l);
- File f = new File("target/temp/backup/" + System.currentTimeMillis());
- f.mkdirs();
+ TesterContainerResponce cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.START_BACKUP_REPOSITORY + "/" + rInfo.rName), configBean);
- BackupConfigBean configBean = new BackupConfigBean(BackupManager.FULL_AND_INCREMENTAL, f.getPath(), 10000l);
-
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(configBean);
-
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.START_BACKUP_REPOSITORY + "/db6"), new URI(""),
- new ByteArrayInputStream(json.toString().getBytes("UTF-8")), new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
-
- Thread.sleep(10000);
}
public void testInfoBackup() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_INFO), new URI(""),
- null, new InputHeadersMap(headers));
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ backupWorkspace(rInfo);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_INFO));
assertEquals(200, cres.getStatus());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.CURRENT, info.getType().intValue());
- assertEquals(BackupJob.FINISHED, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
+ assertEquals(BackupChain.FINISHED, info.getState().intValue());
+ assertEquals(rInfo.wsName, info.getWorkspaceName());
}
public void testInfoBackupRepository() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_REPOSITORY_INFO),
- new URI(""), null, new InputHeadersMap(headers));
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ backupRepository(rInfo);
+
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_REPOSITORY_INFO));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
+ assertNotNull(info);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.CURRENT, info.getType().intValue());
- assertTrue(RepositoryBackupChain.WORKING == info.getState().intValue()
- || RepositoryBackupChain.FULL_BACKUP_FINISHED_INCREMENTAL_BACKUP_WORKING == info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
+ assertEquals(RepositoryBackupChain.FINISHED, info.getState().intValue());
}
public void testInfoBackupOnWorkspace() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET",
- new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_INFO_ON_WS
- + "/db6/ws2"), new URI(""), null, new InputHeadersMap(headers));
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ backupWorkspace(rInfo);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_INFO_ON_WS + "/" + rInfo.rName
+ + "/" + rInfo.wsName));
assertEquals(200, cres.getStatus());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfo info = getBackupInfo(list);
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.CURRENT, info.getType().intValue());
- assertEquals(BackupJob.FINISHED, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
+ assertEquals(BackupChain.FINISHED, info.getState().intValue());
+ assertEquals(rInfo.wsName, info.getWorkspaceName());
}
public void testInfoBackupOnRepository() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_REPOSITORY_INFO
- + "/db6"), new URI(""), null, new InputHeadersMap(headers));
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ backupRepository(rInfo);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_REPOSITORY_INFO + "/" + rInfo.rName));
assertEquals(200, cres.getStatus());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
+ assertNotNull(info);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.CURRENT, info.getType().intValue());
- assertTrue(RepositoryBackupChain.WORKING == info.getState().intValue()
- || RepositoryBackupChain.FULL_BACKUP_FINISHED_INCREMENTAL_BACKUP_WORKING == info.getState().intValue());
+ assertEquals(RepositoryBackupChain.FINISHED, info.getState().intValue());
}
public void testInfoBackupCurrent() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ backupWorkspace(rInfo);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ // get current backup
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_INFO));
assertEquals(200, cres.getStatus());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
+ assertNotNull(info);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.CURRENT, info.getType().intValue());
- assertEquals(BackupJob.FINISHED, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
- }
+ assertEquals(BackupChain.FINISHED, info.getState().intValue());
+ assertEquals(rInfo.wsName, info.getWorkspaceName());
- public void testInfoBackupRepositoryCurrent() throws Exception
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_REPOSITORY_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ // get current backup by id
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_OR_COMPLETED_BACKUP_INFO + "/" + info.getBackupId()));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ DetailedInfo dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.CURRENT, info.getType().intValue());
- assertTrue(RepositoryBackupChain.WORKING == info.getState().intValue()
- || RepositoryBackupChain.FULL_BACKUP_FINISHED_INCREMENTAL_BACKUP_WORKING == info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.CURRENT, dInfo.getType().intValue());
+ assertEquals(RepositoryBackupChain.FINISHED, dInfo.getState().intValue());
+ assertEquals(rInfo.wsName, dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
}
- public void testInfoBackupCurrentById() throws Exception
+ public void testInfoBackupRepositoryCurrent() throws Exception
{
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ backupRepository(rInfo);
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ // get current backup
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_REPOSITORY_INFO));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
- assertEquals(info.getWorkspaceName(), "ws2");
-
- id = info.getBackupId();
- }
-
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_OR_COMPLETED_BACKUP_INFO + "/" + id),
- new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
+ List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
+
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.CURRENT, info.getType().intValue());
- assertEquals(BackupJob.FINISHED, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
- }
+ assertEquals(RepositoryBackupChain.FINISHED, info.getState().intValue());
- public void testInfoBackupRepositoryId() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ // get current backup by id
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_OR_COMPLETED_BACKUP_REPOSITORY_INFO + "/"
+ + info.getBackupId()));
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_AND_COMPLETED_BACKUPS_REPOSITORY_INFO),
- new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
- }
-
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_OR_COMPLETED_BACKUP_REPOSITORY_INFO + "/"
- + id), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ DetailedInfo dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.CURRENT, info.getType().intValue());
- assertTrue(RepositoryBackupChain.WORKING == info.getState().intValue()
- || RepositoryBackupChain.FULL_BACKUP_FINISHED_INCREMENTAL_BACKUP_WORKING == info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.CURRENT, dInfo.getType().intValue());
+ assertEquals(RepositoryBackupChain.FINISHED, dInfo.getState().intValue());
+ assertNotNull(dInfo.getBackupConfig());
}
public void testStop() throws Exception
{
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ backupWorkspace(rInfo);
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_INFO));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertEquals(200, cres.getStatus());
- assertEquals(200, cres.getStatus());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
+ List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
+ assertNotNull(info);
+ assertEquals(rInfo.wsName, info.getWorkspaceName());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.STOP_BACKUP + "/"
+ + info.getBackupId()));
- assertEquals(info.getRepositoryName(), "db6");
- assertEquals(info.getWorkspaceName(), "ws2");
-
- id = info.getBackupId();
- }
-
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.STOP_BACKUP + "/" + id), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
}
public void testStopBackupRepository() throws Exception
{
- String id = null;
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ backupRepository(rInfo);
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_BACKUPS_REPOSITORY_INFO));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertEquals(200, cres.getStatus());
- assertEquals(200, cres.getStatus());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
+ List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
+ assertNotNull(info);
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
- }
-
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.STOP_BACKUP_REPOSITORY + "/" + id), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.STOP_BACKUP_REPOSITORY
+ + "/" + info.getBackupId()));
assertEquals(200, cres.getStatus());
}
public void testInfoBackupCompleted() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ BackupChain bch = backupWorkspace(rInfo);
+ backup.stopBackup(bch);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ // get completed backup
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO));
assertEquals(200, cres.getStatus());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
+ assertNotNull(info);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.COMPLETED, info.getType().intValue());
assertEquals(0, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
- }
+ assertEquals(rInfo.wsName, info.getWorkspaceName());
+
+ // get completed backup by id
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_OR_COMPLETED_BACKUP_INFO + "/" + info.getBackupId()));
- public void testInfoBackupRepositoryCompleted() throws Exception
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ DetailedInfo dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.COMPLETED, info.getType().intValue());
- assertEquals(0, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.COMPLETED, dInfo.getType().intValue());
+ assertEquals(0, dInfo.getState().intValue());
+ assertEquals(rInfo.wsName, dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
}
- public void testInfoBackupCompletedById() throws Exception
+ public void testInfoBackupRepositoryCompleted() throws Exception
{
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ RepositoryBackupChain bch = backupRepository(rInfo);
+ backup.stopBackup(bch);
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = null;
- for (ShortInfo inf : list)
- {
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
- }
- assertNotNull(info);
-
- id = info.getBackupId();
- }
-
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_OR_COMPLETED_BACKUP_INFO + "/" + id),
- new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
+ List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
+
assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.COMPLETED, info.getType().intValue());
assertEquals(0, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
-
- assertNotNull(info.getBackupConfig());
}
public void testGetDefaultWorkspaceConfig() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- WorkspaceEntry defEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
+ WorkspaceEntry defEntry = (WorkspaceEntry)getObject(WorkspaceEntry.class, cres.responseWriter.getBody());
assertEquals(repository.getConfiguration().getDefaultWorkspaceName(), defEntry.getName());
}
public void testGetDefaultRepositoryConfig() throws Exception
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_REPOSITORY_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_REPOSITORY_CONFIG));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- RepositoryEntry defEntry = (RepositoryEntry) getObject(RepositoryEntry.class, responseWriter.getBody());
+ RepositoryEntry defEntry = (RepositoryEntry)getObject(RepositoryEntry.class, cres.responseWriter.getBody());
assertEquals(repository.getConfiguration().getName(), defEntry.getName());
}
- public void testWorkspaceEntryRestore() throws Exception
- {
- // Getting default WorkspaceEntry
- WorkspaceEntry defEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
-
- WorkspaceEntry wEntry = makeWorkspaceEntry(defEntry, "db6", "ws3", "jdbcjcr24");
-
- // Restore
-
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(wEntry);
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- JsonWriter jsonWriter = new JsonWriterImpl(out);
- json.writeTo(jsonWriter);
- jsonWriter.flush();
- jsonWriter.close();
-
- // Create WorkspaceEntry from JSON
- ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
- JsonParser jsonParser = new JsonParserImpl();
- JsonHandler jsonHandler = new JsonDefaultHandler();
-
- jsonParser.parse(in, jsonHandler);
- JsonValue jsonValue = jsonHandler.getJsonObject();
-
- WorkspaceEntry entry = (WorkspaceEntry) (new BeanBuilder().createObject(WorkspaceEntry.class, jsonValue));
-
- assertNotNull(entry);
-
- }
-
public void testRestore() throws Exception
{
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ BackupChain bch = backupWorkspace(rInfo);
+ backup.stopBackup(bch);
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertEquals(200, cres.getStatus());
- assertEquals(200, cres.getStatus());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
+ List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
- ShortInfo info = null;
- for (ShortInfo inf : list)
- {
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
- }
- assertNotNull(info);
+ assertNotNull(info);
- id = info.getBackupId();
- }
+ WorkspaceEntry wsEntry = helper.createWorkspaceEntry(DatabaseStructureType.MULTI, null);
- // Getting default WorkspaceEntry
- WorkspaceEntry defEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
+ // restore in new workspace
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE + "/"
+ + rInfo.rName + "/" + info.getBackupId()), wsEntry);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ waitWorkspaceRestore(rInfo.rName, wsEntry.getName());
- assertEquals(200, cres.getStatus());
- defEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + rInfo.rName + "/"
+ + wsEntry.getName()));
- WorkspaceEntry wEntry = makeWorkspaceEntry(defEntry, "db6", "ws3", "jdbcjcr24");
+ assertEquals(200, cres.getStatus());
- // Check the workspace /db6/ws3 not exists.
- try
- {
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- fail("The workspace /db6/ws3 should not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
+ DetailedInfo dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(wEntry);
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(wsEntry.getName(), dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE + "/" + "db6" + "/" + id), new URI(""),
- new ByteArrayInputStream(json.toString().getBytes("UTF-8")), new InputHeadersMap(headers));
+ Session session = repositoryService.getRepository(rInfo.rName).login(credentials, wsEntry.getName());
+ assertNotNull(session);
+ assertNotNull(session.getRootNode());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ cres = makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORES));
- assertEquals(200, cres.getStatus());
- }
+ assertEquals(200, cres.getStatus());
- waitWorkspaceRestore("db6", "ws3");
+ infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
+ assertNotNull(infoList);
- // Get restore info to workspace /db6/ws3
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws3"), new URI(""), null, new InputHeadersMap(headers));
+ info = new ArrayList<ShortInfo>(infoList.getBackups()).get(0);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertNotNull(info);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
+ assertNotNull(info.getStartedTime());
+ assertNotNull(info.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, info.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
+ assertEquals(wsEntry.getName(), info.getWorkspaceName());
+ assertNotNull(info.getBackupId());
+
+ // restore in existed workspace
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE + "/"
+ + rInfo.rName + "/" + info.getBackupId() + "/true"), wsEntry);
- assertEquals(200, cres.getStatus());
+ assertEquals(200, cres.getStatus());
+ waitWorkspaceRestore(rInfo.rName, wsEntry.getName());
+
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + rInfo.rName + "/"
+ + wsEntry.getName()));
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ assertEquals(200, cres.getStatus());
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws3", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- assertNotNull(sessin_ws3);
- assertNotNull(sessin_ws3.getRootNode());
- }
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(wsEntry.getName(), dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
- // Get restores info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORES), new URI(""), null,
- new InputHeadersMap(headers));
+ // restore in new workspace, "remove-existing" is false
+ wsEntry = helper.createWorkspaceEntry(DatabaseStructureType.MULTI, null);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE + "/"
+ + rInfo.rName + "/" + info.getBackupId() + "/false"), wsEntry);
- assertEquals(200, cres.getStatus());
+ assertEquals(200, cres.getStatus());
+ waitWorkspaceRestore(rInfo.rName, wsEntry.getName());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- assertNotNull(infoList);
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + rInfo.rName + "/"
+ + wsEntry.getName()));
- ShortInfo info = new ArrayList<ShortInfo>(infoList.getBackups()).get(0);
+ assertEquals(200, cres.getStatus());
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws3", info.getWorkspaceName());
- assertNotNull(info.getBackupId());
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- assertNotNull(sessin_ws3);
- assertNotNull(sessin_ws3.getRootNode());
- }
- }
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(wsEntry.getName(), dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
- public void testRestoreExistsTrue() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ info = getBackupInfo(list, rInfo.rName);
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ // restore in existed workspace, "remove-existing" is true
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE + "/"
+ + info.getBackupId() + "/true"));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertEquals(200, cres.getStatus());
- assertEquals(200, cres.getStatus());
+ waitWorkspaceRestore(rInfo.rName, rInfo.wsName);
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + rInfo.rName + "/"
+ + rInfo.wsName));
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
+ assertEquals(200, cres.getStatus());
- assertEquals(info.getRepositoryName(), "db6");
- assertEquals(info.getWorkspaceName(), "ws2");
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- id = info.getBackupId();
- }
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rInfo.wsName, dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
- // Getting default WorkspaceEntry
- WorkspaceEntry defEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
-
- WorkspaceEntry wEntry = makeWorkspaceEntry(defEntry, "db6", "ws3", "jdbcjcr24");
-
- // Check the workspace /db6/ws3 is exists.
- try
- {
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- // ok
- }
- catch (Exception e)
- {
- fail("The workspace /db6/ws3 should be exists.");
- }
-
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(wEntry);
-
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE + "/" + "db6" + "/" + id + "/" + "true"),
- new URI(""), new ByteArrayInputStream(json.toString().getBytes("UTF-8")),
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitWorkspaceRestore("db6", "ws3");
-
- // Get restore info to workspace /db6/ws3
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws3"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws3", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
-
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- assertNotNull(sessin_ws3);
- assertNotNull(sessin_ws3.getRootNode());
- }
- }
-
- public void testRestoreExistsFalse() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = null;
- for (ShortInfo inf : list)
- {
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
- }
- assertNotNull(info);
-
- id = info.getBackupId();
- }
-
- // Getting default WorkspaceEntry
- WorkspaceEntry defEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
-
- WorkspaceEntry wEntry = makeWorkspaceEntry(defEntry, "db6", "ws3", "jdbcjcr24");
-
- removeWorkspaceFully("db6", "ws3");
-
- // Check the workspace /db6/ws3 is not exists.
- try
- {
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- fail("The workspace /db6/ws3 should be not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
-
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(wEntry);
-
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE + "/" + "db6" + "/" + id + "/" + "false"),
- new URI(""), new ByteArrayInputStream(json.toString().getBytes("UTF-8")),
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitWorkspaceRestore("db6", "ws3");
-
- // Get restore info to workspace /db6/ws3
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws3"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws3", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
-
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- assertNotNull(sessin_ws3);
- assertNotNull(sessin_ws3.getRootNode());
- }
- }
-
- public void testRestoreExistsByIdOriginalConfigTrue() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = null;
- for (ShortInfo inf : list)
- {
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
- }
- assertNotNull(info);
-
- id = info.getBackupId();
- }
-
- // Check the workspace /db6/ws3 is exists.
- try
- {
- Session sessin_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- // ok
- }
- catch (Exception e)
- {
- fail("The workspace /db6/ws2 should be exists.");
- }
-
- // Restore
- {
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE + "/" + id + "/" + "true"), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitWorkspaceRestore("db6", "ws2");
-
- // Get restore info to workspace /db6/ws2
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws2"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
-
- Session sessin_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- assertNotNull(sessin_ws2);
- assertNotNull(sessin_ws2.getRootNode());
- }
- }
-
- public void testRestoreExistsByIdOriginalConfigFalse() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = null;
- for (ShortInfo inf : list)
- {
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
- }
- assertNotNull(info);
-
- id = info.getBackupId();
- }
-
- removeWorkspaceFully("db6", "ws2");
-
- // Check the workspace /db6/ws2 is exists.
- try
- {
- Session sessin_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- fail("The workspace /db6/ws2 should be not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
-
- // Restore
- {
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE + "/" + id + "/" + "false"), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitWorkspaceRestore("db6", "ws2");
-
- // Get restore info to workspace /db6/ws2
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws2"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
-
- Session sessin_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- assertNotNull(sessin_ws2);
- assertNotNull(sessin_ws2.getRootNode());
- }
- }
-
- public void testRestoreBackupSetExistsTrue() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ // restore in existed workspace by @backup-set-path", remove existing is true
String backupSetPath = null;
-
+ for (BackupChainLog bcl : backup.getBackupsLogs())
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = null;
- for (ShortInfo inf : list)
+ if (bcl.getBackupId().equals(info.getBackupId()))
{
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
+ backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
+ break;
}
- assertNotNull(info);
-
- id = info.getBackupId();
-
- for (BackupChainLog bcl : backup.getBackupsLogs())
- {
- if (bcl.getBackupId().equals(id))
- {
- backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
- break;
- }
- }
}
- // Getting default WorkspaceEntry
- WorkspaceEntry defEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
+ assertNotNull(backupSetPath);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET
+ + "/" + rInfo.rName + "/" + "true" + "?backup-set-path=" + backupSetPath), wsEntry);
- assertEquals(200, cres.getStatus());
- defEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
+ assertEquals(200, cres.getStatus());
- WorkspaceEntry wEntry = makeWorkspaceEntry(defEntry, "db6", "ws3", "jdbcjcr24");
+ waitWorkspaceRestore(rInfo.rName, wsEntry.getName());
- // Check the workspace /db6/ws3 is exists.
- try
- {
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- // ok
- }
- catch (Exception e)
- {
- fail("The workspace /db6/ws3 should be exists.");
- }
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + rInfo.rName + "/"
+ + wsEntry.getName()));
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(wEntry);
+ assertEquals(200, cres.getStatus());
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET + "/" + "db6" + "/" + "true"
- + "?backup-set-path=" + backupSetPath), new URI(""), new ByteArrayInputStream(json
- .toString().getBytes("UTF-8")),
- new InputHeadersMap(headers));
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(wsEntry.getName(), dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
- assertEquals(200, cres.getStatus());
- }
+ // restore in existed workspace by @backup-set-path", remove existing is true
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET
+ + "/" + "true" + "?backup-set-path=" + backupSetPath));
- waitWorkspaceRestore("db6", "ws3");
+ assertEquals(200, cres.getStatus());
- // Get restore info to workspace /db6/ws3
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws3"), new URI(""), null, new InputHeadersMap(headers));
+ waitWorkspaceRestore(rInfo.rName, rInfo.wsName);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + rInfo.rName + "/"
+ + rInfo.wsName));
- assertEquals(200, cres.getStatus());
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rInfo.wsName, dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws3", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
+ // restore in existed workspace by @backup-set-path", remove existing is true
+ removeWorkspaceFully(rInfo.rName, rInfo.wsName);
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- assertNotNull(sessin_ws3);
- assertNotNull(sessin_ws3.getRootNode());
- }
- }
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET
+ + "/" + "false" + "?backup-set-path=" + backupSetPath));
- public void testRestoreOriginalConfigBackupSetExistsTrue() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
- String backupSetPath = null;
+ assertEquals(200, cres.getStatus());
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ waitWorkspaceRestore(rInfo.rName, rInfo.wsName);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + rInfo.rName + "/"
+ + rInfo.wsName));
- assertEquals(200, cres.getStatus());
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rInfo.wsName, dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
+
+ // restore in existed workspace by @backup-set-path", remove existing is true
+ removeWorkspaceFully(rInfo.rName, wsEntry.getName());
+
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET
+ + "/" + rInfo.rName + "/" + "false" + "?backup-set-path=" + backupSetPath), wsEntry);
- ShortInfo info = null;
- for (ShortInfo inf : list)
- {
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
- }
- assertNotNull(info);
+ waitWorkspaceRestore(rInfo.rName, rInfo.wsName);
- id = info.getBackupId();
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + rInfo.rName + "/"
+ + rInfo.wsName));
- for (BackupChainLog bcl : backup.getBackupsLogs())
- {
- if (bcl.getBackupId().equals(id))
- {
- backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
- break;
- }
- }
- }
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- // Check the workspace /db6/ws2 is exists.
- try
- {
- Session sessin_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- // ok
- }
- catch (Exception e)
- {
- fail("The workspace /db6/ws2 should be exists.");
- }
-
- // Restore
- {
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET + "/" + "true"
- + "?backup-set-path=" + backupSetPath), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitWorkspaceRestore("db6", "ws2");
-
- // Get restore info to workspace /db6/ws2
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws2"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
-
- Session sessin_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- assertNotNull(sessin_ws2);
- assertNotNull(sessin_ws2.getRootNode());
- }
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rInfo.wsName, dInfo.getWorkspaceName());
+ assertNotNull(dInfo.getBackupConfig());
}
- public void testRestoreOriginalConfigBackupSetExistsFalse() throws Exception
+ public void testRestoreRepository() throws Exception
{
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
- String backupSetPath = null;
+ // make backup, get backupId and backupSetPath
+ RepoInfo rInfo = createRepositoryAndGetSession();
+ RepositoryBackupChain bch = backupRepository(rInfo);
+ backup.stopBackup(bch);
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertEquals(200, cres.getStatus());
- assertEquals(200, cres.getStatus());
+ ShortInfoList infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
+ List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = null;
- for (ShortInfo inf : list)
- {
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
- }
- assertNotNull(info);
-
- id = info.getBackupId();
-
- for (BackupChainLog bcl : backup.getBackupsLogs())
- {
- if (bcl.getBackupId().equals(id))
- {
- backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
- break;
- }
- }
- }
-
- removeWorkspaceFully("db6", "ws2");
- // Check the workspace /db6/ws2 is exists.
- try
- {
- Session sessin_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- fail("The workspace /db6/ws2 should be not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
-
- // Restore
- {
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET + "/" + "false"
- + "?backup-set-path=" + backupSetPath), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitWorkspaceRestore("db6", "ws2");
-
- // Get restore info to workspace /db6/ws2
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws2"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws2", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
-
- Session sessin_ws2 = repositoryService.getRepository("db6").login(credentials, "ws2");
- assertNotNull(sessin_ws2);
- assertNotNull(sessin_ws2.getRootNode());
- }
- }
-
- public void testRestoreBackupSetExistsFalse() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ ShortInfo info = getBackupInfo(list, rInfo.rName);
+ assertNotNull(info);
+
+ String backupId = info.getBackupId();
String backupSetPath = null;
-
+ for (RepositoryBackupChainLog bcl : backup.getRepositoryBackupsLogs())
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_INFO), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = null;
- for (ShortInfo inf : list)
+ if (bcl.getBackupId().equals(backupId))
{
- if (inf.getRepositoryName().equals("db6") && inf.getWorkspaceName().equals("ws2"))
- {
- info = inf;
- break;
- }
+ backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
+ break;
}
- assertNotNull(info);
-
- id = info.getBackupId();
-
- for (BackupChainLog bcl : backup.getBackupsLogs())
- {
- if (bcl.getBackupId().equals(id))
- {
- backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
- break;
- }
- }
}
+ assertNotNull(backupSetPath);
- // Getting default WorkspaceEntry
- WorkspaceEntry defEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
+ // restore in new repository
+ RepositoryEntry rEntry = helper.createRepositoryEntry(DatabaseStructureType.MULTI, rInfo.sysWsName, null);
+ WorkspaceEntry wsEntry = helper.createWorkspaceEntry(DatabaseStructureType.MULTI, null);
+ wsEntry.setName(rInfo.wsName);
+ rEntry.getWorkspaceEntries().add(wsEntry);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertFalse(isRepositoryExists(rEntry.getName()));
- assertEquals(200, cres.getStatus());
- defEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ + "/" + info.getBackupId()), rEntry);
- WorkspaceEntry wEntry = makeWorkspaceEntry(defEntry, "db6", "ws3", "jdbcjcr24");
+ waitRepositoryRestore(rEntry.getName());
+ assertTrue(isRepositoryExists(rEntry.getName()));
- removeWorkspaceFully("db6", "ws3");
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
- // Check the workspace /db6/ws3 is not exists.
- try
- {
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- fail("The workspace /db6/ws3 should be not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
+ assertEquals(200, cres.getStatus());
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(wEntry);
+ DetailedInfo dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET + "/" + "db6" + "/"
- + "false" + "?backup-set-path=" + backupSetPath), new URI(""), new ByteArrayInputStream(json.toString()
- .getBytes("UTF-8")), new InputHeadersMap(headers));
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rEntry.getName(), dInfo.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORES_REPOSITORY));
- assertEquals(200, cres.getStatus());
- }
+ assertEquals(200, cres.getStatus());
- waitWorkspaceRestore("db6", "ws3");
+ infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
+ assertNotNull(infoList);
- // Get restore info to workspace /db6/ws3
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + "db6" + "/"
- + "ws3"), new URI(""), null, new InputHeadersMap(headers));
+ info = new ArrayList<ShortInfo>(infoList.getBackups()).get(0);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertNotNull(info);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
+ assertNotNull(info.getStartedTime());
+ assertNotNull(info.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, info.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, info.getState().intValue());
+ assertEquals(rEntry.getName(), info.getRepositoryName());
+ assertNotNull(info.getBackupId());
- assertEquals(200, cres.getStatus());
+ // restore by id, "remove-existing" is true
+ assertTrue(isRepositoryExists(rEntry.getName()));
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ + "/" + backupId + "/true"), rEntry);
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ assertEquals(200, cres.getStatus());
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertEquals("ws3", info.getWorkspaceName());
- assertNotNull(info.getBackupConfig());
+ waitRepositoryRestore(rEntry.getName());
+ assertTrue(isRepositoryExists(rEntry.getName()));
- Session sessin_ws3 = repositoryService.getRepository("db6").login(credentials, "ws3");
- assertNotNull(sessin_ws3);
- assertNotNull(sessin_ws3.getRootNode());
- }
- }
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
- public void testRestoreRepository() throws Exception
- {
- // Get backup id for backup on workspace /db6/ws2
- String id = null;
+ assertEquals(200, cres.getStatus());
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, info.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rEntry.getName(), info.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
- assertEquals(200, cres.getStatus());
+ // restore by id, "remove-existing" is false
+ removeRepositoryFully(rEntry.getName());
+ assertFalse(isRepositoryExists(rEntry.getName()));
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
- }
-
- // Getting default RepositoryEntry
- RepositoryEntry defREntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_REPOSITORY_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ + "/" + backupId + "/false"), rEntry);
assertEquals(200, cres.getStatus());
- defREntry = (RepositoryEntry) getObject(RepositoryEntry.class, responseWriter.getBody());
- }
- // Getting default WorkspaceEntry
- WorkspaceEntry defWEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
+ waitRepositoryRestore(rEntry.getName());
+ assertTrue(isRepositoryExists(rEntry.getName()));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
- assertEquals(200, cres.getStatus());
- defWEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
+ assertEquals(200, cres.getStatus());
- ArrayList<WorkspaceEntry> wsEntries = new ArrayList<WorkspaceEntry>();
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws", "jdbcjcr27"));
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws2", "jdbcjcr27"));
- RepositoryEntry rEntry = makeRepositoryEntry(defREntry, "db6backup", wsEntries);
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- // Check the repository /db6backup.
- try
- {
- repositoryService.getRepository("db6backup");
- fail("The repository /db6backup should be not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rEntry.getName(), dInfo.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(rEntry);
+ // restore by id, "remove-exising" is true
+ assertTrue(isRepositoryExists(rInfo.rName));
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ + "/" + backupId + "/" + "true"));
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY + "/" + id), new URI(""),
- new ByteArrayInputStream(json.toString().getBytes("UTF-8")), new InputHeadersMap(headers));
+ assertEquals(200, cres.getStatus());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ waitRepositoryRestore(rInfo.rName);
+ assertTrue(isRepositoryExists(rInfo.rName));
- assertEquals(200, cres.getStatus());
- }
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rInfo.rName));
+ assertEquals(200, cres.getStatus());
- waitRepositoryRestore("db6backup");
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- // Get restore info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/"
- + "db6backup"), new URI(""), null, new InputHeadersMap(headers));
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rInfo.rName, dInfo.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ // restore by id, "remove-existing" if false
+ removeRepositoryFully(rInfo.rName);
+ assertFalse(isRepositoryExists(rInfo.rName));
- assertEquals(200, cres.getStatus());
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ + "/" + backupId + "/false"));
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ waitRepositoryRestore(rInfo.rName);
+ assertTrue(isRepositoryExists(rInfo.rName));
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6backup", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rInfo.rName));
- assertNotNull(repositoryService.getRepository("db6backup"));
- Session sessin_ws = repositoryService.getRepository("db6backup").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
+ assertEquals(200, cres.getStatus());
- // Get restores info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORES_REPOSITORY), new URI(""), null,
- new InputHeadersMap(headers));
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rInfo.rName, dInfo.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
- assertEquals(200, cres.getStatus());
+ // restore by backup-set path, "remove-existing" is true
+ assertTrue(isRepositoryExists(rEntry.getName()));
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY_BACKUP_SET + "/" + "true"
+ + "?backup-set-path=" + backupSetPath), rEntry);
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- assertNotNull(infoList);
+ assertEquals(200, cres.getStatus());
- ShortInfo info = new ArrayList<ShortInfo>(infoList.getBackups()).get(0);
+ waitRepositoryRestore(rEntry.getName());
+ assertTrue(isRepositoryExists(rEntry.getName()));
+
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6backup", info.getRepositoryName());
- assertNotNull(info.getBackupId());
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- assertNotNull(repositoryService.getRepository("db6backup"));
- Session sessin_ws = repositoryService.getRepository("db6backup").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
- }
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rEntry.getName(), dInfo.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
- public void testRestoreRepositoryExistsTrue() throws Exception
- {
- // Get backup id for backup on workspace /db6
- String id = null;
+ // restore by backup set path, "remove existing" is false
+ removeRepositoryFully(rEntry.getName());
+ assertFalse(isRepositoryExists(rEntry.getName()));
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
+ cres =
+ makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY_BACKUP_SET + "/false" + "?backup-set-path="
+ + backupSetPath), rEntry);
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertEquals(200, cres.getStatus());
- assertEquals(200, cres.getStatus());
+ waitRepositoryRestore(rEntry.getName());
+ assertTrue(isRepositoryExists(rEntry.getName()));
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
+ assertEquals(200, cres.getStatus());
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- assertEquals(info.getRepositoryName(), "db6");
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rEntry.getName(), dInfo.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
- id = info.getBackupId();
- }
+ // restore by backup-set-path, "remove-existing" is true
+ assertTrue(isRepositoryExists(rInfo.rName));
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET
+ + "/true" + "?backup-set-path=" + backupSetPath));
- // Getting default RepositoryEntry
- RepositoryEntry defREntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_REPOSITORY_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
+ waitRepositoryRestore(rInfo.rName);
+ assertTrue(isRepositoryExists(rInfo.rName));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rInfo.rName));
- assertEquals(200, cres.getStatus());
- defREntry = (RepositoryEntry) getObject(RepositoryEntry.class, responseWriter.getBody());
- }
+ assertEquals(200, cres.getStatus());
- // Getting default WorkspaceEntry
- WorkspaceEntry defWEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rInfo.rName, dInfo.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
- assertEquals(200, cres.getStatus());
- defWEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
+ // restore by backup-set-path, "remove-existing" is false
+ removeRepositoryFully(rInfo.rName);
+ assertFalse(isRepositoryExists(rInfo.rName));
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET
+ + "/false" + "?backup-set-path=" + backupSetPath));
- ArrayList<WorkspaceEntry> wsEntries = new ArrayList<WorkspaceEntry>();
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws", "jdbcjcr27"));
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws2", "jdbcjcr27"));
- RepositoryEntry rEntry = makeRepositoryEntry(defREntry, "db6backup", wsEntries);
+ waitRepositoryRestore(rInfo.rName);
+ assertTrue(isRepositoryExists(rInfo.rName));
- // Check the repository /db6backup.
- try
- {
- repositoryService.getRepository("db6backup");
- // ok
- }
- catch (Exception e)
- {
- fail("The repository /db6backup should be exists.");
- }
+ cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rInfo.rName));
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(rEntry);
+ assertEquals(200, cres.getStatus());
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY + "/" + id + "/" + "true"),
- new URI(""),
- new ByteArrayInputStream(json.toString().getBytes("UTF-8")), new InputHeadersMap(headers));
+ dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitRepositoryRestore("db6backup");
-
- // Get restore info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/"
- + "db6backup"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6backup", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
-
- assertNotNull(repositoryService.getRepository("db6backup"));
- Session sessin_ws = repositoryService.getRepository("db6backup").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
+ assertNotNull(dInfo);
+ assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
+ assertNotNull(dInfo.getStartedTime());
+ assertNotNull(dInfo.getFinishedTime());
+ assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
+ assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
+ assertEquals(rInfo.rName, dInfo.getRepositoryName());
+ assertNotNull(dInfo.getBackupConfig());
}
- public void testRestoreRepositoryExistsFalse() throws Exception
+ private boolean isRepositoryExists(String rName)
{
- // Get backup id for backup on workspace /db6
- String id = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
- }
-
- // Getting default RepositoryEntry
- RepositoryEntry defREntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_REPOSITORY_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defREntry = (RepositoryEntry) getObject(RepositoryEntry.class, responseWriter.getBody());
- }
-
- // Getting default WorkspaceEntry
- WorkspaceEntry defWEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defWEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
-
- ArrayList<WorkspaceEntry> wsEntries = new ArrayList<WorkspaceEntry>();
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws", "jdbcjcr27"));
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws2", "jdbcjcr27"));
- RepositoryEntry rEntry = makeRepositoryEntry(defREntry, "db6backup", wsEntries);
-
- removeRepositoryFully("db6backup");
- // Check the repository /db6backup.
- try
- {
- repositoryService.getRepository("db6backup");
- fail("The repository /db6backup should be not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
-
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(rEntry);
-
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY + "/" + id + "/" + "false"),
- new URI(""), new ByteArrayInputStream(json.toString().getBytes("UTF-8")),
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitRepositoryRestore("db6backup");
-
- // Get restore info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/"
- + "db6backup"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6backup", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
-
- assertNotNull(repositoryService.getRepository("db6backup"));
- Session sessin_ws = repositoryService.getRepository("db6backup").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
+ return isWorkspaceExists(rName, null);
}
- public void testRestoreRepositoryByIdOriginalConfigExistsTrue() throws Exception
+
+ private boolean isWorkspaceExists(String rName, String wsName)
{
- // Get backup id for backup on workspace /db6
- String id = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
- }
-
- // Check the repository /db6backup.
+ ManageableRepository repository = null;
try
{
- repositoryService.getRepository("db6");
- // ok
+ repository = repositoryService.getRepository(rName);
}
- catch (Exception e)
+ catch (RepositoryException e)
{
- fail("The repository /db6 should be exists.");
+ return false;
}
-
- // Restore
+ catch (RepositoryConfigurationException e)
{
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY + "/" + id + "/" + "true"),
- new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
+ return false;
}
- waitRepositoryRestore("db6");
-
- // Get restore info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + "db6"),
- new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
-
- assertNotNull(repositoryService.getRepository("db6"));
- Session sessin_ws = repositoryService.getRepository("db6").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
- }
-
- public void testRestoreRepositoryByIdOriginalConfigExistsFalse() throws Exception
- {
- // Get backup id for backup on workspace /db6
- String id = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
- }
-
- removeRepositoryFully("db6");
- // Check the repository /db6backup.
try
{
- repositoryService.getRepository("db6");
- fail("The repository /db6 should be not exists.");
+ repository.login(credentials, wsName);
}
- catch (Exception e)
+ catch (LoginException e)
{
- // ok
+ return false;
}
-
- // Restore
+ catch (NoSuchWorkspaceException e)
{
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY + "/" + id + "/" + "false"),
- new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
+ return false;
}
-
- waitRepositoryRestore("db6");
-
- // Get restore info
+ catch (RepositoryException e)
{
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + "db6"),
- new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
-
- assertNotNull(repositoryService.getRepository("db6"));
- Session sessin_ws = repositoryService.getRepository("db6").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
+ return false;
}
- }
- public void testRestoreRepositoryChangeConfigBackupSetExistsTrue() throws Exception
- {
- // Get backup id for backup on workspace /db6
- String id = null;
- String backupSetPath = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
-
- for (RepositoryBackupChainLog bcl : backup.getRepositoryBackupsLogs())
- {
- if (bcl.getBackupId().equals(id))
- {
- backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
- break;
- }
- }
- }
-
- // Getting default RepositoryEntry
- RepositoryEntry defREntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_REPOSITORY_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defREntry = (RepositoryEntry) getObject(RepositoryEntry.class, responseWriter.getBody());
- }
-
- // Getting default WorkspaceEntry
- WorkspaceEntry defWEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defWEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
-
- ArrayList<WorkspaceEntry> wsEntries = new ArrayList<WorkspaceEntry>();
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws", "jdbcjcr27"));
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws2", "jdbcjcr27"));
- RepositoryEntry rEntry = makeRepositoryEntry(defREntry, "db6backup", wsEntries);
-
- // Check the repository /db6backup.
- try
- {
- repositoryService.getRepository("db6backup");
- // ok
- }
- catch (Exception e)
- {
- fail("The repository /db6backup should be exists.");
- }
-
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(rEntry);
-
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY_BACKUP_SET + "/"
- + "true" + "?backup-set-path=" + backupSetPath),
- new URI(""), new ByteArrayInputStream(json.toString().getBytes("UTF-8")),
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitRepositoryRestore("db6backup");
-
- // Get restore info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/"
- + "db6backup"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6backup", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
-
- assertNotNull(repositoryService.getRepository("db6backup"));
- Session sessin_ws = repositoryService.getRepository("db6backup").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
+ return true;
}
- public void testRestoreRepositoryChangeConfigBackupSetExistsFalse() throws Exception
- {
- // Get backup id for backup on workspace /db6
- String id = null;
- String backupSetPath = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
-
- for (RepositoryBackupChainLog bcl : backup.getRepositoryBackupsLogs())
- {
- if (bcl.getBackupId().equals(id))
- {
- backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
- break;
- }
- }
- }
-
- // Getting default RepositoryEntry
- RepositoryEntry defREntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_REPOSITORY_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defREntry = (RepositoryEntry) getObject(RepositoryEntry.class, responseWriter.getBody());
- }
-
- // Getting default WorkspaceEntry
- WorkspaceEntry defWEntry;
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.GET_DEFAULT_WORKSPACE_CONFIG), new URI(""), null,
- new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- defWEntry = (WorkspaceEntry) getObject(WorkspaceEntry.class, responseWriter.getBody());
- }
-
- ArrayList<WorkspaceEntry> wsEntries = new ArrayList<WorkspaceEntry>();
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws", "jdbcjcr27"));
- wsEntries.add(makeWorkspaceEntry(defWEntry, "db6backup", "ws2", "jdbcjcr27"));
- RepositoryEntry rEntry = makeRepositoryEntry(defREntry, "db6backup", wsEntries);
-
- removeRepositoryFully("db6backup");
- // Check the repository /db6backup.
- try
- {
- repositoryService.getRepository("db6backup");
- fail("The repository /db6backup should be not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
-
- // Restore
- {
- // Create JSON to WorkspaceEntry
- JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
- JsonValue json = generatorImpl.createJsonObject(rEntry);
-
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- headers.putSingle("Content-Type", "application/json; charset=UTF-8");
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("POST", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY_BACKUP_SET + "/"
- + "false" + "?backup-set-path=" + backupSetPath), new URI(""), new ByteArrayInputStream(json.toString()
- .getBytes("UTF-8")), new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitRepositoryRestore("db6backup");
-
- // Get restore info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/"
- + "db6backup"), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6backup", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
-
- assertNotNull(repositoryService.getRepository("db6backup"));
- Session sessin_ws = repositoryService.getRepository("db6backup").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
- }
-
- public void testRestoreRepositoryBackupSetExistsTrue() throws Exception
- {
- // Get backup id for backup on workspace /db6
- String id = null;
- String backupSetPath = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
-
- for (RepositoryBackupChainLog bcl : backup.getRepositoryBackupsLogs())
- {
- if (bcl.getBackupId().equals(id))
- {
- backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
- break;
- }
- }
- }
-
- // Check the repository /db6.
- try
- {
- repositoryService.getRepository("db6");
- // ok
- }
- catch (Exception e)
- {
- fail("The repository /db6 should be exists.");
- }
-
- // Restore
- {
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET + "/" + "true"
- + "?backup-set-path=" + backupSetPath), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitRepositoryRestore("db6");
-
- // Get restore info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + "db6"),
- new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
-
- assertNotNull(repositoryService.getRepository("db6"));
- Session sessin_ws = repositoryService.getRepository("db6").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
- }
-
- public void testRestoreRepositoryBackupSetExistsFalse() throws Exception
- {
- // Get backup id for backup on workspace /db6
- String id = null;
- String backupSetPath = null;
-
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.COMPLETED_BACKUPS_REPOSITORY_INFO), new URI(""),
- null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- ShortInfoList infoList = (ShortInfoList) getObject(ShortInfoList.class, responseWriter.getBody());
- List<ShortInfo> list = new ArrayList<ShortInfo>(infoList.getBackups());
-
- ShortInfo info = getBackupInfo(list);
- assertNotNull(info);
-
- assertEquals(info.getRepositoryName(), "db6");
-
- id = info.getBackupId();
-
- for (RepositoryBackupChainLog bcl : backup.getRepositoryBackupsLogs())
- {
- if (bcl.getBackupId().equals(id))
- {
- backupSetPath = URLEncoder.encode(bcl.getBackupConfig().getBackupDir().getCanonicalPath(), "UTF-8");
- break;
- }
- }
- }
-
- removeRepositoryFully("db6");
- // Check the repository /db6.
- try
- {
- repositoryService.getRepository("db6");
- fail("The repository /db6 should be not exists.");
- }
- catch (Exception e)
- {
- // ok
- }
-
- // Restore
- {
- // Execute restore
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET + "/" + "false"
- + "?backup-set-path=" + backupSetPath), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
- }
-
- waitRepositoryRestore("db6");
-
- // Get restore info
- {
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + "db6"),
- new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
- assertEquals(200, cres.getStatus());
-
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
-
- assertNotNull(info);
- assertEquals(BackupManager.FULL_AND_INCREMENTAL, info.getBackupType().intValue());
- assertNotNull(info.getStartedTime());
- assertNotNull(info.getFinishedTime());
- assertEquals(ShortInfo.RESTORE, info.getType().intValue());
- assertEquals(JobWorkspaceRestore.RESTORE_SUCCESSFUL, info.getState().intValue());
- assertEquals("db6", info.getRepositoryName());
- assertNotNull(info.getBackupConfig());
-
- assertNotNull(repositoryService.getRepository("db6"));
- Session sessin_ws = repositoryService.getRepository("db6").login(credentials, "ws");
- assertNotNull(sessin_ws);
- assertNotNull(sessin_ws.getRootNode());
- }
- }
-
- public void testDropRepository() throws Exception
- {
-
- assertNotNull(repositoryService.getRepository("db5"));
-
- for (String workspaceName : repositoryService.getRepository("db5").getWorkspaceNames())
- forceCloseSession("db5", workspaceName);
-
- try
- {
- repositoryService.removeRepository("db5");
- }
- catch (Exception e)
- {
- fail();
- }
- }
-
- private int forceCloseSession(String repositoryName, String workspaceName) throws RepositoryException,
- RepositoryConfigurationException
- {
- ManageableRepository mr = repositoryService.getRepository(repositoryName);
- WorkspaceContainerFacade wc = mr.getWorkspaceContainer(workspaceName);
-
- SessionRegistry sessionRegistry = (SessionRegistry) wc.getComponent(SessionRegistry.class);
-
- return sessionRegistry.closeSessions(workspaceName);
- }
-
- @Override
- protected WorkspaceEntry makeWorkspaceEntry(WorkspaceEntry defWEntry, String repoNmae, String wsName,
- String sourceName)
- {
- WorkspaceEntry ws1back = new WorkspaceEntry();
- ws1back.setName(wsName);
- ws1back.setUniqueName(repoNmae + "_" + wsName);
-
- ws1back.setAccessManager(defWEntry.getAccessManager());
- ws1back.setCache(defWEntry.getCache());
- ws1back.setLockManager(defWEntry.getLockManager());
-
- // Indexer
- ArrayList qParams = new ArrayList();
- qParams.add(new SimpleParameterEntry("index-dir", "target" + File.separator + wsName));
- QueryHandlerEntry qEntry = new QueryHandlerEntry(defWEntry.getQueryHandler().getType(), qParams);
-
- ws1back.setQueryHandler(qEntry);
-
- ArrayList params = new ArrayList();
- for (Iterator i = defWEntry.getContainer().getParameters().iterator(); i.hasNext();)
- {
- SimpleParameterEntry p = (SimpleParameterEntry) i.next();
- SimpleParameterEntry newp = new SimpleParameterEntry(p.getName(), p.getValue());
-
- if (newp.getName().equals("source-name"))
- newp.setValue(sourceName);
- else if (newp.getName().equals("swap-directory"))
- newp.setValue("target/temp/swap/" + wsName);
- else if (newp.getName().equals("multi-db"))
- newp.setValue("false");
-
- params.add(newp);
- }
-
- ContainerEntry ce = new ContainerEntry(defWEntry.getContainer().getType(), params);
- ws1back.setContainer(ce);
-
- return ws1back;
- }
-
- protected RepositoryEntry makeRepositoryEntry(RepositoryEntry defREntry, String repoName,
- ArrayList<WorkspaceEntry> wsEntries)
- {
- RepositoryEntry rEntry = new RepositoryEntry();
- rEntry.setAccessControl(defREntry.getAccessControl());
- rEntry.setAuthenticationPolicy(defREntry.getAuthenticationPolicy());
- rEntry.setDefaultWorkspaceName(defREntry.getDefaultWorkspaceName());
- rEntry.setName(repoName);
- rEntry.setSecurityDomain(defREntry.getSecurityDomain());
- rEntry.setSessionTimeOut(defREntry.getSessionTimeOut());
- rEntry.setSystemWorkspaceName(defREntry.getSystemWorkspaceName());
- rEntry.setWorkspaceEntries(wsEntries);
-
- return rEntry;
- }
-
+
/**
* Will be created the Object from JSON binary data.
*
@@ -3094,7 +1137,6 @@
/**
* {@inheritDoc}
*/
- @Override
protected ExtendedBackupManager getBackupManager()
{
return (ExtendedBackupManager) container.getComponentInstanceOfType(BackupManager.class);
@@ -3102,76 +1144,53 @@
protected void waitWorkspaceRestore(String repoName, String wsName) throws Exception
{
- boolean wait = true;
-
- while (wait)
+ while (true)
{
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + repoName + "/" + wsName));
- // Get restore info to workspace /<repoName>/<wsName>
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_WS + "/" + repoName + "/"
- + wsName), new URI(""), null, new InputHeadersMap(headers));
-
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ DetailedInfo info = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
if (info.getState().intValue() == JobWorkspaceRestore.RESTORE_SUCCESSFUL
- || info.getState().intValue() == JobWorkspaceRestore.RESTORE_FAIL)
+ || info.getState().intValue() == JobWorkspaceRestore.RESTORE_FAIL)
{
- wait = false;
+ break;
}
- else
- {
- Thread.sleep(500);
- }
+
+ Thread.sleep(500);
}
}
protected void waitRepositoryRestore(String repoName) throws Exception
{
- boolean wait = true;
-
- while (wait)
+ while (true)
{
- // Get restore info
- MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
- ContainerRequestUserRole creq =
- new ContainerRequestUserRole("GET", new URI(HTTP_BACKUP_AGENT_PATH
- + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/"
- + repoName), new URI(""), null, new InputHeadersMap(headers));
+ TesterContainerResponce cres =
+ makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ + HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + repoName));
- ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
- ContainerResponse cres = new ContainerResponse(responseWriter);
- handler.handleRequest(creq, cres);
-
assertEquals(200, cres.getStatus());
- DetailedInfo info = (DetailedInfo) getObject(DetailedInfo.class, responseWriter.getBody());
+ DetailedInfo info = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
if (info.getState().intValue() == JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL
- || info.getState().intValue() == JobRepositoryRestore.REPOSITORY_RESTORE_FAIL)
+ || info.getState().intValue() == JobRepositoryRestore.REPOSITORY_RESTORE_FAIL)
{
- wait = false;
+ break;
}
- else
- {
- Thread.sleep(500);
- }
+
+ Thread.sleep(500);
}
}
- private ShortInfo getBackupInfo(List<ShortInfo> list)
+ private ShortInfo getBackupInfo(List<ShortInfo> list, String rName)
{
for (ShortInfo info : list)
{
- if (info.getRepositoryName().equals("db6"))
+ if (info.getRepositoryName().equals(rName))
{
return info;
}
@@ -3179,4 +1198,64 @@
return null;
}
+
+ private BackupChain backupWorkspace(RepoInfo rInfo) throws Exception
+ {
+ BackupConfig config = new BackupConfig();
+ config.setRepository(rInfo.rName);
+ config.setWorkspace(rInfo.wsName);
+ config.setBackupType(BackupManager.FULL_BACKUP_ONLY);
+ config.setBackupDir(backupDir);
+
+ BackupChain bch = backup.startBackup(config);
+ waitEndOfBackup(bch);
+
+ return bch;
+ }
+
+ private RepositoryBackupChain backupRepository(RepoInfo rInfo) throws Exception
+ {
+ RepositoryBackupConfig config = new RepositoryBackupConfig();
+ config.setRepository(rInfo.rName);
+ config.setBackupType(BackupManager.FULL_BACKUP_ONLY);
+ config.setBackupDir(backupDir);
+
+ RepositoryBackupChain bch = backup.startBackup(config);
+ waitEndOfBackup(bch);
+
+ return bch;
+ }
+
+ private TesterContainerResponce makeGetRequest(URI uri) throws Exception
+ {
+ MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
+
+ ContainerRequestUserRole creq =
+ new ContainerRequestUserRole("GET", uri, new URI(""), null, new InputHeadersMap(headers));
+
+ ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
+ TesterContainerResponce cres = new TesterContainerResponce(responseWriter);
+ handler.handleRequest(creq, cres);
+
+ return cres;
+ }
+
+ private TesterContainerResponce makePostRequest(URI uri, Object object) throws Exception
+ {
+ JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
+ JsonValue json = generatorImpl.createJsonObject(object);
+
+ MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
+
+ headers.putSingle("Content-Type", "application/json; charset=UTF-8");
+ ContainerRequestUserRole creq =
+ new ContainerRequestUserRole("POST", uri, new URI(""), new ByteArrayInputStream(json.toString().getBytes(
+ "UTF-8")), new InputHeadersMap(headers));
+
+ ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
+ TesterContainerResponce cres = new TesterContainerResponce(responseWriter);
+ handler.handleRequest(creq, cres);
+
+ return cres;
+ }
}
Modified: jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/RestRepositoryServiceTest.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/RestRepositoryServiceTest.java 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/RestRepositoryServiceTest.java 2012-03-20 07:16:57 UTC (rev 5901)
@@ -25,12 +25,13 @@
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.core.CredentialsImpl;
import org.exoplatform.services.jcr.core.ManageableRepository;
-import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCDataContainerConfig.DatabaseStructureType;
-import org.exoplatform.services.jcr.ext.BaseStandaloneTest;
import org.exoplatform.services.jcr.ext.app.SessionProviderService;
import org.exoplatform.services.jcr.ext.app.ThreadLocalSessionProviderService;
+import org.exoplatform.services.jcr.ext.backup.AbstractBackupTestCase;
import org.exoplatform.services.jcr.ext.backup.ContainerRequestUserRole;
+import org.exoplatform.services.jcr.ext.backup.ExtendedBackupManager;
import org.exoplatform.services.jcr.ext.common.SessionProvider;
+import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCDataContainerConfig.DatabaseStructureType;
import org.exoplatform.services.jcr.util.TesterConfigurationHelper;
import org.exoplatform.services.rest.RequestHandler;
import org.exoplatform.services.rest.impl.ContainerResponse;
@@ -68,7 +69,7 @@
* @author <a href="mailto:alex.reshetnyak at exoplatform.com.ua">Alex Reshetnyak</a>
* @version $Id: RestRepositoryServiceTest.java 111 2008-11-11 11:11:11Z rainf0x $
*/
-public class RestRepositoryServiceTest extends BaseStandaloneTest
+public class RestRepositoryServiceTest extends AbstractBackupTestCase
{
private String REST_REPOSITORY_SERVICE_PATH = RestRepositoryService.Constants.BASE_URL;
@@ -179,26 +180,8 @@
public void testCreateRepository() throws Exception
{
- String wsName = "ws_over_rest_1";
- String rName = "repo_over_rest";
+ RepositoryEntry rEntry = helper.createRepositoryEntry(DatabaseStructureType.MULTI, null, null);
- RepositoryEntry rDefault =
- repositoryService.getConfig().getRepositoryConfiguration(
- repositoryService.getConfig().getDefaultRepositoryName());
-
- RepositoryEntry rEntry = new RepositoryEntry();
-
- rEntry.setName(rName);
- rEntry.setSessionTimeOut(3600000);
- rEntry.setAuthenticationPolicy("org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator");
- rEntry.setSecurityDomain("exo-domain");
- rEntry.setSystemWorkspaceName(wsName);
- rEntry.setDefaultWorkspaceName(wsName);
-
- WorkspaceEntry wEntry =
- makeWorkspaceEntry(rDefault.getWorkspaceEntries().get(0), rName, wsName, "jdbcjcr_to_rest_repo_1", true);
- rEntry.addWorkspace(wEntry);
-
JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
JsonValue json = generatorImpl.createJsonObject(rEntry);
@@ -219,7 +202,7 @@
assertEquals(200, cres.getStatus());
Session session =
- repositoryService.getRepository(rName).login(new CredentialsImpl("root", "exo".toCharArray()), wsName);
+ repositoryService.getRepository(rEntry.getName()).login(new CredentialsImpl("root", "exo".toCharArray()));
assertNotNull(session);
assertNotNull(session.getRootNode());
session.logout();
@@ -230,23 +213,12 @@
String wsName = "ws_over:?//\\__rest!!_1";
String rName = "repo:?//\\_over:_re??st";
- RepositoryEntry rDefault =
- repositoryService.getConfig().getRepositoryConfiguration(
- repositoryService.getConfig().getDefaultRepositoryName());
-
- RepositoryEntry rEntry = new RepositoryEntry();
-
+ RepositoryEntry rEntry = helper.createRepositoryEntry(DatabaseStructureType.MULTI, null, null);
rEntry.setName(rName);
- rEntry.setSessionTimeOut(3600000);
- rEntry.setAuthenticationPolicy("org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator");
- rEntry.setSecurityDomain("exo-domain");
+ rEntry.getWorkspaceEntries().get(0).setName(wsName);
rEntry.setSystemWorkspaceName(wsName);
rEntry.setDefaultWorkspaceName(wsName);
- WorkspaceEntry wEntry =
- makeWorkspaceEntry(rDefault.getWorkspaceEntries().get(0), rName, wsName, "jdbcjcr_to_rest_repo_1", true);
- rEntry.addWorkspace(wEntry);
-
JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
JsonValue json = generatorImpl.createJsonObject(rEntry);
@@ -258,8 +230,6 @@
+ RestRepositoryService.Constants.OperationType.CREATE_REPOSITORY), new URI(""), new ByteArrayInputStream(
json.toString().getBytes("UTF-8")), new InputHeadersMap(headers));
- System.out.print("testCreateRepository : " + json.toString());
-
ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
ContainerResponse cres = new ContainerResponse(responseWriter);
handler.handleRequest(creq, cres);
@@ -275,14 +245,8 @@
public void testCreateWorkspace() throws Exception
{
- String wsName = "ws_over_rest_2";
- String rName = "repo_over_rest";
+ WorkspaceEntry wEntry = helper.createWorkspaceEntry(DatabaseStructureType.MULTI, null);
- WorkspaceEntry wEntry =
- makeWorkspaceEntry(repositoryService.getDefaultRepository().getConfiguration().getWorkspaceEntries().get(0),
- rName, wsName, "jdbcjcr_to_rest_repo_2", true);
- wEntry.setAccessManager(null);
-
JsonGeneratorImpl generatorImpl = new JsonGeneratorImpl();
JsonValue json = generatorImpl.createJsonObject(wEntry);
@@ -291,11 +255,9 @@
ContainerRequestUserRole creq =
new ContainerRequestUserRole("POST", new URI(REST_REPOSITORY_SERVICE_PATH
- + RestRepositoryService.Constants.OperationType.CREATE_WORKSPACE + "/" + rName), new URI(""),
+ + RestRepositoryService.Constants.OperationType.CREATE_WORKSPACE + "/db1"), new URI(""),
new ByteArrayInputStream(json.toString().getBytes("UTF-8")), new InputHeadersMap(headers));
- System.out.print("testCreateWorkspace : " + json.toString());
-
ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
ContainerResponse cres = new ContainerResponse(responseWriter);
handler.handleRequest(creq, cres);
@@ -303,7 +265,8 @@
assertEquals(200, cres.getStatus());
Session session =
- repositoryService.getRepository(rName).login(new CredentialsImpl("root", "exo".toCharArray()), wsName);
+ repositoryService.getRepository("db1").login(new CredentialsImpl("root", "exo".toCharArray()),
+ wEntry.getName());
assertNotNull(session);
assertNotNull(session.getRootNode());
@@ -312,19 +275,14 @@
public void testRemoveWorkspace() throws Exception
{
- String wsName = "ws_over_rest_2";
- String rName = "repo_over_rest";
- Session session =
- repositoryService.getRepository(rName).login(new CredentialsImpl("root", "exo".toCharArray()), wsName);
- assertNotNull(session);
- assertNotNull(session.getRootNode());
+ RepoInfo rInfo = createRepositoryAndGetSession();
MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
ContainerRequestUserRole creq =
new ContainerRequestUserRole("POST", new URI(REST_REPOSITORY_SERVICE_PATH
- + RestRepositoryService.Constants.OperationType.REMOVE_WORKSPACE + "/" + rName + "/" + wsName + "/false/"),
- new URI(""), null, new InputHeadersMap(headers));
+ + RestRepositoryService.Constants.OperationType.REMOVE_WORKSPACE + "/" + rInfo.rName + "/" + rInfo.wsName
+ + "/false/"), new URI(""), null, new InputHeadersMap(headers));
ByteArrayContainerResponseWriter responseWriter = new ByteArrayContainerResponseWriter();
ContainerResponse cres = new ContainerResponse(responseWriter);
@@ -335,7 +293,8 @@
//remove with prepare close sessions
creq =
new ContainerRequestUserRole("POST", new URI(REST_REPOSITORY_SERVICE_PATH
- + RestRepositoryService.Constants.OperationType.REMOVE_WORKSPACE + "/" + rName + "/" + wsName + "/true/"),
+ + RestRepositoryService.Constants.OperationType.REMOVE_WORKSPACE + "/" + rInfo.rName + "/" + rInfo.wsName
+ + "/true/"),
new URI(""), null, new InputHeadersMap(headers));
responseWriter = new ByteArrayContainerResponseWriter();
@@ -346,8 +305,9 @@
try
{
- repositoryService.getRepository(rName).login(new CredentialsImpl("root", "exo".toCharArray()), wsName);
- fail("The workspace /" + rName + "/" + wsName + "should be removed. ");
+ repositoryService.getRepository(rInfo.rName).login(new CredentialsImpl("root", "exo".toCharArray()),
+ rInfo.wsName);
+ fail("The workspace /" + rInfo.rName + "/" + rInfo.wsName + "should be removed. ");
}
catch (NoSuchWorkspaceException e)
{
@@ -477,4 +437,10 @@
}
}
+
+ @Override
+ protected ExtendedBackupManager getBackupManager()
+ {
+ return null;
+ }
}
Modified: jcr/branches/1.15.x/exo.jcr.component.ext/src/test/resources/conf/standalone/test-configuration.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.ext/src/test/resources/conf/standalone/test-configuration.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.ext/src/test/resources/conf/standalone/test-configuration.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -825,413 +825,6 @@
</properties-param>
</init-params>
</component-plugin>
-
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr6</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr6" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr7</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr7" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr8</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr8" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
-
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr19</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr19" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr21</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr21" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr23</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr23" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr24</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr24" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr25</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr25" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr26</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr26" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr27</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr27" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr30</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/db8ws" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr31</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/db8ws2" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr_to_rest_repo_1</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_rest_repo_1" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr_to_rest_repo_2</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_rest_repo_2" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr_to_repository_restore_singel_db</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_singel_db" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
</external-component-plugins>
<external-component-plugins>
<target-component>org.exoplatform.services.jcr.ext.hierarchy.NodeHierarchyCreator</target-component>
Modified: jcr/branches/1.15.x/exo.jcr.component.ext/src/test/resources/conf/standalone/test-jcr-ext-config.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.ext/src/test/resources/conf/standalone/test-jcr-ext-config.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.ext/src/test/resources/conf/standalone/test-jcr-ext-config.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -31,7 +31,7 @@
<properties>
<property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws" />
</properties>
@@ -77,9 +77,9 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr1" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1" />
</properties>
@@ -106,7 +106,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr1" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -115,9 +115,9 @@
<workspace name="ws2">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr2" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2" />
</properties>
@@ -144,7 +144,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr2" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -153,9 +153,9 @@
<workspace name="ws3">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr3" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws3" />
</properties>
@@ -182,7 +182,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr3" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -191,9 +191,9 @@
<workspace name="ws4">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr4" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws4" />
</properties>
@@ -220,7 +220,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr4" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -229,9 +229,9 @@
<workspace name="ws5">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr5" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws5" />
</properties>
@@ -258,7 +258,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr5" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -266,52 +266,6 @@
</workspaces>
</repository>\
- <repository name="db2" system-workspace="ws" default-workspace="ws">
- <security-domain>exo-domain</security-domain>
- <access-control>optional</access-control>
- <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
- <workspaces>
- <workspace name="ws">
- <!-- for system storage -->
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr19" />
- <property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/db2_ws" />
- </properties>
- </container>
- <cache enabled="true">
- <properties>
- <property name="max-size" value="5k" />
- <property name="live-time" value="1h" />
- </properties>
- </cache>
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="target/temp/index/db2_ws" />
- </properties>
- </query-handler>
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock.xml" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr19" />
- <property name="jbosscache-shareable" value="true" />
- </properties>
- </lock-manager>
- </workspace>
- </workspaces>
- </repository>
-
<repository name="db3" system-workspace="ws" default-workspace="ws">
<security-domain>exo-domain</security-domain>
<access-control>optional</access-control>
@@ -320,7 +274,7 @@
<workspace name="ws">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr6" />
+ <property name="source-name" value="jdbcjcr2" />
<property name="db-structure-type" value="single" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/db3ws" />
@@ -363,7 +317,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr6" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr2" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -372,7 +326,7 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr6" />
+ <property name="source-name" value="jdbcjcr2" />
<property name="db-structure-type" value="single" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/db3ws1" />
@@ -415,7 +369,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr6" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr2" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -431,7 +385,7 @@
<workspace name="ws">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr7" />
+ <property name="source-name" value="jdbcjcr3" />
<property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/db4ws" />
@@ -474,7 +428,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr7" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr3" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -483,7 +437,7 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr8" />
+ <property name="source-name" value="jdbcjcr3" />
<property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/db4ws1" />
@@ -526,7 +480,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr8" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr3" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -534,316 +488,6 @@
</workspaces>
</repository>
- <repository name="db5" system-workspace="ws" default-workspace="ws">
- <security-domain>exo-domain</security-domain>
- <access-control>optional</access-control>
- <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
- <workspaces>
- <workspace name="ws">
- <!-- for system storage -->
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr21" />
- <property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/db5_ws" />
- </properties>
- </container>
- <cache enabled="true">
- <properties>
- <property name="max-size" value="5k" />
- <property name="live-time" value="1h" />
- </properties>
- </cache>
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="target/temp/index/db5_ws" />
- </properties>
- </query-handler>
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock.xml" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr21" />
- <property name="jbosscache-shareable" value="true" />
- </properties>
- </lock-manager>
- </workspace>
-
- <workspace name="ws1">
- <!-- for system storage -->
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr23" />
- <property name="dialect" value="auto" />
- <property name="db-structure-type" value="multi" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/db5_ws1" />
- </properties>
- </container>
- <cache enabled="true">
- <properties>
- <property name="max-size" value="5k" />
- <property name="live-time" value="1h" />
- </properties>
- </cache>
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="target/temp/index/db5_ws1" />
- </properties>
- </query-handler>
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock.xml" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr23" />
- <property name="jbosscache-shareable" value="true" />
- </properties>
- </lock-manager>
- </workspace>
- </workspaces>
- </repository>
-
- <repository name="db6" system-workspace="ws" default-workspace="ws">
- <security-domain>exo-domain</security-domain>
- <access-control>optional</access-control>
- <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
- <workspaces>
- <workspace name="ws">
- <!-- for system storage -->
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr24" />
- <property name="dialect" value="auto" />
- <property name="db-structure-type" value="single" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/db6_ws" />
- </properties>
- </container>
- <cache enabled="true">
- <properties>
- <property name="max-size" value="5k" />
- <property name="live-time" value="1h" />
- </properties>
- </cache>
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="target/temp/index/db6_ws" />
- </properties>
- </query-handler>
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock.xml" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr24" />
- <property name="jbosscache-shareable" value="true" />
- </properties>
- </lock-manager>
- </workspace>
-
- <workspace name="ws1">
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr25" />
- <property name="dialect" value="auto" />
- <property name="db-structure-type" value="single" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/db6_ws1" />
- </properties>
- </container>
- <cache enabled="true">
- <properties>
- <property name="max-size" value="5k" />
- <property name="live-time" value="1h" />
- </properties>
- </cache>
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="target/temp/index/db6_ws1" />
- </properties>
- </query-handler>
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock.xml" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr25" />
- <property name="jbosscache-shareable" value="true" />
- </properties>
- </lock-manager>
- </workspace>
-
- <workspace name="ws2">
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr26" />
- <property name="dialect" value="auto" />
- <property name="db-structure-type" value="single" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/db6_ws2" />
- </properties>
- </container>
- <cache enabled="true">
- <properties>
- <property name="max-size" value="5k" />
- <property name="live-time" value="1h" />
- </properties>
- </cache>
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="target/temp/index/db6_ws2" />
- </properties>
- </query-handler>
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock.xml" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr26" />
- <property name="jbosscache-shareable" value="true" />
- </properties>
- </lock-manager>
- </workspace>
- </workspaces>
- </repository>
-
- <repository name="db7" system-workspace="ws" default-workspace="ws">
- <security-domain>exo-domain</security-domain>
- <access-control>optional</access-control>
- <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
- <workspaces>
- <workspace name="ws">
- <!-- for system storage -->
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr_to_repository_restore_singel_db" />
- <property name="dialect" value="auto" />
- <property name="db-structure-type" value="single" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/db7_ws" />
- </properties>
- <value-storages>
- <value-storage id="draft" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
- <properties>
- <property name="path" value="target/temp/values/db7_ws" />
- </properties>
- <filters>
- <filter property-type="Binary" />
- </filters>
- </value-storage>
- </value-storages>
- </container>
- <cache enabled="true">
- <properties>
- <property name="max-size" value="5k" />
- <property name="live-time" value="1h" />
- </properties>
- </cache>
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="target/temp/index/db7_ws" />
- </properties>
- </query-handler>
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock.xml" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr_to_repository_restore_singel_db" />
- <property name="jbosscache-shareable" value="true" />
- </properties>
- </lock-manager>
- </workspace>
-
- <workspace name="ws1">
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr_to_repository_restore_singel_db" />
- <property name="dialect" value="auto" />
- <property name="db-structure-type" value="single" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/db7_ws1" />
- </properties>
- <value-storages>
- <value-storage id="draft" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
- <properties>
- <property name="path" value="target/temp/values/db7_ws1" />
- </properties>
- <filters>
- <filter property-type="Binary" />
- </filters>
- </value-storage>
- </value-storages>
- </container>
- <cache enabled="true">
- <properties>
- <property name="max-size" value="5k" />
- <property name="live-time" value="1h" />
- </properties>
- </cache>
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="target/temp/index/db7_ws1" />
- </properties>
- </query-handler>
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock.xml" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr_to_repository_restore_singel_db" />
- <property name="jbosscache-shareable" value="true" />
- </properties>
- </lock-manager>
- </workspace>
- </workspaces>
- </repository>
<repository name="db8" system-workspace="ws" default-workspace="ws">
<security-domain>exo-domain</security-domain>
<access-control>optional</access-control>
@@ -852,7 +496,7 @@
<workspace name="ws">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr30" />
+ <property name="source-name" value="jdbcjcr4" />
<property name="db-structure-type" value="multi" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/db4ws" />
@@ -895,7 +539,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr30" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr4" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -904,7 +548,7 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr31" />
+ <property name="source-name" value="jdbcjcr5" />
<property name="db-structure-type" value="multi" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/db8ws1" />
@@ -947,7 +591,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr31" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr5" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
Modified: jcr/branches/1.15.x/exo.jcr.component.ftp/src/test/resources/conf/standalone/test-jcr-config.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.ftp/src/test/resources/conf/standalone/test-jcr-config.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.ftp/src/test/resources/conf/standalone/test-jcr-config.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -31,7 +31,7 @@
<properties>
<property name="source-name" value="jdbcjcr" />
<property name="dialect" value="auto" />
- <property name="multi-db" value="false" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="204800" />
<property name="swap-directory" value="target/temp/swap/ws" />
</properties>
@@ -69,8 +69,8 @@
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
<property name="source-name" value="jdbcjcr" />
+ <property name="db-structure-type" value="isolated" />
<property name="dialect" value="auto" />
- <property name="multi-db" value="false" />
<property name="max-buffer-size" value="204800" />
<property name="swap-directory" value="target/temp/swap/ws2" />
</properties>
Modified: jcr/branches/1.15.x/exo.jcr.component.webdav/src/test/resources/conf/standalone/test-configuration.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.webdav/src/test/resources/conf/standalone/test-configuration.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.webdav/src/test/resources/conf/standalone/test-configuration.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -254,141 +254,6 @@
</init-params>
</component-plugin>
<component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr1</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr2</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr2" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcrtck</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/portaltck" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr1tck</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcrtck" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>bind.datasource</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.naming.BindReferencePlugin</type>
- <init-params>
- <value-param>
- <name>bind-name</name>
- <value>jdbcjcr2tck</value>
- </value-param>
- <value-param>
- <name>class-name</name>
- <value>javax.sql.DataSource</value>
- </value-param>
- <value-param>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </value-param>
- <properties-param>
- <name>ref-addresses</name>
- <description>ref-addresses</description>
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr2tck" />
- <property name="username" value="sa" />
- <property name="password" value="" />
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
<name>jotm.tx</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.naming.BindReferencePlugin</type>
Modified: jcr/branches/1.15.x/exo.jcr.component.webdav/src/test/resources/conf/standalone/test-jcr-config.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.webdav/src/test/resources/conf/standalone/test-jcr-config.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.component.webdav/src/test/resources/conf/standalone/test-jcr-config.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -31,7 +31,7 @@
<properties>
<property name="source-name" value="jdbcjcr" />
<property name="dialect" value="hsqldb" />
- <property name="multi-db" value="true" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws" />
</properties>
@@ -86,9 +86,9 @@
<workspace name="ws1">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr1" />
+ <property name="source-name" value="jdbcjcr" />
<property name="dialect" value="hsqldb" />
- <property name="multi-db" value="true" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws1" />
</properties>
@@ -125,7 +125,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr1" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
@@ -134,9 +134,9 @@
<workspace name="ws2">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name" value="jdbcjcr2" />
- <property name="dialect" value="hsqldb" />
- <property name="multi-db" value="true" />
+ <property name="source-name" value="jdbcjcr" />
+ <property name="dialect" value="hsqldb" />
+ <property name="db-structure-type" value="isolated" />
<property name="max-buffer-size" value="200k" />
<property name="swap-directory" value="target/temp/swap/ws2" />
</properties>
@@ -173,7 +173,7 @@
<property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
<property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
<property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr2" />
+ <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
<property name="jbosscache-shareable" value="true" />
</properties>
</lock-manager>
Modified: jcr/branches/1.15.x/exo.jcr.framework.command/src/test/resources/conf/standalone/test-jcr-framework-config.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.framework.command/src/test/resources/conf/standalone/test-jcr-framework-config.xml 2012-03-19 16:19:32 UTC (rev 5900)
+++ jcr/branches/1.15.x/exo.jcr.framework.command/src/test/resources/conf/standalone/test-jcr-framework-config.xml 2012-03-20 07:16:57 UTC (rev 5901)
@@ -30,7 +30,7 @@
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
<property name="source-name" value="jdbcjcr" />
- <property name="multi-db" value="true" />
+ <property name="db-structure-type" value="isolated" />
</properties>
</container>
<cache enabled="true">
More information about the exo-jcr-commits
mailing list