X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.server.jcr%2Fsrc%2Forg%2Fargeo%2Fjackrabbit%2Funit%2FAbstractJackrabbitTestCase.java;h=1523c835d7c76abdb4941103ba5858204cb535cd;hb=8260f4470f514ea347ca53f5b4dfc632c4a4de66;hp=1f3ff307a1c93926f981284be870f20453751fa2;hpb=678d56847ac20b1e45e409d1b173266d285cbd4c;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.server.jcr/src/org/argeo/jackrabbit/unit/AbstractJackrabbitTestCase.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/unit/AbstractJackrabbitTestCase.java index 1f3ff307a..1523c835d 100644 --- a/org.argeo.server.jcr/src/org/argeo/jackrabbit/unit/AbstractJackrabbitTestCase.java +++ b/org.argeo.server.jcr/src/org/argeo/jackrabbit/unit/AbstractJackrabbitTestCase.java @@ -15,28 +15,52 @@ */ package org.argeo.jackrabbit.unit; -import java.io.File; +import java.net.URL; import javax.jcr.Repository; -import org.apache.jackrabbit.core.TransientRepository; +import org.apache.commons.io.FileUtils; +import org.apache.jackrabbit.core.RepositoryImpl; +import org.apache.jackrabbit.core.config.RepositoryConfig; import org.argeo.jcr.unit.AbstractJcrTestCase; -import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.Resource; /** Factorizes configuration of an in memory transient repository */ -public abstract class AbstractJackrabbitTestCase extends - AbstractJcrTestCase { - protected File getRepositoryFile() throws Exception { - Resource res = new ClassPathResource( - "org/argeo/server/jcr/repository-memory.xml"); - return res.getFile(); +public abstract class AbstractJackrabbitTestCase extends AbstractJcrTestCase { + protected RepositoryImpl repositoryImpl; + + // protected File getRepositoryFile() throws Exception { + // Resource res = new ClassPathResource( + // "org/argeo/jackrabbit/unit/repository-memory.xml"); + // return res.getFile(); + // } + + public AbstractJackrabbitTestCase() { + URL url = AbstractJackrabbitTestCase.class.getResource("jaas.config"); + assert url != null; + System.setProperty("java.security.auth.login.config", url.toString()); } protected Repository createRepository() throws Exception { - Repository repository = new TransientRepository(getRepositoryFile(), - getHomeDir()); - return repository; + // Repository repository = new TransientRepository(getRepositoryFile(), + // getHomeDir()); + RepositoryConfig repositoryConfig = RepositoryConfig.create( + AbstractJackrabbitTestCase.class + .getResourceAsStream(getRepositoryConfigResource()), + getHomeDir().getAbsolutePath()); + RepositoryImpl repositoryImpl = RepositoryImpl.create(repositoryConfig); + return repositoryImpl; + } + + protected String getRepositoryConfigResource() { + return "repository-memory.xml"; + } + + @Override + protected void clearRepository(Repository repository) throws Exception { + RepositoryImpl repositoryImpl = (RepositoryImpl) repository; + if (repositoryImpl != null) + repositoryImpl.shutdown(); + FileUtils.deleteDirectory(getHomeDir()); } }