import org.apache.jackrabbit.core.config.RepositoryConfig;
import org.apache.jackrabbit.core.config.RepositoryConfigurationParser;
import org.apache.jackrabbit.jcr2dav.Jcr2davRepositoryFactory;
import org.apache.jackrabbit.core.config.RepositoryConfig;
import org.apache.jackrabbit.core.config.RepositoryConfigurationParser;
import org.apache.jackrabbit.jcr2dav.Jcr2davRepositoryFactory;
import org.argeo.jcr.ArgeoJcrConstants;
import org.argeo.jcr.ArgeoJcrException;
import org.springframework.core.io.ClassPathResource;
import org.argeo.jcr.ArgeoJcrConstants;
import org.argeo.jcr.ArgeoJcrException;
import org.springframework.core.io.ClassPathResource;
* Jackrabbit repositories
*/
public class JackrabbitRepositoryFactory implements RepositoryFactory, ArgeoJcrConstants {
* Jackrabbit repositories
*/
public class JackrabbitRepositoryFactory implements RepositoryFactory, ArgeoJcrConstants {
private final static Log log = LogFactory.getLog(JackrabbitRepositoryFactory.class);
private Resource fileRepositoryConfiguration = new ClassPathResource("/org/argeo/jackrabbit/repository-h2.xml");
private final static Log log = LogFactory.getLog(JackrabbitRepositoryFactory.class);
private Resource fileRepositoryConfiguration = new ClassPathResource("/org/argeo/jackrabbit/repository-h2.xml");
public Repository getRepository(Map parameters) throws RepositoryException {
// // check if can be found by alias
// Repository repository = super.getRepository(parameters);
public Repository getRepository(Map parameters) throws RepositoryException {
// // check if can be found by alias
// Repository repository = super.getRepository(parameters);
repository = createRemoteRepository(uri);
else if (uri.startsWith("file"))// http, https
repository = createFileRepository(uri, parameters);
repository = createRemoteRepository(uri);
else if (uri.startsWith("file"))// http, https
repository = createFileRepository(uri, parameters);
- else if (uri.startsWith("vm")) {
- log.warn("URI "
- + uri
- + " should have been managed by generic JCR repository factory");
- repository = getRepositoryByAlias(getAliasFromURI(uri));
- }
- else
+ else if (uri.startsWith("vm")) {
+ log.warn("URI " + uri + " should have been managed by generic JCR repository factory");
+ repository = getRepositoryByAlias(getAliasFromURI(uri));
+ } else
params.put(JcrUtils.REPOSITORY_URI, uri);
Repository repository = new Jcr2davRepositoryFactory().getRepository(params);
if (repository == null)
params.put(JcrUtils.REPOSITORY_URI, uri);
Repository repository = new Jcr2davRepositoryFactory().getRepository(params);
if (repository == null)
String dirPath = uri.substring("file:".length());
File homeDir = new File(dirPath);
if (homeDir.exists() && !homeDir.isDirectory())
String dirPath = uri.substring("file:".length());
File homeDir = new File(dirPath);
if (homeDir.exists() && !homeDir.isDirectory())
alias = alias.substring(0, alias.length() - 1);
return alias;
} catch (URISyntaxException e) {
alias = alias.substring(0, alias.length() - 1);
return alias;
} catch (URISyntaxException e) {