private synchronized StagedExamReactor prepareReactor() throws Exception { ConfigurationManager cm = new ConfigurationManager(); String systemType = cm.getProperty(Constants.EXAM_SYSTEM_KEY); if (Constants.EXAM_SYSTEM_DEFAULT.equals(systemType)) { m_system = DefaultExamSystem.create(new Option[0]); } else { m_system = PaxExamRuntime.createTestSystem(); } Class<?> testClass = getTestClass().getJavaClass(); Object testClassInstance = testClass.newInstance(); ExamReactor reactor = getReactor(testClass); addConfigurationsToReactor(reactor, testClass, testClassInstance); addTestsToReactor(reactor, testClass, testClassInstance); return reactor.stage(getFactory(testClass)); }
@Configuration public Option[] config() { final ConfigurationManager cm = new ConfigurationManager(); final String fcrepoPort = cm.getProperty("fcrepo.dynamic.test.port"); final String jmsPort = cm.getProperty("fcrepo.dynamic.jms.port"); final String reindexingPort = cm.getProperty("fcrepo.dynamic.reindexing.port"); final String rmiRegistryPort = cm.getProperty("karaf.rmiRegistry.port"); final String rmiServerPort = cm.getProperty("karaf.rmiServer.port"); final String sshPort = cm.getProperty("karaf.ssh.port"); final String fcrepoBaseUrl = "localhost:" + fcrepoPort + "/fcrepo/rest"; final String version = cm.getProperty("project.version"); final String fcrepoAudit = getBundleUri("fcrepo-audit-triplestore", version); final String fcrepoFixity = getBundleUri("fcrepo-fixity", version); final String fcrepoReindexing = getBundleUri("fcrepo-reindexing", version); final String fcrepoSerialization = getBundleUri("fcrepo-serialization", version); final String fcrepoIndexingSolr = getBundleUri("fcrepo-indexing-solr", version); final String fcrepoIndexingTriplestore = getBundleUri("fcrepo-indexing-triplestore", version); final String fcrepoServiceAmq = getBundleUri("fcrepo-service-activemq", version); final String fcrepoService = getBundleUri("fcrepo-service-camel", version); return new Option[] { karafDistributionConfiguration() .frameworkUrl( maven() .groupId("org.apache.karaf") .artifactId("apache-karaf") .versionAsInProject() .type("zip")) .unpackDirectory(new File("target", "exam")) .useDeployFolder(false), logLevel(LogLevel.WARN), keepRuntimeFolder(), configureConsole().ignoreLocalConsole(), features( maven() .groupId("org.apache.karaf.features") .artifactId("standard") .versionAsInProject() .classifier("features") .type("xml"), "scr"), features( maven() .groupId("org.apache.camel.karaf") .artifactId("apache-camel") .type("xml") .classifier("features") .versionAsInProject(), "camel-mustache", "camel-blueprint", "camel-http4", "camel-spring", "camel-exec", "camel-jetty9", "camel-jacksonxml"), features( maven() .groupId("org.apache.activemq") .artifactId("activemq-karaf") .type("xml") .classifier("features") .versionAsInProject(), "activemq-camel"), features( maven() .groupId("org.fcrepo.camel") .artifactId("fcrepo-camel") .type("xml") .classifier("features") .versionAsInProject(), "fcrepo-camel"), mavenBundle() .groupId("org.codehaus.woodstox") .artifactId("woodstox-core-asl") .versionAsInProject(), CoreOptions.systemProperty("o.f.c.serialization-bundle").value(fcrepoSerialization), CoreOptions.systemProperty("o.f.c.fixity-bundle").value(fcrepoFixity), CoreOptions.systemProperty("o.f.c.reindexing-bundle").value(fcrepoReindexing), CoreOptions.systemProperty("o.f.c.a.triplestore-bundle").value(fcrepoAudit), CoreOptions.systemProperty("o.f.c.i.triplestore-bundle").value(fcrepoIndexingTriplestore), CoreOptions.systemProperty("o.f.c.i.solr-bundle").value(fcrepoIndexingSolr), CoreOptions.systemProperty("o.f.c.s.activemq-bundle").value(fcrepoServiceAmq), CoreOptions.systemProperty("o.f.c.s.camel-bundle").value(fcrepoService), bundle(fcrepoAudit).start(), bundle(fcrepoIndexingSolr).start(), bundle(fcrepoIndexingTriplestore).start(), bundle(fcrepoFixity).start(), bundle(fcrepoSerialization).start(), bundle(fcrepoReindexing).start(), bundle(fcrepoServiceAmq).start(), bundle(fcrepoService).start(), CoreOptions.systemProperty("fcrepo.port").value(fcrepoPort), CoreOptions.systemProperty("karaf.reindexing.port").value(reindexingPort), editConfigurationFilePut( "etc/org.apache.karaf.management.cfg", "rmiRegistryPort", rmiRegistryPort), editConfigurationFilePut( "etc/org.apache.karaf.management.cfg", "rmiServerPort", rmiServerPort), editConfigurationFilePut("etc/org.apache.karaf.shell.cfg", "sshPort", sshPort), editConfigurationFilePut( "etc/org.fcrepo.camel.serialization.cfg", "serialization.descriptions", "data/tmp/descriptions"), editConfigurationFilePut("etc/org.fcrepo.camel.reindexing.cfg", "rest.port", reindexingPort), editConfigurationFilePut("etc/org.fcrepo.camel.service.cfg", "fcrepo.baseUrl", fcrepoBaseUrl), editConfigurationFilePut( "etc/org.fcrepo.camel.service.activemq.cfg", "jms.brokerUrl", "tcp://localhost:" + jmsPort), editConfigurationFilePut( "etc/org.ops4j.pax.logging.cfg", "log4j.logger.org.apache.camel.impl.converter", "ERROR, stdout") }; }