use of org.hibernate.boot.archive.scan.internal.ScanResultCollector in project hibernate-orm by hibernate.
the class AbstractScannerImpl method scan.
@Override
public ScanResult scan(ScanEnvironment environment, ScanOptions options, ScanParameters parameters) {
final ScanResultCollector collector = new ScanResultCollector(environment, options, parameters);
if (environment.getNonRootUrls() != null) {
final ArchiveContext context = new ArchiveContextImpl(false, collector);
for (URL url : environment.getNonRootUrls()) {
final ArchiveDescriptor descriptor = buildArchiveDescriptor(url, environment, false);
descriptor.visitArchive(context);
}
}
if (environment.getRootUrl() != null) {
final ArchiveContext context = new ArchiveContextImpl(true, collector);
final ArchiveDescriptor descriptor = buildArchiveDescriptor(environment.getRootUrl(), environment, true);
descriptor.visitArchive(context);
}
return collector.toScanResult();
}
use of org.hibernate.boot.archive.scan.internal.ScanResultCollector in project hibernate-orm by hibernate.
the class JarVisitorTest method testNestedJarProtocol.
@Test
public void testNestedJarProtocol() throws Exception {
File defaultPar = buildDefaultPar();
File nestedEar = buildNestedEar(defaultPar);
File nestedEarDir = buildNestedEarDir(defaultPar);
addPackageToClasspath(nestedEar);
String jarFileName = nestedEar.toURL().toExternalForm() + "!/defaultpar.par";
URL rootUrl = new URL(jarFileName);
JarProtocolArchiveDescriptor archiveDescriptor = new JarProtocolArchiveDescriptor(StandardArchiveDescriptorFactory.INSTANCE, rootUrl, "");
ScanEnvironment environment = new ScanEnvironmentImpl(rootUrl);
ScanResultCollector collector = new ScanResultCollector(environment, new StandardScanOptions(), StandardScanParameters.INSTANCE);
archiveDescriptor.visitArchive(new AbstractScannerImpl.ArchiveContextImpl(true, collector));
validateResults(collector.toScanResult(), org.hibernate.jpa.test.pack.defaultpar.ApplicationServer.class, Version.class);
jarFileName = nestedEarDir.toURL().toExternalForm() + "!/defaultpar.par";
rootUrl = new URL(jarFileName);
archiveDescriptor = new JarProtocolArchiveDescriptor(StandardArchiveDescriptorFactory.INSTANCE, rootUrl, "");
environment = new ScanEnvironmentImpl(rootUrl);
collector = new ScanResultCollector(environment, new StandardScanOptions(), StandardScanParameters.INSTANCE);
archiveDescriptor.visitArchive(new AbstractScannerImpl.ArchiveContextImpl(true, collector));
validateResults(collector.toScanResult(), org.hibernate.jpa.test.pack.defaultpar.ApplicationServer.class, Version.class);
}
use of org.hibernate.boot.archive.scan.internal.ScanResultCollector in project hibernate-orm by hibernate.
the class JarVisitorTest method testJarProtocol.
@Test
public void testJarProtocol() throws Exception {
File war = buildWar();
addPackageToClasspath(war);
String jarFileName = war.toURL().toExternalForm() + "!/WEB-INF/classes";
URL rootUrl = new URL(jarFileName);
JarProtocolArchiveDescriptor archiveDescriptor = new JarProtocolArchiveDescriptor(StandardArchiveDescriptorFactory.INSTANCE, rootUrl, "");
final ScanEnvironment environment = new ScanEnvironmentImpl(rootUrl);
final ScanResultCollector collector = new ScanResultCollector(environment, new StandardScanOptions(), StandardScanParameters.INSTANCE);
archiveDescriptor.visitArchive(new AbstractScannerImpl.ArchiveContextImpl(true, collector));
validateResults(collector.toScanResult(), org.hibernate.jpa.test.pack.war.ApplicationServer.class, org.hibernate.jpa.test.pack.war.Version.class);
}
Aggregations