private static void generatedJUnitEnvironment(final File generatedDir) throws MalformedURLException { final File file = new File(generatedDir, "generated_junit-environments.adoc"); try (final PrintStream stream = new PrintStream(new WriteIfDifferentStream(file))) { stream.println(); stream.println("NOTE: the configuration is read from system properties, environment variables, ...."); stream.println(); final File api = jarLocation(BaseEnvironmentProvider.class); final ClassLoader loader = Thread.currentThread().getContextClassLoader(); final AnnotationFinder finder = new AnnotationFinder( api.isDirectory() ? new FileArchive(loader, api) : new JarArchive(loader, api.toURI().toURL())); finder .link() .findSubclasses(BaseEnvironmentProvider.class) .stream() .filter(c -> !Modifier.isAbstract(c.getModifiers())) .sorted(Comparator.comparing(Class::getName)) .forEach(type -> { final BaseEnvironmentProvider environment; try { environment = BaseEnvironmentProvider.class.cast(type.getConstructor().newInstance()); } catch (final InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) { throw new IllegalStateException(e); } stream.println(environment.getName() + ":: " + "__class: " + type.getSimpleName() + "_. "); }); stream.println(); } }
ejbModule.setFinder(new AnnotationFinder(new ClassesArchive(beans)).link()); ejbModule.setBeans(new Beans()); appModule.getEjbModules().add(ejbModule); ejbModule.setFinder(new AnnotationFinder(new ClassesArchive(bean)).link()); ejbModule.setBeans(new Beans()); appModule.getEjbModules().add(ejbModule); ejbModule.setFinder(new AnnotationFinder((Archive) obj).link()); ejbModule.setBeans(new Beans()); appModule.getEjbModules().add(ejbModule);
jar.isDirectory() ? new FileArchive(scanningLoader, jar) : new JarArchive(scanningLoader, jar.toURI().toURL()), Filters.packages("com.tomitribe.tribestream.container"))) .link(); module.setFinder(finder);
ejbModule.setFinder(new AnnotationFinder(new ClassesArchive(beans)).link()); ejbModule.setBeans(new Beans()); appModule.getEjbModules().add(ejbModule); ejbModule.setFinder(new AnnotationFinder(new ClassesArchive(bean)).link()); ejbModule.setBeans(new Beans()); appModule.getEjbModules().add(ejbModule); ejbModule.setFinder(new AnnotationFinder((Archive) obj).link()); ejbModule.setBeans(new Beans()); appModule.getEjbModules().add(ejbModule);
private AppModule createTribestreamNotificationCoreModule() { final ClassLoader loader = ParentClassLoaderFinder.Helper.get(); final EjbModule module = new EjbModule(new EjbJar(moduleName), new OpenejbJar()); // activate CDI final Beans beans = new Beans(); beans.addManagedClass(AlterPersisterObserver.class); module.setBeans(beans); // find all from current jar final File jar = JarLocation.jarLocation(Installer.class); try { module.setFinder(new AnnotationFinder( new FilteredArchive( jar.isDirectory() ? new FileArchive(loader, jar) : new JarArchive(loader, jar.toURI().toURL()), Filters.packages("com.tomitribe.tribestream.notifications.core"))) .link()); } catch (final MalformedURLException e) { throw new IllegalStateException(e); } // add unit for persistence final PersistenceUnit unit = new PersistenceUnit(unitName); unit.setJtaDataSource(dataSourceName); unit.setNonJtaDataSource(dataSourceName + "NonJta"); unit.addClass(Alert.class); unit.setExcludeUnlistedClasses(true); unit.setProperty("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)"); // here we are, assemble eveything final AppModule appModule = new AppModule(module); appModule.addPersistenceModule(new PersistenceModule("", new Persistence(unit))); return appModule; }
private AppModule createTribestreamCoreModule() { final ClassLoader loader = ParentClassLoaderFinder.Helper.get(); final EjbModule module = new EjbModule(new EjbJar(moduleName), new OpenejbJar()); // activate CDI final Beans beans = new Beans(); module.setBeans(beans); // find all from current jar final File jar = JarLocation.jarLocation(SignaturesService.class); try { module.setFinder(new AnnotationFinder( new FilteredArchive( jar.isDirectory() ? new FileArchive(loader, jar) : new JarArchive(loader, jar.toURI().toURL()), Filters.packages("com.tomitribe.tribestream.security.signatures"))) .link()); } catch (final MalformedURLException e) { throw new IllegalStateException(e); } // add unit for persistence final PersistenceUnit unit = new PersistenceUnit(unitName); unit.setJtaDataSource(dataSourceName); unit.setNonJtaDataSource(dataSourceName + "NonJta"); unit.addClass(KeyId.class); unit.addClass(Key.class); unit.setExcludeUnlistedClasses(true); unit.setProperty("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)"); // here we are, assemble everything final AppModule appModule = new AppModule(module); appModule.addPersistenceModule(new PersistenceModule("", new Persistence(unit))); return appModule; }