X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fjcr%2FRepositoryBuilder.java;h=872d8ae531e977d3ea58a16859f184e3692813f7;hb=e7dc62c485696931a3e048d9102a7c86f9323b92;hp=86ce94bb40884b47c493c1c12e7dfa184c2980f8;hpb=810aecacb19916bade7e4bcfcbbb54c301f672df;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/jcr/RepositoryBuilder.java b/org.argeo.cms/src/org/argeo/cms/internal/jcr/RepositoryBuilder.java index 86ce94bb4..872d8ae53 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/jcr/RepositoryBuilder.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/jcr/RepositoryBuilder.java @@ -14,7 +14,6 @@ import java.util.UUID; import javax.jcr.RepositoryException; -import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.jackrabbit.core.RepositoryContext; @@ -22,17 +21,18 @@ import org.apache.jackrabbit.core.RepositoryImpl; import org.apache.jackrabbit.core.cache.CacheManager; import org.apache.jackrabbit.core.config.RepositoryConfig; import org.apache.jackrabbit.core.config.RepositoryConfigurationParser; +import org.argeo.api.NodeConstants; import org.argeo.cms.CmsException; import org.argeo.cms.internal.kernel.CmsPaths; import org.argeo.jcr.ArgeoJcrException; -import org.argeo.node.NodeConstants; import org.xml.sax.InputSource; /** Can interpret properties in order to create an actual JCR repository. */ public class RepositoryBuilder { private final static Log log = LogFactory.getLog(RepositoryBuilder.class); - public RepositoryContext createRepositoryContext(Dictionary properties) throws RepositoryException { + public RepositoryContext createRepositoryContext(Dictionary properties) + throws RepositoryException, IOException { RepositoryConfig repositoryConfig = createRepositoryConfig(properties); RepositoryContext repositoryContext = createJackrabbitRepository(repositoryConfig); RepositoryImpl repository = repositoryContext.getRepository(); @@ -49,22 +49,17 @@ public class RepositoryBuilder { return repositoryContext; } - RepositoryConfig createRepositoryConfig(Dictionary properties) throws RepositoryException { + RepositoryConfig createRepositoryConfig(Dictionary properties) throws RepositoryException, IOException { JackrabbitType type = JackrabbitType.valueOf(prop(properties, RepoConf.type).toString()); ClassLoader cl = getClass().getClassLoader(); - InputStream in = null; - try { - final String base = "/org/argeo/cms/internal/jcr"; - in = cl.getResourceAsStream(base + "/repository-" + type.name() + ".xml"); - + final String base = "/org/argeo/cms/internal/jcr"; + try (InputStream in = cl.getResourceAsStream(base + "/repository-" + type.name() + ".xml")) { if (in == null) throw new ArgeoJcrException("Repository configuration not found"); InputSource config = new InputSource(in); Properties jackrabbitVars = getConfigurationProperties(type, properties); RepositoryConfig repositoryConfig = RepositoryConfig.create(config, jackrabbitVars); return repositoryConfig; - } finally { - IOUtils.closeQuietly(in); } }