From: <fg...@us...> - 2013-10-13 15:57:37
|
Revision: 4373 http://openutils.svn.sourceforge.net/openutils/?rev=4373&view=rev Author: fgiust Date: 2013-10-13 15:57:34 +0000 (Sun, 13 Oct 2013) Log Message: ----------- API updates Modified Paths: -------------- magnoliamodules/trunk/openutils-mgnltests/src/main/java/it/openutils/mgnlutils/test/AbstractRepositoryTestcase.java magnoliamodules/trunk/openutils-mgnltests/src/test/java/it/openutils/mgnlutils/test/junit/JUnitRepositoryTestcaseTest.java magnoliamodules/trunk/openutils-mgnltests/src/test/java/it/openutils/mgnlutils/test/testng/TestNgRepositoryTestcaseTest.java Modified: magnoliamodules/trunk/openutils-mgnltests/src/main/java/it/openutils/mgnlutils/test/AbstractRepositoryTestcase.java =================================================================== --- magnoliamodules/trunk/openutils-mgnltests/src/main/java/it/openutils/mgnlutils/test/AbstractRepositoryTestcase.java 2013-10-13 15:34:11 UTC (rev 4372) +++ magnoliamodules/trunk/openutils-mgnltests/src/main/java/it/openutils/mgnlutils/test/AbstractRepositoryTestcase.java 2013-10-13 15:57:34 UTC (rev 4373) @@ -18,10 +18,7 @@ */ package it.openutils.mgnlutils.test; - -import info.magnolia.cms.beans.config.ContentRepository; -import info.magnolia.cms.beans.config.PropertiesInitializer; -import info.magnolia.cms.core.Content; + import info.magnolia.cms.core.Path; import info.magnolia.cms.core.SystemProperty; import info.magnolia.cms.util.ClasspathResourcesUtil; @@ -50,7 +47,6 @@ import info.magnolia.module.model.reader.BetwixtModuleDefinitionReader; import info.magnolia.module.model.reader.DependencyCheckerImpl; import info.magnolia.objectfactory.Components; -import info.magnolia.objectfactory.DefaultComponentProvider; import info.magnolia.objectfactory.configuration.ComponentConfiguration; import info.magnolia.objectfactory.configuration.ComponentProviderConfiguration; import info.magnolia.objectfactory.configuration.ComponentProviderConfigurationBuilder; @@ -78,6 +74,7 @@ import java.util.Map; import javax.jcr.ImportUUIDBehavior; +import javax.jcr.Node; import javax.jcr.RepositoryException; import org.apache.commons.io.FileUtils; @@ -110,7 +107,7 @@ public void setUp() throws Exception { // ignore mapping warnings - org.apache.log4j.Logger.getLogger(ContentRepository.class).setLevel(Level.ERROR); + org.apache.log4j.Logger.getLogger(RepositoryManager.class).setLevel(Level.ERROR); if (!this.getClass().isAnnotationPresent(RepositoryTestConfiguration.class)) { @@ -172,7 +169,8 @@ // if module is set it is stopped on tearDown for (ModuleConfiguration module : repositoryTestConfiguration.startModules()) { - ((ModuleLifecycle) ModuleRegistry.Factory.getInstance().getModuleInstance(module.name())).stop(null); + ((ModuleLifecycle) Components.getComponent(ModuleRegistry.class).getModuleInstance(module.name())) + .stop(null); } if (repositoryTestConfiguration.autostart()) @@ -185,33 +183,36 @@ logger.setLevel(Level.WARN); } MgnlContext.release(); - MgnlContext.getSystemContext().release(); - ContentRepository.shutdown(); + Components.getComponent(SystemContext.class).release(); + + Components.getComponent(RepositoryManager.class).shutdown(); if (true) { cleanUp(); } logger.setLevel(originalLogLevel); } - SystemProperty.getProperties().clear(); - // ComponentsTestUtil.clear(); - SystemProperty.getProperties().clear(); + ComponentsTestUtil.clear(); MgnlContext.setInstance(null); } // info.magnolia.test.MgnlTestCase.initDefaultImplementations() - private void initDefaultImplementations() throws IOException, ModuleManagementException { + private void initDefaultImplementations() throws IOException, ModuleManagementException + { final List<ModuleDefinition> modules = getModuleDefinitionsForTests(); final ModuleRegistry mr = new ModuleRegistryImpl(); - ModuleManagerImpl mm = new ModuleManagerImpl(null, new FixedModuleDefinitionReader(modules), mr, new DependencyCheckerImpl()); + ModuleManagerImpl mm = new ModuleManagerImpl( + null, + new FixedModuleDefinitionReader(modules), + mr, + new DependencyCheckerImpl()); mm.loadDefinitions(); final TestMagnoliaConfigurationProperties configurationProperties = new TestMagnoliaConfigurationProperties( - new ModulePropertiesSource(mr), - new ClasspathPropertySource("/test-magnolia.properties"), - new InitPathsPropertySource(new TestMagnoliaInitPaths()) - ); + new ModulePropertiesSource(mr), + new ClasspathPropertySource("/test-magnolia.properties"), + new InitPathsPropertySource(new TestMagnoliaInitPaths())); SystemProperty.setMagnoliaConfigurationProperties(configurationProperties); ComponentsTestUtil.setInstance(ModuleManager.class, mm); @@ -221,34 +222,50 @@ ComponentsTestUtil.setImplementation(RepositoryManager.class, DefaultRepositoryManager.class); ComponentProviderConfigurationBuilder configurationBuilder = new ComponentProviderConfigurationBuilder(); - ComponentProviderConfiguration configuration = configurationBuilder.getComponentsFromModules("system", mr.getModuleDefinitions()); + ComponentProviderConfiguration configuration = configurationBuilder.getComponentsFromModules( + "system", + mr.getModuleDefinitions()); configuration.combine(configurationBuilder.getComponentsFromModules("main", mr.getModuleDefinitions())); - // Content2BeanProcessorImpl uses dependency injection and since we don't have that with MockComponentProvider we + // Content2BeanProcessorImpl uses dependency injection and since we don't have that with MockComponentProvider + // we // need to manually create this object and replace the component configuration read from core.xml final TypeMappingImpl typeMapping = new TypeMappingImpl(); configuration.registerInstance(TypeMapping.class, typeMapping); configuration.registerInstance(Content2BeanProcessor.class, new Content2BeanProcessorImpl(typeMapping)); - for (Map.Entry<Class, ComponentConfiguration> entry : configuration.getComponents().entrySet()) { + for (Map.Entry<Class, ComponentConfiguration> entry : configuration.getComponents().entrySet()) + { ComponentConfiguration value = entry.getValue(); - if (value instanceof ImplementationConfiguration) { + if (value instanceof ImplementationConfiguration) + { ImplementationConfiguration config = (ImplementationConfiguration) value; ComponentsTestUtil.setImplementation(config.getType(), config.getImplementation()); - } else if (value instanceof InstanceConfiguration) { + } + else if (value instanceof InstanceConfiguration) + { InstanceConfiguration config = (InstanceConfiguration) value; ComponentsTestUtil.setInstance(config.getType(), config.getInstance()); - } else if (value instanceof ProviderConfiguration) { + } + else if (value instanceof ProviderConfiguration) + { ProviderConfiguration config = (ProviderConfiguration) value; ComponentsTestUtil.setImplementation(config.getType(), config.getProviderClass()); - } else if (value instanceof ConfiguredComponentConfiguration) { + } + else if (value instanceof ConfiguredComponentConfiguration) + { ConfiguredComponentConfiguration config = (ConfiguredComponentConfiguration) value; - ComponentsTestUtil.setConfigured(config.getType(), config.getWorkspace(), config.getPath(), config.isObserved()); + ComponentsTestUtil.setConfigured( + config.getType(), + config.getWorkspace(), + config.getPath(), + config.isObserved()); } } - for (Map.Entry<Class<?>, Class<?>> entry : configuration.getTypeMapping().entrySet()) { - ComponentsTestUtil.setImplementation((Class)entry.getKey(), (Class)entry.getValue()); + for (Map.Entry<Class< ? >, Class< ? >> entry : configuration.getTypeMapping().entrySet()) + { + ComponentsTestUtil.setImplementation((Class) entry.getKey(), (Class) entry.getValue()); } } @@ -256,8 +273,10 @@ /** * Override this method to provide the appropriate list of modules your tests need. */ - protected List<ModuleDefinition> getModuleDefinitionsForTests() throws ModuleManagementException { - final ModuleDefinition core = new BetwixtModuleDefinitionReader().readFromResource("/META-INF/magnolia/core.xml"); + protected List<ModuleDefinition> getModuleDefinitionsForTests() throws ModuleManagementException + { + final ModuleDefinition core = new BetwixtModuleDefinitionReader() + .readFromResource("/META-INF/magnolia/core.xml"); return Collections.singletonList(core); } @@ -294,7 +313,7 @@ protected void modifyContextesToUseRealRepository() { - SystemContext systemContext = MgnlContext.getSystemContext(); + SystemContext systemContext = Components.getComponent(SystemContext.class); RepositoryManager repositoryManager = Components.getComponent(RepositoryManager.class); SystemRepositoryStrategy repositoryStrategy = new SystemRepositoryStrategy(repositoryManager); @@ -312,9 +331,6 @@ logger.setLevel(Level.WARN); } - ContentRepository.REPOSITORY_USER = SystemProperty.getProperty("magnolia.connection.jcr.userId"); - ContentRepository.REPOSITORY_PSWD = SystemProperty.getProperty("magnolia.connection.jcr.password"); - InputStream repositoryConfigFileStream = ClasspathResourcesUtil .getResource(repositoryConfigFileName) .openStream(); @@ -333,7 +349,7 @@ IOUtils.closeQuietly(jackrabbitRepositoryConfigFileStream); - ContentRepository.init(); + Components.getComponent(RepositoryManager.class).init(); modifyContextesToUseRealRepository(); @@ -353,7 +369,8 @@ private void cleanUp() throws IOException { - FileUtils.deleteDirectory(new File(SystemProperty.getProperty("magnolia.repositories.home"))); + FileUtils.deleteDirectory(new File(Components.getComponent(MagnoliaConfigurationProperties.class).getProperty( + "magnolia.repositories.home"))); } /** @@ -393,15 +410,19 @@ * @param moduleClass ModuleClass * @throws Content2BeanException if the module configuration can't be successfully parsed. * @return module instance + * @throws RepositoryException */ protected ModuleLifecycle startModule(String modulename, Class< ? extends ModuleLifecycle> moduleClass) - throws Content2BeanException + throws Content2BeanException, RepositoryException { // register and start module - Content content = ContentUtil.getContent("config", "/modules/" + modulename + "/config"); - ModuleLifecycle module = (ModuleLifecycle) Content2BeanUtil.toBean(content, true, moduleClass); + Node node = MgnlContext.getJCRSession("config").getNode("/modules/" + modulename + "/config"); + ModuleLifecycle module = (ModuleLifecycle) Content2BeanUtil.toBean( + ContentUtil.asContent(node), + true, + moduleClass); module.start(null); - ModuleRegistry.Factory.getInstance().registerModuleInstance(modulename, module); + Components.getComponent(ModuleRegistry.class).registerModuleInstance(modulename, module); return module; } Modified: magnoliamodules/trunk/openutils-mgnltests/src/test/java/it/openutils/mgnlutils/test/junit/JUnitRepositoryTestcaseTest.java =================================================================== --- magnoliamodules/trunk/openutils-mgnltests/src/test/java/it/openutils/mgnlutils/test/junit/JUnitRepositoryTestcaseTest.java 2013-10-13 15:34:11 UTC (rev 4372) +++ magnoliamodules/trunk/openutils-mgnltests/src/test/java/it/openutils/mgnlutils/test/junit/JUnitRepositoryTestcaseTest.java 2013-10-13 15:57:34 UTC (rev 4373) @@ -19,17 +19,19 @@ package it.openutils.mgnlutils.test.junit; -import info.magnolia.cms.core.Content; -import info.magnolia.cms.core.HierarchyManager; import info.magnolia.context.MgnlContext; +import info.magnolia.jcr.util.NodeUtil; import info.magnolia.module.ModuleRegistry; +import info.magnolia.objectfactory.Components; import info.magnolia.repository.RepositoryConstants; import it.openutils.mgnlutils.test.JUnitRepositoryTestcase; import it.openutils.mgnlutils.test.ModuleConfiguration; import it.openutils.mgnlutils.test.RepositoryTestConfiguration; import it.openutils.mgnlutils.test.TestModule; +import javax.jcr.Node; import javax.jcr.RepositoryException; +import javax.jcr.Session; import org.junit.Assert; import org.junit.Test; @@ -45,26 +47,28 @@ @Test public void repositoryTestConfigurationTest() throws RepositoryException { - HierarchyManager hm = MgnlContext.getHierarchyManager(RepositoryConstants.WEBSITE); - Assert.assertNotNull(hm); - Content pets = hm.getContent("/pets"); + Session session = MgnlContext.getJCRSession(RepositoryConstants.WEBSITE); + Assert.assertNotNull(session); + + Node pets = session.getNode("/pets"); Assert.assertNotNull(pets); - Content letters = hm.getContent("/letters"); + Node letters = session.getNode("/letters"); Assert.assertNotNull(letters); - Assert.assertEquals(letters.getChildren().size(), 26); + Assert.assertEquals(NodeUtil.getCollectionFromNodeIterator(letters.getNodes()).size(), 26); } @Test public void moduleConfigAndStartTest() { - ModuleRegistry mr = ModuleRegistry.Factory.getInstance(); + ModuleRegistry mr = Components.getComponent(ModuleRegistry.class); + Assert.assertTrue(mr.getModuleNames().contains("testmodule")); - TestModule tm = (TestModule) ModuleRegistry.Factory.getInstance().getModuleInstance("testmodule"); + TestModule tm = (TestModule) Components.getComponent(ModuleRegistry.class).getModuleInstance("testmodule"); Assert.assertNotNull(tm); Assert.assertTrue(tm.isStarted()); Modified: magnoliamodules/trunk/openutils-mgnltests/src/test/java/it/openutils/mgnlutils/test/testng/TestNgRepositoryTestcaseTest.java =================================================================== --- magnoliamodules/trunk/openutils-mgnltests/src/test/java/it/openutils/mgnlutils/test/testng/TestNgRepositoryTestcaseTest.java 2013-10-13 15:34:11 UTC (rev 4372) +++ magnoliamodules/trunk/openutils-mgnltests/src/test/java/it/openutils/mgnlutils/test/testng/TestNgRepositoryTestcaseTest.java 2013-10-13 15:57:34 UTC (rev 4373) @@ -19,17 +19,19 @@ package it.openutils.mgnlutils.test.testng; -import info.magnolia.cms.core.Content; -import info.magnolia.cms.core.HierarchyManager; import info.magnolia.context.MgnlContext; +import info.magnolia.jcr.util.NodeUtil; import info.magnolia.module.ModuleRegistry; +import info.magnolia.objectfactory.Components; import info.magnolia.repository.RepositoryConstants; import it.openutils.mgnlutils.test.ModuleConfiguration; import it.openutils.mgnlutils.test.RepositoryTestConfiguration; import it.openutils.mgnlutils.test.TestModule; import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; +import javax.jcr.Node; import javax.jcr.RepositoryException; +import javax.jcr.Session; import org.testng.Assert; import org.testng.annotations.Test; @@ -45,26 +47,26 @@ @Test public void repositoryTestConfigurationTest() throws RepositoryException { - HierarchyManager hm = MgnlContext.getHierarchyManager(RepositoryConstants.WEBSITE); - Assert.assertNotNull(hm); + Session session = MgnlContext.getJCRSession(RepositoryConstants.WEBSITE); + Assert.assertNotNull(session); - Content pets = hm.getContent("/pets"); + Node pets = session.getNode("/pets"); Assert.assertNotNull(pets); - Content letters = hm.getContent("/letters"); + Node letters = session.getNode("/letters"); Assert.assertNotNull(letters); - Assert.assertEquals(letters.getChildren().size(), 26); + Assert.assertEquals(NodeUtil.getCollectionFromNodeIterator(letters.getNodes()).size(), 26); } @Test public void moduleConfigAndStartTest() { - ModuleRegistry mr = ModuleRegistry.Factory.getInstance(); + ModuleRegistry mr = Components.getComponent(ModuleRegistry.class); Assert.assertTrue(mr.getModuleNames().contains("testmodule")); - TestModule tm = (TestModule) ModuleRegistry.Factory.getInstance().getModuleInstance("testmodule"); + TestModule tm = (TestModule) mr.getModuleInstance("testmodule"); Assert.assertNotNull(tm); Assert.assertTrue(tm.isStarted()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |