public static <T> List<T> loadServiceImplementations(Class<T> serviceType) { return loadServiceImplementations(serviceType, false); }
public static <T> List<T> loadServiceImplementations(Class<T> serviceType) { return loadServiceImplementations(serviceType, false); }
public static <T> List<T> loadServiceImplementations(Class<T> serviceType) { return loadServiceImplementations(serviceType, false); }
private static List<ConfigSource> resolveConfigSources() { List<ConfigSource> appConfigSources = ServiceUtils.loadServiceImplementations(ConfigSource.class); List<ConfigSourceProvider> configSourceProviderServiceLoader = ServiceUtils.loadServiceImplementations(ConfigSourceProvider.class); for (ConfigSourceProvider configSourceProvider : configSourceProviderServiceLoader) { appConfigSources.addAll(configSourceProvider.getConfigSources()); } return appConfigSources; }
protected void init(@Observes BeforeBeanDiscovery beforeBeanDiscovery) { isActivated = ClassDeactivationUtils.isActivated(getClass()); mockFilters = ServiceUtils.loadServiceImplementations(MockFilter.class); }
/** * Looks up a unique service implementation. * * @return ProxyClassGenerator service */ public static DeltaSpikeProxyClassGenerator lookup() { if (generator == null) { List<DeltaSpikeProxyClassGenerator> proxyClassGeneratorList = ServiceUtils.loadServiceImplementations(DeltaSpikeProxyClassGenerator.class); if (proxyClassGeneratorList.size() != 1) { throw new IllegalStateException(proxyClassGeneratorList.size() + " implementations of " + DeltaSpikeProxyClassGenerator.class.getName() + " found. Expected exactly one implementation."); } generator = proxyClassGeneratorList.get(0); } return generator; } }
private void loadGlobalAlternativeConfigs() { List<AlternativeBeanClassProvider> alternativeBeanClassProviders = new ArrayList<AlternativeBeanClassProvider>(); //add the default implementation first (if enabled), to give custom implementations a higher priority //(they can replace mappings defined by the default implementation) if (ClassDeactivationUtils.isActivated(LabelAwareGlobalAlternativeBeanClassProvider.class)) { alternativeBeanClassProviders.add(new LabelAwareGlobalAlternativeBeanClassProvider()); } alternativeBeanClassProviders.addAll( ServiceUtils.loadServiceImplementations(AlternativeBeanClassProvider.class)); for (AlternativeBeanClassProvider currentProvider : alternativeBeanClassProviders) { Map<String, String> alternativeBeanMappings = currentProvider.getAlternativeMapping(); globalAlternatives.putAll(alternativeBeanMappings); } }
protected void processConfigurationValidation(AfterDeploymentValidation adv) { for (ConfigValidator configValidator : ServiceUtils.loadServiceImplementations(ConfigValidator.class)) { Set<String> violations = configValidator.processValidation(); if (violations == null) { continue; } for (String violation : violations) { adv.addDeploymentProblem(new IllegalStateException(violation)); } } }
private static List<ClassDeactivator> initConfiguredClassDeactivators(ClassLoader classLoader) if (!ServiceUtils.loadServiceImplementations(ClassDeactivator.class).isEmpty())
/** * Performs all the initialisation of the default * ConfigSources, ConfigFilters, etc */ void init() { List<ConfigSource> appConfigSources = ServiceUtils.loadServiceImplementations(ConfigSource.class, false, classLoader); List<ConfigSourceProvider> configSourceProviderServiceLoader = ServiceUtils.loadServiceImplementations(ConfigSourceProvider.class, false, classLoader); for (ConfigSourceProvider configSourceProvider : configSourceProviderServiceLoader) { appConfigSources.addAll(configSourceProvider.getConfigSources()); } addConfigSources(appConfigSources); if (LOG.isLoggable(Level.FINE)) { for (ConfigSource cs : appConfigSources) { LOG.log(Level.FINE, "Adding ordinal {0} ConfigSource {1}", new Object[]{cs.getOrdinal(), cs.getConfigName()}); } } List<ConfigFilter> configFilters = ServiceUtils.loadServiceImplementations(ConfigFilter.class, false, classLoader); this.configFilters = new CopyOnWriteArrayList<>(configFilters); }
private static List<ClassDeactivator> initConfiguredClassDeactivators(ClassLoader classLoader) if (!ServiceUtils.loadServiceImplementations(ClassDeactivator.class).isEmpty())
private void initScheduler(AfterBeanDiscovery afterBeanDiscovery) { List<Scheduler> availableSchedulers = ServiceUtils.loadServiceImplementations(Scheduler.class, true); this.scheduler = findScheduler(availableSchedulers, this.jobClass); if (this.scheduler != null) { try { this.scheduler.start(); } catch (Throwable t) { afterBeanDiscovery.addDefinitionError(t); } } else if (!this.foundManagedJobClasses.isEmpty()) { LOG.warning( this.foundManagedJobClasses.size() + " scheduling-jobs found, but there is no configured scheduler"); } }
public static <T> List<T> loadServiceImplementations(Class<T> serviceType, boolean ignoreServicesWithMissingDependencies, ClassLoader classLoader) { List<T> result = new ArrayList<T>(); Iterator<T> servicesIterator; if (classLoader != null) { servicesIterator = ServiceLoader.load(serviceType, classLoader).iterator(); } else { servicesIterator = ServiceLoader.load(serviceType).iterator(); } if (!servicesIterator.hasNext()) { ClassLoader fallbackClassLoader = ServiceUtils.class.getClassLoader(); servicesIterator = ServiceLoader.load(serviceType, fallbackClassLoader).iterator(); } while (servicesIterator.hasNext()) { try { T service = servicesIterator.next(); if (service instanceof Deactivatable && !ClassDeactivationUtils.isActivated((Class<? extends Deactivatable>) service.getClass()))
public CdiTestRunner(Class<?> testClass) throws InitializationError { super(testClass); TestControl testControl = testClass.getAnnotation(TestControl.class); this.testContext = new ContainerAwareTestContext(testControl, null); //benefits from the fallback-handling in ContainerAwareTestContext Class<? extends Handler> logHandlerClass = this.testContext.getLogHandlerClass(); if (!Handler.class.equals(logHandlerClass)) { try { LOGGER.addHandler(logHandlerClass.newInstance()); } catch (Exception e) { throw ExceptionUtils.throwAsRuntimeException(e); } } this.statementDecoratorFactories = ServiceUtils.loadServiceImplementations(TestStatementDecoratorFactory.class); Collections.sort(this.statementDecoratorFactories, new Comparator<TestStatementDecoratorFactory>() { @Override public int compare(TestStatementDecoratorFactory f1, TestStatementDecoratorFactory f2) { return f1.getOrdinal() > f2.getOrdinal() ? 1 : -1; } }); }
public static <T> List<T> loadServiceImplementations(Class<T> serviceType, boolean ignoreServicesWithMissingDependencies, ClassLoader classLoader) { List<T> result = new ArrayList<T>(); Iterator<T> servicesIterator; if (classLoader != null) { servicesIterator = ServiceLoader.load(serviceType, classLoader).iterator(); } else { servicesIterator = ServiceLoader.load(serviceType).iterator(); } if (!servicesIterator.hasNext()) { ClassLoader fallbackClassLoader = ServiceUtils.class.getClassLoader(); servicesIterator = ServiceLoader.load(serviceType, fallbackClassLoader).iterator(); } while (servicesIterator.hasNext()) { try { T service = servicesIterator.next(); if (service instanceof Deactivatable && !ClassDeactivationUtils.isActivated((Class<? extends Deactivatable>) service.getClass()))
ServiceUtils.loadServiceImplementations(ExternalContainer.class); Collections.sort(configuredExternalContainers, new Comparator<ExternalContainer>() { @Override
ServiceUtils.loadServiceImplementations(ExternalContainer.class); Collections.sort(configuredExternalContainers, new Comparator<ExternalContainer>()
/** * Load all {@link PropertyFileConfig}s which are registered via * {@code java.util.ServiceLoader}. */ private void registerPropertyFileConfigs() { List<? extends PropertyFileConfig> propertyFileConfigs = ServiceUtils.loadServiceImplementations(PropertyFileConfig.class); for (PropertyFileConfig propertyFileConfig : propertyFileConfigs) { EnvironmentPropertyConfigSourceProvider environmentPropertyConfigSourceProvider = new EnvironmentPropertyConfigSourceProvider(propertyFileConfig.getPropertyFileName(), propertyFileConfig.isOptional()); configSources.addAll(environmentPropertyConfigSourceProvider.getConfigSources()); } }
@Test public void lookupOfSpiImplementations() { //exclude it due to an issue with the arquillian-adapter for owb 1.1.x and 1.2.0 Assume.assumeTrue(!CdiContainerUnderTest.is(CONTAINER_OWB_1_1_x) && !CdiContainerUnderTest.is(CONTAINER_OWB_1_2_0)); Assert.assertTrue(ServiceUtils.loadServiceImplementations(MyInterface.class).iterator().hasNext()); Assert.assertNotNull(ServiceUtils.loadServiceImplementations(MyInterface.class)); Assert.assertFalse(ServiceUtils.loadServiceImplementations(MyInterface.class).isEmpty()); Assert.assertEquals(1, ServiceUtils.loadServiceImplementations(MyInterface.class).size()); Assert.assertEquals( "test", ServiceUtils.loadServiceImplementations(MyInterface.class).iterator().next().getValue()); } }
ServiceUtils.loadServiceImplementations(TestControlValidator.class);