public static Archive archive(ClassLoader loader, URL location) { if (location.getProtocol().equals("jar")) { return new JarArchive(loader, location); } else if (location.getProtocol().equals("file")) { try { // See if it's actually a jar URL jarUrl = new URL("jar", "", location.toExternalForm() + "!/"); JarURLConnection juc = (JarURLConnection) jarUrl.openConnection(); juc.getJarFile(); return new JarArchive(loader, jarUrl); } catch (IOException e) { return new FileArchive(loader, location); } } throw new UnsupportedOperationException("unsupported archive type: " + location); }
public static Archive archive(ClassLoader loader, URL location) { if (location.getProtocol().equals("jar")) { return new JarArchive(loader, location); } else if (location.getProtocol().equals("file")) { try { // See if it's actually a jar URL jarUrl = new URL("jar", "", location.toExternalForm() + "!/"); JarURLConnection juc = (JarURLConnection) jarUrl.openConnection(); juc.getJarFile(); return new JarArchive(loader, jarUrl); } catch (IOException e) { return new FileArchive(loader, location); } } throw new UnsupportedOperationException("unsupported archive type: " + location); }
public static Archive archive(ClassLoader loader, URL location) { if (location.getProtocol().equals("jar")) { return new JarArchive(loader, location); } else if (location.getProtocol().equals("file")) { try { // See if it's actually a jar URL jarUrl = new URL("jar", "", location.toExternalForm() + "!/"); JarURLConnection juc = (JarURLConnection) jarUrl.openConnection(); juc.getJarFile(); return new JarArchive(loader, jarUrl); } catch (IOException e) { return new FileArchive(loader, location); } } throw new UnsupportedOperationException("unsupported archive type: " + location); }
private static IAnnotationFinder finderFromClasses(final DeploymentModule module, final Class<?>[] value, final Collection<File> others) { final Collection<Archive> archives = new ArrayList<Archive>(1 + (others == null ? 0 : others.size())); final Collection<Class<?>> classes = new ArrayList<Class<?>>(asList(FinderFactory.ensureMinimalClasses(module))); if (value != null) { classes.addAll(asList(value)); } archives.add(new ClassesArchive(classes)); if (others != null) { final ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); for (final File f : others) { try { archives.add(new JarArchive(classLoader, f.toURI().toURL())); } catch (final MalformedURLException e) { throw new IllegalArgumentException(e); } } } return new FinderFactory.OpenEJBAnnotationFinder(new CompositeArchive(archives)).link(); }
final ClassLoader loader = Thread.currentThread().getContextClassLoader(); final AnnotationFinder finder = new AnnotationFinder( api.isDirectory() ? new FileArchive(loader, api) : new JarArchive(loader, api.toURI().toURL())); final ParameterExtensionEnricher enricher = new UiParameterEnricher(); try (final Jsonb jsonb = newJsonb()) {
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(); } }
private static IAnnotationFinder finderFromClasses(final DeploymentModule module, final Class<?>[] value, final Collection<File> others, final String[] excludes) { final Collection<Archive> archives = new ArrayList<>(1 + (others == null ? 0 : others.size())); final Filter filter = excludes == null || excludes.length == 0 ? null : Filters.invert(Filters.prefixes(excludes)); final Collection<Class<?>> classes = new ArrayList<>(asList(FinderFactory.ensureMinimalClasses(module))); if (value != null) { classes.addAll(asList(value)); } final ClassesArchive classesArchive = new ClassesArchive(classes); archives.add(filter == null ? classesArchive : new FilteredArchive(classesArchive, filter)); if (others != null) { final ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); for (final File f : others) { try { final Archive archive = f.isDirectory() ? new FileArchive(classLoader, f) : new JarArchive(classLoader, f.toURI().toURL()); archives.add(filter == null ? archive : new FilteredArchive(archive, filter)); } catch (final MalformedURLException e) { throw new IllegalArgumentException(e); } } } return new FinderFactory.OpenEJBAnnotationFinder(new CompositeArchive(archives)).link(); }
try (final Jsonb jsonb = newJsonb()) { final AnnotationFinder finder = new AnnotationFinder( api.isDirectory() ? new FileArchive(loader, api) : new JarArchive(loader, api.toURI().toURL())); finder .findAnnotatedClasses(Condition.class)
final ConfigurationTypeParameterEnricher enricher = new ConfigurationTypeParameterEnricher(); final AnnotationFinder finder = new AnnotationFinder( api.isDirectory() ? new FileArchive(loader, api) : new JarArchive(loader, api.toURI().toURL())); try (final Jsonb jsonb = newJsonb()) { finder
final ClassLoader loader = Thread.currentThread().getContextClassLoader(); final AnnotationFinder finder = new AnnotationFinder( api.isDirectory() ? new FileArchive(loader, api) : new JarArchive(loader, api.toURI().toURL())); final ValidationParameterEnricher enricher = new ValidationParameterEnricher(); try (final Jsonb jsonb = newJsonb()) {
final ClassLoader loader = Thread.currentThread().getContextClassLoader(); final AnnotationFinder finder = new AnnotationFinder( api.isDirectory() ? new FileArchive(loader, api) : new JarArchive(loader, api.toURI().toURL())); try (final Jsonb jsonb = newJsonb()) { finder
for (final URL url : DeploymentLoader.filterWebappUrls(additionalPaths.toArray(new URL[additionalPaths.size()]), null)) { final List<String> currentClasses = new ArrayList<String>(); final org.apache.xbean.finder.archive.Archive newArchive = new FilteredArchive(new JarArchive(cl, url), new WebappAggregatedArchive.ScanXmlSaverFilter(false, null, currentClasses)); classesByUrl.put(url, currentClasses); archives.add(newArchive);
consume(new FilteredArchive(new JarArchive(loader, url), capturedClasses)); break; case "file":
final FinderFactory.OpenEJBAnnotationFinder finder = new FinderFactory.OpenEJBAnnotationFinder(new JarArchive(loader, url)); mergedModel.getManagedClasses().put(url, finder.getAnnotatedClassNames());
final List<String> classes = new ArrayList<String>(); archives.add(new FilteredArchive( new JarArchive(parent, url), new WebappAggregatedArchive.ScanXmlSaverFilter(false, null, classes, null))); additionalPaths.add(url);
file.isDirectory() ? new FileArchive(Thread.currentThread().getContextClassLoader(), file) : new JarArchive(Thread.currentThread().getContextClassLoader(), file.toURI().toURL()), false);
final AnnotationFinder finder = new AnnotationFinder( new FilteredArchive( jar.isDirectory() ? new FileArchive(scanningLoader, jar) : new JarArchive(scanningLoader, jar.toURI().toURL()), Filters.packages("com.tomitribe.tribestream.container"))) .link();
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; }