X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.jcr%2Fsrc%2Forg%2Fargeo%2Fjcr%2FJcrRepositoryWrapper.java;h=3228eee7434c007a414662579477283f8ef96299;hb=623a35d1a39522cf8b6a1d6c860ac60a2646f03d;hp=d4bf4381ed1efd88149ea1bb00c44df680f51164;hpb=1f4ff4da0e5d85821b005267dfa9eece9f8ca9bb;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.jcr/src/org/argeo/jcr/JcrRepositoryWrapper.java b/org.argeo.jcr/src/org/argeo/jcr/JcrRepositoryWrapper.java index d4bf4381e..3228eee74 100644 --- a/org.argeo.jcr/src/org/argeo/jcr/JcrRepositoryWrapper.java +++ b/org.argeo.jcr/src/org/argeo/jcr/JcrRepositoryWrapper.java @@ -1,18 +1,3 @@ -/* - * 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.io.InputStream; @@ -99,7 +84,7 @@ public abstract class JcrRepositoryWrapper implements Repository { throws LoginException, NoSuchWorkspaceException, RepositoryException { Session session; try { - session = getRepository().login(credentials, workspaceName); + session = getRepository(workspaceName).login(credentials, workspaceName); } catch (NoSuchWorkspaceException e) { if (autocreateWorkspaces && workspaceName != null) session = createWorkspaceAndLogsIn(credentials, workspaceName); @@ -126,17 +111,24 @@ public abstract class JcrRepositoryWrapper implements Repository { protected void processNewSession(Session session, String workspaceName) { } - /** Wraps access to the repository, making sure it is available. */ + /** + * Wraps access to the repository, making sure it is available. + * + * @deprecated Use {@link #getDefaultRepository()} instead. + */ + @Deprecated protected synchronized Repository getRepository() { - // if (repository == null) { - // throw new ArgeoJcrException("No repository initialized." - // + " Was the init() method called?" - // + " The destroy() method should also" - // + " be called on shutdown."); - // } + return getDefaultRepository(); + } + + protected synchronized Repository getDefaultRepository() { return repository; } + protected synchronized Repository getRepository(String workspaceName) { + return getDefaultRepository(); + } + /** * Logs in to the default workspace, creates the required workspace, logs out, * logs in to the required workspace. @@ -144,11 +136,11 @@ public abstract class JcrRepositoryWrapper implements Repository { protected Session createWorkspaceAndLogsIn(Credentials credentials, String workspaceName) throws RepositoryException { if (workspaceName == null) - throw new ArgeoJcrException("No workspace specified."); - Session session = getRepository().login(credentials); + throw new IllegalArgumentException("No workspace specified."); + Session session = getRepository(workspaceName).login(credentials); session.getWorkspace().createWorkspace(workspaceName); session.logout(); - return getRepository().login(credentials, workspaceName); + return getRepository(workspaceName).login(credentials, workspaceName); } public boolean isStandardDescriptor(String key) {