/** * Register nodeType file in repository. * * @param repositoryName repository name * @param nodeTypeFile nodeType file */ private void registerNodeTypeFile(String repositoryName, String nodeTypeFile) { Provider provider = repositoryManager.getRepositoryProvider(repositoryName); try { provider.registerNodeTypes(nodeTypeFile); } catch (RepositoryException e) { log.error(e.getMessage(), e); } } }
/** * Returns the repository provider for either a repository or the provider for the repository which contains the workspace. * * @throws IllegalArgumentException if there is no repository or workspace by this name * @deprecated since 4.5 - use {@link info.magnolia.repository.RepositoryManager#getRepositoryProvider(String)} directly. */ public static Provider getRepositoryProvider(String repositoryOrLogicalWorkspace) { RepositoryManager repositoryManager = Components.getComponent(RepositoryManager.class); if (!repositoryManager.hasRepository(repositoryOrLogicalWorkspace)) { repositoryOrLogicalWorkspace = getMappedRepositoryName(repositoryOrLogicalWorkspace); } return repositoryManager.getRepositoryProvider(repositoryOrLogicalWorkspace); }
@Override @Before public void setUp() throws Exception { super.setUp(); // Initial Context final ModuleRegistryImpl moduleRegistry = new ModuleRegistryImpl(); installContext = new InstallContextImpl(moduleRegistry); sessionConfig = installContext.getJCRSession(RepositoryConstants.CONFIG); // Register Same node type RepositoryManager repositoryManager = Components.getComponent(RepositoryManager.class); repositoryManager.getRepositoryProvider("magnolia").registerNodeTypes(new ByteArrayInputStream(nodeType.getBytes())); // Create tree with sibling new PropertiesImportExport().createNodes(sessionConfig.getRootNode(), IOUtils.toInputStream(rootTree)); sessionConfig.save(); rootNode = sessionConfig.getRootNode(); }
@Override @Before public void setUp() throws Exception { super.setUp(); dataSession = MgnlContext.getJCRSession("data"); // Register node type definition RepositoryManager repositoryManager = Components.getComponent(RepositoryManager.class); try { // Register the target Node type definition repositoryManager.getRepositoryProvider("magnolia").registerNodeTypes(new ByteArrayInputStream(getTargetNodeTypeDefinition().getBytes())); // Register the data node type definition repositoryManager.getRepositoryProvider("magnolia").registerNodeTypes(new ByteArrayInputStream(getDataNodeTypeDefinition().getBytes())); // Register the custom node type (this type is for example category in data) repositoryManager.getRepositoryProvider("magnolia").registerNodeTypes(new ByteArrayInputStream(getCustomNodeTypeDefinition().getBytes())); } catch (RepositoryException e) { log.error("", e); } final ModuleRegistryImpl moduleRegistry = new ModuleRegistryImpl(); installContext = new InstallContextImpl(moduleRegistry); // Init target session targetSession = MgnlContext.getJCRSession(getTargetWorkSpaceName()); // Init data node structure URL resource = ClasspathResourcesUtil.getResource(getDataNodeStructureDefinitionFileName()); new PropertiesImportExport().createNodes(dataSession.getRootNode(), resource.openStream()); dataSession.save(); // Init Components ComponentsTestUtil.setImplementation(I18nContentSupport.class, DefaultI18nContentSupport.class); }
@Before @Override public void setUp() throws Exception { super.setUp(); RepositoryManager repositoryManager = Components.getComponent(RepositoryManager.class); repositoryManager.loadWorkspace("magnolia", FavoriteStore.WORKSPACE_NAME); repositoryManager.getRepositoryProvider("magnolia").registerNodeTypes(new ByteArrayInputStream(FAVORITE_NODE_TYPES.getBytes())); session = MgnlContext.getJCRSession(FavoriteStore.WORKSPACE_NAME); MockContext ctx = (MockContext) MgnlContext.getInstance(); final User user = mock(User.class); when(user.getName()).thenReturn(TEST_USER); ctx.setUser(user); MgnlContext.setInstance(ctx); favoriteStore = new FavoriteStore(); favoritesManager = new FavoritesManagerImpl(favoriteStore); }
@Test public void testAddMixin() throws Exception { final Node content = getTestNode(); final String workspaceName = content.getSession().getWorkspace().getName(); final String mixDeleted = "mgnl:deleted"; RepositoryManager repositoryManager = Components.getComponent(RepositoryManager.class); String repoName = repositoryManager.getRepositoryNameForWorkspace(workspaceName); final Provider repoProvider = repositoryManager.getRepositoryProvider(repoName); final String mgnlMixDeleted = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<nodeTypes" + " xmlns:rep=\"internal\"" + " xmlns:nt=\"http://www.jcp.org/jcr/nt/1.0\"" + " xmlns:mix=\"http://www.jcp.org/jcr/mix/1.0\"" + " xmlns:mgnl=\"http://www.magnolia.info/jcr/mgnl\"" + " xmlns:jcr=\"http://www.jcp.org/jcr/1.0\">" + "<nodeType name=\"" + mixDeleted + "\" isMixin=\"true\" hasOrderableChildNodes=\"true\" primaryItemName=\"\">" + "<supertypes>" + "<supertype>nt:base</supertype>" + "</supertypes>" + "</nodeType>" + "</nodeTypes>"; try { repoProvider.registerNodeTypes(new ByteArrayInputStream(mgnlMixDeleted.getBytes())); } catch (RepositoryException e) { // ignore, either it's already registered and test will pass, or type can't be registered and test should fail } assertTrue(content.canAddMixin(mixDeleted)); content.addMixin(mixDeleted); }
@Override @Before public void setUp() throws Exception { super.setUp(); final RepositoryManager repositoryManager = Components.getComponent(RepositoryManager.class); repositoryManager.loadWorkspace(REPOSITORY, WORKSPACE); repositoryManager.getRepositoryProvider(REPOSITORY).registerNodeTypes(getClass().getResourceAsStream(NODE_TYPES)); messageStore = new MessageStore(); error = createMessage("1", MessageType.ERROR); warning = createMessage("2", MessageType.WARNING); info = createMessage("3", MessageType.INFO); messageStore.saveMessage(USER, error); messageStore.saveMessage(USER, warning); messageStore.saveMessage(USER, info); }