List of usage examples for org.hibernate.boot.archive.spi ArchiveDescriptor visitArchive
public void visitArchive(ArchiveContext archiveContext);
From source file:de.micromata.genome.jpa.impl.JpaWithExtLibrariesScanner.java
License:Apache License
@Override public ScanResult scan(ScanEnvironment environment, ScanOptions options, ScanParameters parameters) { ScanResultCollector collector = new ScanResultCollector(environment, options, parameters); if (environment.getNonRootUrls() != null) { ArchiveContext context = new ArchiveContextImpl(false, collector); for (URL url : environment.getNonRootUrls()) { ArchiveDescriptor descriptor = buildArchiveDescriptor(url, false); descriptor.visitArchive(context); }//from w w w . ja v a 2 s.c om } Set<URL> loadedUrls = new HashSet<>(); if (environment.getRootUrl() != null) { URL rootUrl = environment.getRootUrl(); visitUrl(rootUrl, collector, CommonMatchers.always()); } visitExternUrls(environment, collector, loadedUrls); return collector.toScanResult(); }
From source file:de.micromata.genome.jpa.impl.JpaWithExtLibrariesScanner.java
License:Apache License
protected void visitUrl(URL url, ScanResultCollector collector, Matcher<String> urlMatcher) { if (urlMatcher.match(url.toString()) == false) { return;/* ww w .j a v a2s. c o m*/ } ArchiveContext context = new ArchiveContextImpl(true, collector); String surl = url.toString(); if (surl.contains("!") && surl.startsWith("jar:") == false) { String customUrlStr = url.toString(); customUrlStr = "jar:" + customUrlStr; log.info("Custom URL: " + customUrlStr); try { URL customUrl = new URL(customUrlStr); ArchiveDescriptor descriptor = buildArchiveDescriptor(customUrl, true); descriptor.visitArchive(context); } catch (MalformedURLException e) { log.error("Error while getting custom URL: " + customUrlStr); } } else { final ArchiveDescriptor descriptor = buildArchiveDescriptor(url, true); descriptor.visitArchive(context); handleClassManifestClassPath(url, collector, urlMatcher); } }