@Override public boolean hasRepository(String repositoryId) { return workspaceMapping.getRepositoryDefinition(repositoryId) != null; }
@Override public RepositoryDefinition getRepositoryDefinition(String repositoryId) { return workspaceMapping.getRepositoryDefinition(repositoryId); }
@Override public void loadWorkspace(String repositoryId, String physicalWorkspaceName) throws RepositoryException { String logicalWorkspaceName; // fallback to old pattern if repo id is empty if (StringUtils.isNotBlank(repositoryId) && (RepositoryConstants.SYSTEM.equals(physicalWorkspaceName) || RepositoryConstants.VERSION_STORE.equals(physicalWorkspaceName))) { logicalWorkspaceName = repositoryId + "-" + physicalWorkspaceName; } else { logicalWorkspaceName = physicalWorkspaceName; } log.info("Loading workspace {} (logical name {}).", physicalWorkspaceName, logicalWorkspaceName); workspaceMapping.addWorkspaceMapping(new WorkspaceMappingDefinition(logicalWorkspaceName, repositoryId, physicalWorkspaceName)); Provider provider = getRepositoryProvider(repositoryId); provider.registerWorkspace(physicalWorkspaceName); RepositoryDefinition repositoryDefinition = workspaceMapping.getRepositoryDefinition(repositoryId); registerNameSpacesAndNodeTypes(physicalWorkspaceName, repositoryDefinition, provider); }
/** * Adds workspace mapping, if the physical workspace doesn't exist it is added. */ public void addWorkspaceMapping(WorkspaceMappingDefinition mapping) { if (workspaceMappingDefinitions.containsKey(mapping.getLogicalWorkspaceName())) { return; } addWorkspaceMappingDefinition(mapping); RepositoryDefinition repositoryDefinition = getRepositoryDefinition(mapping.getRepositoryName()); if (!repositoryDefinition.getWorkspaces().contains(mapping.getPhysicalWorkspaceName())) { repositoryDefinition.addWorkspace(mapping.getPhysicalWorkspaceName()); } }