use of org.jboss.vfs.VirtualFile in project wildfly by wildfly.
the class EarMetaDataParsingProcessor method handleSpecMetadata.
private EarMetaData handleSpecMetadata(VirtualFile deploymentFile, final PropertyReplacer propertyReplacer) throws DeploymentUnitProcessingException {
final VirtualFile applicationXmlFile = deploymentFile.getChild(APPLICATION_XML);
if (!applicationXmlFile.exists()) {
return null;
}
InputStream inputStream = null;
try {
inputStream = applicationXmlFile.openStream();
final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
inputFactory.setXMLResolver(NoopXMLResolver.create());
XMLStreamReader xmlReader = inputFactory.createXMLStreamReader(inputStream);
return EarMetaDataParser.INSTANCE.parse(xmlReader, propertyReplacer);
} catch (Exception e) {
throw EeLogger.ROOT_LOGGER.failedToParse(e, applicationXmlFile);
} finally {
VFSUtils.safeClose(inputStream);
}
}
use of org.jboss.vfs.VirtualFile in project wildfly by wildfly.
the class ScannerTest method testExplodedJar.
@Test
public void testExplodedJar() throws Exception {
File explodedPar = buildExplodedPar();
addPackageToClasspath(explodedPar);
String dirPath = explodedPar.getAbsolutePath();
if (dirPath.endsWith("/")) {
dirPath = dirPath.substring(0, dirPath.length() - 1);
}
final VirtualFile virtualFile = VFS.getChild(dirPath);
ArchiveDescriptor archiveDescriptor = VirtualFileSystemArchiveDescriptorFactory.INSTANCE.buildArchiveDescriptor(virtualFile.toURL());
AbstractScannerImpl.ResultCollector resultCollector = new AbstractScannerImpl.ResultCollector(new StandardScanOptions());
archiveDescriptor.visitArchive(new AbstractScannerImpl.ArchiveContextImpl(new PersistenceUnitDescriptorAdapter(), true, resultCollector));
assertEquals(1, resultCollector.getClassDescriptorSet().size());
assertEquals(1, resultCollector.getPackageDescriptorSet().size());
assertEquals(1, resultCollector.getMappingFileSet().size());
assertTrue(resultCollector.getClassDescriptorSet().contains(new ClassDescriptorImpl(Carpet.class.getName(), null)));
for (MappingFileDescriptor mappingFileDescriptor : resultCollector.getMappingFileSet()) {
assertNotNull(mappingFileDescriptor.getStreamAccess());
final InputStream stream = mappingFileDescriptor.getStreamAccess().accessInputStream();
assertNotNull(stream);
stream.close();
}
}
use of org.jboss.vfs.VirtualFile in project wildfly by wildfly.
the class VirtualFileSystemArchiveDescriptor method processVirtualFile.
private void processVirtualFile(VirtualFile virtualFile, String path, ArchiveContext archiveContext) {
if (path == null) {
path = "";
} else {
if (!path.endsWith("/'")) {
path = path + "/";
}
}
for (VirtualFile child : virtualFile.getChildren()) {
if (!child.exists()) {
// should never happen conceptually, but...
continue;
}
if (child.isDirectory()) {
processVirtualFile(child, path + child.getName(), archiveContext);
continue;
}
final String name = child.getPathName();
final String relativeName = path + child.getName();
final InputStreamAccess inputStreamAccess = new VirtualFileInputStreamAccess(name, child);
final ArchiveEntry entry = new ArchiveEntry() {
@Override
public String getName() {
return name;
}
@Override
public String getNameWithinArchive() {
return relativeName;
}
@Override
public InputStreamAccess getStreamAccess() {
return inputStreamAccess;
}
};
archiveContext.obtainArchiveEntryHandler(entry).handleEntry(entry, archiveContext);
}
}
use of org.jboss.vfs.VirtualFile in project wildfly by wildfly.
the class CollectFiles method execute.
@Override
public void execute() throws Exception {
VirtualFile root = VFS.getChild(this.env.getJbossHome());
List<VirtualFile> matches = root.getChildrenRecursively(Filters.and(this.filter, this.blacklistFilter));
// get some limit on that set, which probably would be wrong.
if (sorter != null) {
Collections.sort(matches, sorter);
}
// limit how much data we collect
Limiter limiter = new Limiter(limit);
Iterator<VirtualFile> iter = matches.iterator();
while (iter.hasNext() && !limiter.isDone()) {
VirtualFile f = iter.next();
InputStream stream = limiter.limit(f);
for (Sanitizer sanitizer : this.sanitizers) {
if (sanitizer.accepts(f)) {
stream = sanitizer.sanitize(stream);
}
}
this.env.getZip().add(f, stream);
Utils.safelyClose(stream);
}
}
use of org.jboss.vfs.VirtualFile in project wildfly by wildfly.
the class JdrTestCase method testWildcardFilterPrefixGlob.
@Test
public void testWildcardFilterPrefixGlob() throws Exception {
VirtualFileFilter filter = Filters.wildcard("*.txt");
VirtualFile good = VFS.getChild("/this/is/a/test.txt");
VirtualFile bad = VFS.getChild("/this/is/a/test.xml");
VirtualFile wingood = VFS.getChild("/C:/this/is/a/test.txt");
VirtualFile winbad = VFS.getChild("/C:/this/is/a/test.xml");
assertTrue(filter.accepts(good));
assertFalse(filter.accepts(bad));
assertTrue(filter.accepts(wingood));
assertFalse(filter.accepts(winbad));
}
Aggregations