@Override public WorkspaceMappingDefinition getWorkspaceMapping(String logicalWorkspaceName) { return workspaceMapping.getWorkspaceMapping(logicalWorkspaceName); }
@Override public boolean hasWorkspace(String logicalWorkspaceName) { return workspaceMapping.getWorkspaceMapping(logicalWorkspaceName) != null; }
@Override public String getRepositoryNameForWorkspace(String logicalWorkspaceName) { if (hasWorkspace(logicalWorkspaceName)) { return workspaceMapping.getWorkspaceMapping(logicalWorkspaceName).getRepositoryName(); } throw new IllegalStateException("No repository known for logical workspace name " + logicalWorkspaceName); }
@Override public Session getSystemSession(String logicalWorkspaceName) throws RepositoryException { WorkspaceMappingDefinition mapping = this.workspaceMapping.getWorkspaceMapping(logicalWorkspaceName); if (mapping == null) { throw new NoSuchWorkspaceException(logicalWorkspaceName); } Provider provider = getRepositoryProvider(mapping.getRepositoryName()); return wrapSession(provider.getSystemSession(mapping.getPhysicalWorkspaceName()), logicalWorkspaceName); }
@Override public Session getSession(String logicalWorkspaceName, Credentials credentials) throws RepositoryException { WorkspaceMappingDefinition mapping = this.workspaceMapping.getWorkspaceMapping(logicalWorkspaceName); if (mapping == null) throw new NoSuchWorkspaceException(logicalWorkspaceName); Repository repository = getRepository(mapping.getRepositoryName()); String physicalWorkspaceName = mapping.getPhysicalWorkspaceName(); Session session = repository.login(credentials, physicalWorkspaceName); return wrapSession(session, logicalWorkspaceName); }