X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.jcr%2Fsrc%2Forg%2Fargeo%2Fjcr%2FJcrRepositoryWrapper.java;h=1098c4dee5d6a8d781e9a50f6a0dc2db2d12f21c;hb=9e5ea515aa9a855645c9d20c478c14770264a5cb;hp=d4bf4381ed1efd88149ea1bb00c44df680f51164;hpb=2cdcc7410782f46eac9a4a505de12e33f67acf15;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..1098c4dee 100644 --- a/org.argeo.jcr/src/org/argeo/jcr/JcrRepositoryWrapper.java +++ b/org.argeo.jcr/src/org/argeo/jcr/JcrRepositoryWrapper.java @@ -99,7 +99,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 +126,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. @@ -145,10 +152,10 @@ public abstract class JcrRepositoryWrapper implements Repository { throws RepositoryException { if (workspaceName == null) throw new ArgeoJcrException("No workspace specified."); - Session session = getRepository().login(credentials); + 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) {