X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.server.jcr%2Fsrc%2Forg%2Fargeo%2Fjcr%2FDefaultRepositoryRegister.java;h=e2a5026d83ba899799950e5eb6e139025a55fff6;hb=8260f4470f514ea347ca53f5b4dfc632c4a4de66;hp=f13c84e3b8b1ca8fb8d4e297c3467b5dd1362fa9;hpb=cf3a914f6fbf31b43be5cb86e54d05e8543be6a9;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.server.jcr/src/org/argeo/jcr/DefaultRepositoryRegister.java b/org.argeo.server.jcr/src/org/argeo/jcr/DefaultRepositoryRegister.java index f13c84e3b..e2a5026d8 100644 --- a/org.argeo.server.jcr/src/org/argeo/jcr/DefaultRepositoryRegister.java +++ b/org.argeo.server.jcr/src/org/argeo/jcr/DefaultRepositoryRegister.java @@ -26,6 +26,7 @@ import javax.jcr.RepositoryException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +@Deprecated public class DefaultRepositoryRegister extends Observable implements RepositoryRegister, ArgeoJcrConstants { private final static Log log = LogFactory @@ -57,11 +58,10 @@ public class DefaultRepositoryRegister extends Observable implements /** Registers a service, typically called when OSGi services are bound. */ @SuppressWarnings("rawtypes") public synchronized void register(Repository repository, Map properties) { - // TODO: also check bean name? String alias; if (properties == null || !properties.containsKey(JCR_REPOSITORY_ALIAS)) { log.warn("Cannot register a repository if no " - + JCR_REPOSITORY_ALIAS + " property is speecified."); + + JCR_REPOSITORY_ALIAS + " property is specified."); return; } alias = properties.get(JCR_REPOSITORY_ALIAS).toString(); @@ -86,7 +86,10 @@ public class DefaultRepositoryRegister extends Observable implements String alias = properties.get(JCR_REPOSITORY_ALIAS).toString(); Map map = new TreeMap( repositories); - map.put(alias, repository); + if (map.remove(alias) == null) { + log.warn("No repository was registered with alias " + alias); + return; + } repositories = Collections.unmodifiableMap(map); setChanged(); notifyObservers(alias);