Search in sources :

Example 81 with Reflections

use of org.reflections.Reflections in project swagger-core by swagger-api.

the class ReflectiveJaxrsScanner method getReflections.

protected Reflections getReflections() {
    if (reflections == null) {
        ConfigurationBuilder config = new ConfigurationBuilder();
        acceptablePackages = new HashSet<String>();
        if (resourcePackage != "") {
            String[] parts = resourcePackage.split(",");
            for (String pkg : parts) {
                if (!"".equals(pkg)) {
                    acceptablePackages.add(pkg);
                    config.addUrls(ClasspathHelper.forPackage(pkg));
                }
            }
        }
        config.setScanners(new ResourcesScanner(), new TypeAnnotationsScanner(), new SubTypesScanner());
        this.reflections = new Reflections(config);
    }
    return this.reflections;
}
Also used : ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) SubTypesScanner(org.reflections.scanners.SubTypesScanner) TypeAnnotationsScanner(org.reflections.scanners.TypeAnnotationsScanner) ResourcesScanner(org.reflections.scanners.ResourcesScanner) Reflections(org.reflections.Reflections)

Example 82 with Reflections

use of org.reflections.Reflections in project ninja by ninjaframework.

the class JaxyRoutes method configureReflections.

private void configureReflections() {
    ConfigurationBuilder builder = new ConfigurationBuilder();
    Set<URL> packagesToScan = getPackagesToScanForRoutes();
    builder.addUrls(packagesToScan);
    builder.addScanners(new MethodAnnotationsScanner());
    reflections = new Reflections(builder);
}
Also used : ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) MethodAnnotationsScanner(org.reflections.scanners.MethodAnnotationsScanner) URL(java.net.URL) Reflections(org.reflections.Reflections)

Example 83 with Reflections

use of org.reflections.Reflections in project jstructure by JonStargaryen.

the class FeatureProviderRegistry method scanForFeatureProviders.

private void scanForFeatureProviders() {
    Reflections reflections = new Reflections("de.bioforscher");
    Set<Class<?>> annotatedFeatureProviders = reflections.getTypesAnnotatedWith(FeatureProvider.class);
    for (Class<?> annotatedFeatureProvider : annotatedFeatureProviders) {
        FeatureProvider annotation = annotatedFeatureProvider.getDeclaredAnnotation(FeatureProvider.class);
        logger.info("registering provider {} with priority {}", annotatedFeatureProvider.getSimpleName(), annotation.priority());
        for (Class<? extends FeatureContainerEntry> providedFeature : annotation.provides()) {
            TreeMap<Integer, AbstractFeatureProvider> providers = registeredFeatureProviders.getOrDefault(providedFeature, new TreeMap<>());
            try {
                int priority = annotation.priority();
                if (providers.containsKey(priority)) {
                    providers.put(priority, (AbstractFeatureProvider) annotatedFeatureProvider.newInstance());
                } else {
                    // decrease priority to dodge duplicates, as only 1 would be registered
                    while (providers.containsKey(priority)) {
                        priority++;
                    }
                    providers.put(priority, (AbstractFeatureProvider) annotatedFeatureProvider.newInstance());
                }
            } catch (InstantiationException | IllegalAccessException e) {
                throw new InstantiationError("could not create instance of feature provider " + annotatedFeatureProvider.getSimpleName());
            }
            registeredFeatureProviders.put(providedFeature, providers);
        }
    }
}
Also used : Reflections(org.reflections.Reflections)

Example 84 with Reflections

use of org.reflections.Reflections in project asterixdb by apache.

the class ExceptionTest method test.

@Test
public void test() throws Exception {
    // Tests all usual type computers.
    Reflections reflections = new Reflections("org.apache.asterix.om.typecomputer", new SubTypesScanner(false));
    Set<Class<? extends IResultTypeComputer>> classes = reflections.getSubTypesOf(IResultTypeComputer.class);
    int numTypeComputers = 0;
    for (Class<? extends IResultTypeComputer> c : classes) {
        if (Modifier.isAbstract(c.getModifiers())) {
            continue;
        }
        testTypeComputer(c);
        ++numTypeComputers;
    }
    // Currently, there are 83 type computers.
    Assert.assertTrue(numTypeComputers >= 83);
}
Also used : IResultTypeComputer(org.apache.asterix.om.typecomputer.base.IResultTypeComputer) SubTypesScanner(org.reflections.scanners.SubTypesScanner) Reflections(org.reflections.Reflections) Test(org.junit.Test)

Example 85 with Reflections

use of org.reflections.Reflections in project asterixdb by apache.

the class TypeComputerTest method test.

@Test
public void test() throws Exception {
    // Several exceptional type computers.
    Set<String> exceptionalTypeComputers = new HashSet<>();
    exceptionalTypeComputers.add("InjectFailureTypeComputer");
    exceptionalTypeComputers.add("RecordAddFieldsTypeComputer");
    exceptionalTypeComputers.add("OpenRecordConstructorResultType");
    exceptionalTypeComputers.add("RecordRemoveFieldsTypeComputer");
    exceptionalTypeComputers.add("ClosedRecordConstructorResultType");
    exceptionalTypeComputers.add("LocalAvgTypeComputer");
    exceptionalTypeComputers.add("BooleanOnlyTypeComputer");
    exceptionalTypeComputers.add("AMissingTypeComputer");
    exceptionalTypeComputers.add("NullableDoubleTypeComputer");
    exceptionalTypeComputers.add("RecordMergeTypeComputer");
    exceptionalTypeComputers.add("BooleanOrMissingTypeComputer");
    // Tests all usual type computers.
    Reflections reflections = new Reflections("org.apache.asterix.om.typecomputer", new SubTypesScanner(false));
    Set<Class<? extends IResultTypeComputer>> classes = reflections.getSubTypesOf(IResultTypeComputer.class);
    for (Class<? extends IResultTypeComputer> c : classes) {
        if (exceptionalTypeComputers.contains(c.getSimpleName()) || Modifier.isAbstract(c.getModifiers())) {
            continue;
        }
        System.out.println("Test type computer: " + c.getName());
        Assert.assertTrue(testTypeComputer(c));
    }
}
Also used : IResultTypeComputer(org.apache.asterix.om.typecomputer.base.IResultTypeComputer) SubTypesScanner(org.reflections.scanners.SubTypesScanner) HashSet(java.util.HashSet) Reflections(org.reflections.Reflections) Test(org.junit.Test)

Aggregations

Reflections (org.reflections.Reflections)160 ConfigurationBuilder (org.reflections.util.ConfigurationBuilder)54 SubTypesScanner (org.reflections.scanners.SubTypesScanner)41 ArrayList (java.util.ArrayList)26 Set (java.util.Set)23 ResourcesScanner (org.reflections.scanners.ResourcesScanner)21 Test (org.junit.Test)20 FilterBuilder (org.reflections.util.FilterBuilder)20 HashSet (java.util.HashSet)19 URL (java.net.URL)18 TypeAnnotationsScanner (org.reflections.scanners.TypeAnnotationsScanner)18 IOException (java.io.IOException)17 Collectors (java.util.stream.Collectors)17 Method (java.lang.reflect.Method)16 List (java.util.List)15 File (java.io.File)13 InputStream (java.io.InputStream)9 Field (java.lang.reflect.Field)9 MethodAnnotationsScanner (org.reflections.scanners.MethodAnnotationsScanner)9 ClasspathHelper (org.reflections.util.ClasspathHelper)9