@Override public Collection<RepositoryDefinition> getRepositoryDefinitions() { return workspaceMapping.getRepositoryDefinitions(); }
/** * Verify that workspace exists in clustered repository. * @param workspace The name of the workspace * @return {@code true} if workspace is a shared workspace that is configured in a clustered repository */ public boolean isClusteredWorkspace(String workspace) { String clusterConfigFile = magnoliaConfigurationProperties.getProperty(MagnoliaConfigurationProperties.MAGNOLIA_REPOSITORIES_CLUSTER_CONFIG); if (StringUtils.isBlank(clusterConfigFile)) { return false; } Collection<RepositoryDefinition> repoDefinitions = workspaceMapping.getRepositoryDefinitions(); for (RepositoryDefinition repoDefinition : repoDefinitions) { if (repoDefinition.getParameters().containsValue(clusterConfigFile) && repoDefinition.getWorkspaces().contains(workspace)) { return true; } } return false; }
@Override public void shutdown() { log.info("Shutting down JCR"); for (RepositoryDefinition repositoryDefinition : workspaceMapping.getRepositoryDefinitions()) { Provider provider = workspaceMapping.getRepositoryProvider(repositoryDefinition.getName()); provider.shutdownRepository(); } workspaceMapping.clearAll(); }
for (RepositoryDefinition repoDefinition : workspaceMapping.getRepositoryDefinitions()) { String repoName = repoDefinition.getName(); Provider provider = workspaceMapping.getRepositoryProvider(repoName);
@Override @Before public void setUp() throws Exception { properties = mock(MagnoliaConfigurationProperties.class); WorkspaceMapping workspaceMapping = mock(WorkspaceMapping.class); given(workspaceMapping.getLogicalWorkspaceNames()).willReturn(newArrayList("website")); RepositoryDefinition repositoryDefinition = mock(RepositoryDefinition.class); Map<String, String> definitionMap = newHashMap(); definitionMap.put("website", "website"); given(repositoryDefinition.getParameters()).willReturn(definitionMap); given(repositoryDefinition.getWorkspaces()).willReturn(newArrayList("website")); given(workspaceMapping.getRepositoryDefinitions()).willReturn(newArrayList(repositoryDefinition)); FileSystemHelper fileSystemHelper = new FileSystemHelper(properties); DefaultRepositoryManager repositoryManager = new DefaultRepositoryManager(properties, workspaceMapping, fileSystemHelper); handler = new WebappVersionHandler(repositoryManager); context = mock(InstallContext.class); super.setUp(); Session session = MgnlContext.getJCRSession("website"); session.getRootNode().addNode("x"); }
@Override @Before public void setUp() throws Exception { super.setUp(); Session session = MgnlContext.getJCRSession(RepositoryConstants.WEBSITE); root = session.getRootNode(); properties = mock(MagnoliaConfigurationProperties.class); WorkspaceMapping workspaceMapping = mock(WorkspaceMapping.class); given(workspaceMapping.getLogicalWorkspaceNames()).willReturn(newArrayList("website")); Provider provider = mock(Provider.class); given(workspaceMapping.getRepositoryProvider(anyString())).willReturn(provider); RepositoryDefinition repositoryDefinition = mock(RepositoryDefinition.class); Map<String, String> definitionMap = newHashMap(); definitionMap.put("website", "website"); given(repositoryDefinition.getParameters()).willReturn(definitionMap); given(repositoryDefinition.getWorkspaces()).willReturn(newArrayList("website")); given(workspaceMapping.getRepositoryDefinitions()).willReturn(newArrayList(repositoryDefinition)); DefaultRepositoryManager repositoryManager = new DefaultRepositoryManager(properties, workspaceMapping); repoMan = Components.getComponent(RepositoryManager.class); ComponentsTestUtil.setInstance(RepositoryManager.class, repositoryManager); }