X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=inline;f=org.argeo.server.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2FDefaultRepositoryFactory.java;fp=org.argeo.server.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2FDefaultRepositoryFactory.java;h=0000000000000000000000000000000000000000;hb=2e854796e0a27c9ef9e29b0664132a87ddbd1285;hp=a7b30e7be8418f5962a7afec347996d06826dc44;hpb=a677a9a685497f09b30fc8e1f6a63a1e9dd535ef;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.server.jcr/src/main/java/org/argeo/jcr/DefaultRepositoryFactory.java b/org.argeo.server.jcr/src/main/java/org/argeo/jcr/DefaultRepositoryFactory.java deleted file mode 100644 index a7b30e7be..000000000 --- a/org.argeo.server.jcr/src/main/java/org/argeo/jcr/DefaultRepositoryFactory.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.argeo.jcr; - -import java.net.URI; -import java.net.URISyntaxException; -import java.util.Map; -import java.util.Properties; - -import javax.jcr.Repository; -import javax.jcr.RepositoryException; -import javax.jcr.RepositoryFactory; - -import org.argeo.ArgeoException; - -/** - * Simple implementation of {@link RepositoryFactory}, supporting OSGi aliases. - */ -public class DefaultRepositoryFactory extends DefaultRepositoryRegister - implements RepositoryFactory, ArgeoJcrConstants { - @SuppressWarnings("rawtypes") - public Repository getRepository(Map parameters) throws RepositoryException { - if (parameters.containsKey(JCR_REPOSITORY_ALIAS)) { - String alias = parameters.get(JCR_REPOSITORY_ALIAS).toString(); - return getRepositoryByAlias(alias); - } else if (parameters.containsKey(JCR_REPOSITORY_URI)) { - String uri = parameters.get(JCR_REPOSITORY_URI).toString(); - return getRepositoryByAlias(getAliasFromURI(uri)); - } - return null; - } - - protected String getAliasFromURI(String uri) { - try { - URI uriObj = new URI(uri); - String alias = uriObj.getPath(); - if (alias.charAt(0) == '/') - alias = alias.substring(1); - if (alias.charAt(alias.length() - 1) == '/') - alias = alias.substring(0, alias.length() - 1); - return alias; - } catch (URISyntaxException e) { - throw new ArgeoException("Cannot interpret URI " + uri, e); - } - } - - /** - * Retrieve a repository by alias - * - * @return the repository registered with alias or null if none - */ - protected Repository getRepositoryByAlias(String alias) { - if (getRepositories().containsKey(alias)) - return getRepositories().get(alias); - else - return null; - } - - protected void publish(String alias, Repository repository, - Properties properties) { - register(repository, properties); - } - -}