/** * Build a PathFilter for a set of filter paths * * @param filterPaths the set of paths to filter on. * Can be null to indicate that no filters should be applied (accept all), * can be empty to indicate that everything should be filtered (reject all). * @param failedMatchValue the value the PathFilter returns when a path does not match. * @return a PathFilter. */ private static PathFilter buildFilters(Set<String> filterPaths, boolean failedMatchValue) { if (filterPaths == null) return PathFilters.acceptAll(); else if (filterPaths.isEmpty()) { return PathFilters.rejectAll(); } else { MultiplePathFilterBuilder builder = PathFilters.multiplePathFilterBuilder(failedMatchValue); for (String importPathGlob : filterPaths) builder.addFilter(PathFilters.match(importPathGlob), !failedMatchValue); return builder.create(); } } }
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); while (reader.hasNext()) { switch (reader.nextTag()) {
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); while (reader.hasNext()) { switch (reader.nextTag()) {
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); while (reader.hasNext()) { switch (reader.nextTag()) {
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); while (reader.hasNext()) { switch (reader.nextTag()) {
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); while (reader.hasNext()) { switch (reader.nextTag()) {
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); while (reader.hasNext()) { switch (reader.nextTag()) {
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); while (reader.hasNext()) { switch (reader.nextTag()) {
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); int eventType; for (;;) {
final MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(export); int eventType; while ((eventType = reader.nextTag()) != END_DOCUMENT) {
MultiplePathFilterBuilder importBuilder = PathFilters.multiplePathFilterBuilder(true); for (FilterSpecification filter : moduleDep.getImportFilters()) { importBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(true); for (FilterSpecification filter : moduleDep.getExportFilters()) { importBuilder.addFilter(filter.getPathFilter(), filter.isInclude());
MultiplePathFilterBuilder importBuilder = PathFilters.multiplePathFilterBuilder(true); for (FilterSpecification filter : moduleDep.getImportFilters()) { importBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); MultiplePathFilterBuilder exportBuilder = PathFilters.multiplePathFilterBuilder(true); for (FilterSpecification filter : moduleDep.getExportFilters()) { importBuilder.addFilter(filter.getPathFilter(), filter.isInclude());
private void addResourceRoot(final ModuleSpec.Builder specBuilder, final ResourceRoot resource, final List<PermissionFactory> permFactories) throws DeploymentUnitProcessingException { try { final VirtualFile root = resource.getRoot(); if (resource.getExportFilters().isEmpty()) { specBuilder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(new VFSResourceLoader(resource .getRootName(), root, resource.isUsePhysicalCodeSource()))); } else { final MultiplePathFilterBuilder filterBuilder = PathFilters.multiplePathFilterBuilder(true); for (final FilterSpecification filter : resource.getExportFilters()) { filterBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); } specBuilder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(new VFSResourceLoader(resource .getRootName(), root, resource.isUsePhysicalCodeSource()), filterBuilder.create())); } permFactories.add(new ImmediatePermissionFactory( new VirtualFilePermission(root.getChild("-").getPathName(), VirtualFilePermission.FLAG_READ))); } catch (IOException e) { throw ServerMessages.MESSAGES.failedToCreateVFSResourceLoader(resource.getRootName(), e); } }
private void addResourceRoot(final ModuleSpec.Builder specBuilder, final ResourceRoot resource, final List<PermissionFactory> permFactories) throws DeploymentUnitProcessingException { try { final VirtualFile root = resource.getRoot(); if (resource.getExportFilters().isEmpty()) { specBuilder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(new VFSResourceLoader(resource .getRootName(), root, resource.isUsePhysicalCodeSource()))); } else { final MultiplePathFilterBuilder filterBuilder = PathFilters.multiplePathFilterBuilder(true); for (final FilterSpecification filter : resource.getExportFilters()) { filterBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); } specBuilder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(new VFSResourceLoader(resource .getRootName(), root, resource.isUsePhysicalCodeSource()), filterBuilder.create())); } // start with the root permFactories.add(new ImmediatePermissionFactory( new VirtualFilePermission(root.getPathName(), VirtualFilePermission.FLAG_READ))); // also include all children, recursively permFactories.add(new ImmediatePermissionFactory( new VirtualFilePermission(root.getChild("-").getPathName(), VirtualFilePermission.FLAG_READ))); } catch (IOException e) { throw ServerLogger.ROOT_LOGGER.failedToCreateVFSResourceLoader(resource.getRootName(), e); } }
private void addResourceRoot(final ModuleSpec.Builder specBuilder, final ResourceRoot resource) throws DeploymentUnitProcessingException { try { if (resource.getExportFilters().isEmpty()) { specBuilder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(new VFSResourceLoader(resource .getRootName(), resource.getRoot(), resource.isUsePhysicalCodeSource()))); } else { final MultiplePathFilterBuilder filterBuilder = PathFilters.multiplePathFilterBuilder(true); for (final FilterSpecification filter : resource.getExportFilters()) { filterBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); } specBuilder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(new VFSResourceLoader(resource .getRootName(), resource.getRoot(), resource.isUsePhysicalCodeSource()), filterBuilder.create())); } } catch (IOException e) { throw ServerMessages.MESSAGES.failedToCreateVFSResourceLoader(resource.getRootName(), e); } }
final PathFilter importFilter; final PathFilter exportFilter; final MultiplePathFilterBuilder importBuilder = PathFilters.multiplePathFilterBuilder(true); for (final FilterSpecification filter : importFilters) { importBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); .multiplePathFilterBuilder(export); for (final FilterSpecification filter : exportFilters) { exportBuilder.addFilter(filter.getPathFilter(), filter.isInclude());
private void addResourceRoot(final ModuleSpec.Builder specBuilder, final ResourceRoot resource, final List<PermissionFactory> permFactories) throws DeploymentUnitProcessingException { try { final VirtualFile root = resource.getRoot(); if (resource.getExportFilters().isEmpty()) { specBuilder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(new VFSResourceLoader(resource .getRootName(), root, resource.isUsePhysicalCodeSource()))); } else { final MultiplePathFilterBuilder filterBuilder = PathFilters.multiplePathFilterBuilder(true); for (final FilterSpecification filter : resource.getExportFilters()) { filterBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); } specBuilder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(new VFSResourceLoader(resource .getRootName(), root, resource.isUsePhysicalCodeSource()), filterBuilder.create())); } // start with the root permFactories.add(new ImmediatePermissionFactory( new VirtualFilePermission(root.getPathName(), VirtualFilePermission.FLAG_READ))); // also include all children, recursively permFactories.add(new ImmediatePermissionFactory( new VirtualFilePermission(root.getChild("-").getPathName(), VirtualFilePermission.FLAG_READ))); } catch (IOException e) { throw ServerLogger.ROOT_LOGGER.failedToCreateVFSResourceLoader(resource.getRootName(), e); } }
final PathFilter importFilter; final PathFilter exportFilter; final MultiplePathFilterBuilder importBuilder = PathFilters.multiplePathFilterBuilder(true); for (final FilterSpecification filter : importFilters) { importBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); .multiplePathFilterBuilder(export); for (final FilterSpecification filter : exportFilters) { exportBuilder.addFilter(filter.getPathFilter(), filter.isInclude());
final PathFilter importFilter; final PathFilter exportFilter; final MultiplePathFilterBuilder importBuilder = PathFilters.multiplePathFilterBuilder(true); for (final FilterSpecification filter : importFilters) { importBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); .multiplePathFilterBuilder(export); for (final FilterSpecification filter : exportFilters) { exportBuilder.addFilter(filter.getPathFilter(), filter.isInclude());
final PathFilter importFilter; final PathFilter exportFilter; final MultiplePathFilterBuilder importBuilder = PathFilters.multiplePathFilterBuilder(true); for (final FilterSpecification filter : importFilters) { importBuilder.addFilter(filter.getPathFilter(), filter.isInclude()); .multiplePathFilterBuilder(export); for (final FilterSpecification filter : exportFilters) { exportBuilder.addFilter(filter.getPathFilter(), filter.isInclude());