Search in sources :

Example 1 with ExecutorServiceFactory

use of org.jbehave.core.embedder.executors.ExecutorServiceFactory in project jbehave-core by jbehave.

the class AbstractEmbedderMojo method newEmbedder.

/**
 * Creates an instance of Embedder, either using
 * {@link #injectableEmbedderClass} (if set) or defaulting to
 * {@link #embedderClass}.
 *
 * @return An Embedder
 */
protected Embedder newEmbedder() {
    Embedder embedder = null;
    EmbedderClassLoader classLoader = classLoader();
    if (injectableEmbedderClass != null) {
        embedder = classLoader.newInstance(InjectableEmbedder.class, injectableEmbedderClass).injectedEmbedder();
    } else {
        embedder = classLoader.newInstance(Embedder.class, embedderClass);
    }
    URL codeLocation = codeLocation();
    if (codeLocation != null) {
        embedder.configuration().storyReporterBuilder().withCodeLocation(codeLocation);
    }
    embedder.useClassLoader(classLoader);
    embedder.useEmbedderControls(embedderControls());
    if (executorsClass != null) {
        ExecutorServiceFactory executorServiceFactory = classLoader.newInstance(ExecutorServiceFactory.class, executorsClass);
        embedder.useExecutorService(executorServiceFactory.create(embedder.embedderControls()));
    }
    embedder.useEmbedderMonitor(embedderMonitor());
    if (isNotEmpty(metaFilters)) {
        List<String> filters = new ArrayList<>();
        for (String filter : metaFilters) {
            if (filter != null) {
                filters.add(filter);
            }
        }
        embedder.useMetaFilters(filters);
    }
    if (!systemProperties.isEmpty()) {
        embedder.useSystemProperties(systemProperties);
    }
    return embedder;
}
Also used : EmbedderClassLoader(org.jbehave.core.embedder.EmbedderClassLoader) ArrayList(java.util.ArrayList) Embedder(org.jbehave.core.embedder.Embedder) ConfigurableEmbedder(org.jbehave.core.ConfigurableEmbedder) InjectableEmbedder(org.jbehave.core.InjectableEmbedder) URL(java.net.URL) ExecutorServiceFactory(org.jbehave.core.embedder.executors.ExecutorServiceFactory)

Example 2 with ExecutorServiceFactory

use of org.jbehave.core.embedder.executors.ExecutorServiceFactory in project jbehave-core by jbehave.

the class AbstractEmbedderTask method newEmbedder.

/**
 * Creates an instance of Embedder, either using
 * {@link #injectableEmbedderClass} (if set) or defaulting to
 * {@link #embedderClass}.
 *
 * @return An Embedder
 */
protected Embedder newEmbedder() {
    Embedder embedder = null;
    EmbedderClassLoader classLoader = classLoader();
    if (injectableEmbedderClass != null) {
        embedder = classLoader.newInstance(InjectableEmbedder.class, injectableEmbedderClass).injectedEmbedder();
    } else {
        embedder = classLoader.newInstance(Embedder.class, embedderClass);
    }
    URL codeLocation = codeLocation();
    if (codeLocation != null) {
        embedder.configuration().storyReporterBuilder().withCodeLocation(codeLocation);
    }
    embedder.useClassLoader(classLoader);
    embedder.useEmbedderControls(embedderControls());
    if (executorsClass != null) {
        ExecutorServiceFactory executorServiceFactory = classLoader.newInstance(ExecutorServiceFactory.class, executorsClass);
        embedder.useExecutorService(executorServiceFactory.create(embedder.embedderControls()));
    }
    embedder.useEmbedderMonitor(embedderMonitor());
    if (!metaFilters.isEmpty()) {
        embedder.useMetaFilters(metaFilters);
    }
    if (!systemProperties.isEmpty()) {
        embedder.useSystemProperties(systemProperties);
    }
    return embedder;
}
Also used : EmbedderClassLoader(org.jbehave.core.embedder.EmbedderClassLoader) Embedder(org.jbehave.core.embedder.Embedder) ConfigurableEmbedder(org.jbehave.core.ConfigurableEmbedder) InjectableEmbedder(org.jbehave.core.InjectableEmbedder) URL(java.net.URL) ExecutorServiceFactory(org.jbehave.core.embedder.executors.ExecutorServiceFactory)

Aggregations

URL (java.net.URL)2 ConfigurableEmbedder (org.jbehave.core.ConfigurableEmbedder)2 InjectableEmbedder (org.jbehave.core.InjectableEmbedder)2 Embedder (org.jbehave.core.embedder.Embedder)2 EmbedderClassLoader (org.jbehave.core.embedder.EmbedderClassLoader)2 ExecutorServiceFactory (org.jbehave.core.embedder.executors.ExecutorServiceFactory)2 ArrayList (java.util.ArrayList)1