org.apache.jackrabbit.vault.fs.api.WorkspaceFilter.getFilterSets()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(83)

本文整理了Java中org.apache.jackrabbit.vault.fs.api.WorkspaceFilter.getFilterSets()方法的一些代码示例,展示了WorkspaceFilter.getFilterSets()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WorkspaceFilter.getFilterSets()方法的具体详情如下:
包路径:org.apache.jackrabbit.vault.fs.api.WorkspaceFilter
类名称:WorkspaceFilter
方法名:getFilterSets

WorkspaceFilter.getFilterSets介绍

[英]Returns a list of path filter sets for node items.
[中]返回节点项的路径筛选器集列表。

代码示例

代码示例来源:origin: net.adamcin.granite/granite-client-packman

public static WspFilter adaptWorkspaceFilter(WorkspaceFilter filter) {
  List<Root> roots = new ArrayList<Root>();
  for (PathFilterSet filterSet : filter.getFilterSets()) {
    roots.add(adaptFilterSet(filterSet));
  }
  return new WspFilter(roots);
}

代码示例来源:origin: nateyolles/publick-sling-blog

public static String[] getPaths(MetaInf metaInf) {
  if (metaInf == null) {
    return null;
  }
  WorkspaceFilter filter = metaInf.getFilter();
  if (filter == null) {
    filter = new DefaultWorkspaceFilter();
  }
  List<PathFilterSet> filterSets = filter.getFilterSets();
  String[] paths = new String[filterSets.size()];
  for (int i = 0; i < paths.length; i++) {
    paths[i] = filterSets.get(i).getRoot();
  }
  return paths;
}

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

/**
 * Detects the package type based on the workspace filter.
 * @param filter the workspace filter
 * @return the package type
 */
private static PackageType detectPackageType(WorkspaceFilter filter)  {
  boolean hasApps = false;
  boolean hasOther = false;
  for (PathFilterSet p: filter.getFilterSets()) {
    if ("cleanup".equals(p.getType())) {
      continue;
    }
    String root = p.getRoot();
    if ("/apps".equals(root) || root.startsWith("/apps/") || "/libs".equals(root) || root.startsWith("/libs/")) {
      hasApps = true;
    } else {
      hasOther = true;
    }
  }
  if (hasApps && !hasOther) {
    return PackageType.APPLICATION;
  } else if (hasOther && !hasApps) {
    return PackageType.CONTENT;
  }
  return PackageType.MIXED;
}

代码示例来源:origin: org.apache.sling/org.apache.sling.distribution.core

public static String[] getPaths(MetaInf metaInf) {
  if (metaInf == null) {
    return null;
  }
  WorkspaceFilter filter = metaInf.getFilter();
  if (filter == null) {
    filter = new DefaultWorkspaceFilter();
  }
  List<PathFilterSet> filterSets = filter.getFilterSets();
  String[] paths = new String[filterSets.size()];
  for (int i = 0; i < paths.length; i++) {
    paths[i] = filterSets.get(i).getRoot();
  }
  return paths;
}

代码示例来源:origin: Adobe-Consulting-Services/acs-aem-commons

/**
 * {@inheritDoc}
 */
public String getSuccessJSON(final JcrPackage jcrPackage) throws RepositoryException {
  final JsonObject json = new JsonObject();
  json.addProperty(KEY_STATUS, "success");
  json.addProperty(KEY_PATH, jcrPackage.getNode().getPath());
  JsonArray filterSetsArray = new JsonArray();
  json.add(KEY_FILTER_SETS, filterSetsArray);
  final List<PathFilterSet> filterSets = jcrPackage.getDefinition().getMetaInf().getFilter().getFilterSets();
  for (final PathFilterSet filterSet : filterSets) {
    final JsonObject jsonFilterSet = new JsonObject();
    jsonFilterSet.addProperty(KEY_IMPORT_MODE, filterSet.getImportMode().name());
    jsonFilterSet.addProperty(KEY_ROOT_PATH, filterSet.getRoot());
    filterSetsArray.add(jsonFilterSet);
  }
  return json.toString();
}

代码示例来源:origin: org.apache.sling/org.apache.sling.distribution.core

String root = getPackageRoot(filter.getFilterSets(), packageRoots);
opts.setRootPath(root);
opts.setMountPath(root);

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

public static void saveLegacyFilter(WorkspaceFilter filter, Node defNode, boolean save)
    throws RepositoryException {
  // delete all nodes first
  for (NodeIterator iter = defNode.getNodes(); iter.hasNext();) {
  iter.nextNode().remove();
  }
  int nr = 0;
  for (PathFilterSet set: filter.getFilterSets()) {
    Node setNode = defNode.addNode("f" + nr);
    setNode.setProperty(JcrPackageDefinitionImpl.PN_ROOT, set.getRoot());
    int eNr = 0;
    for (ItemFilterSet.Entry e: set.getEntries()) {
      // expect path filter
      if (!(e.getFilter() instanceof DefaultPathFilter)) {
        throw new IllegalArgumentException("Can only handle default path filters.");
      }
      Node eNode = setNode.addNode("f" + eNr);
      eNode.setProperty(JcrPackageDefinitionImpl.PN_TYPE, e.isInclude() ? "include" : "exclude");
      eNode.setProperty(JcrPackageDefinitionImpl.PN_PATTERN, ((DefaultPathFilter) e.getFilter()).getPattern());
      eNr++;
    }
    nr++;
  }
  if (save) {
    defNode.getSession().save();
  }
}

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

public static void saveFilter(WorkspaceFilter filter, Node defNode, boolean save)
    throws RepositoryException {
  if (defNode.hasNode(JcrPackageDefinitionImpl.NN_FILTER)) {
    defNode.getNode(JcrPackageDefinitionImpl.NN_FILTER).remove();
  }
  Node filterNode = defNode.addNode(JcrPackageDefinitionImpl.NN_FILTER);
  int nr = 0;
  for (PathFilterSet set: filter.getFilterSets()) {
    Node setNode = filterNode.addNode("f" + nr);
    setNode.setProperty(JcrPackageDefinitionImpl.PN_ROOT, set.getRoot());
    setNode.setProperty(JcrPackageDefinitionImpl.PN_MODE, set.getImportMode().name().toLowerCase());
    List<String> rules = new LinkedList<String>();
    for (ItemFilterSet.Entry e: set.getEntries()) {
      // expect path filter
      if (!(e.getFilter() instanceof DefaultPathFilter)) {
        throw new IllegalArgumentException("Can only handle default path filters.");
      }
      String type = e.isInclude() ? "include" : "exclude";
      String patt = ((DefaultPathFilter) e.getFilter()).getPattern();
      rules.add(type + ":" + patt);
    }
    setNode.setProperty(JcrPackageDefinitionImpl.PN_RULES, rules.toArray(new String[rules.size()]));
    nr++;
  }
  if (save) {
    defNode.getSession().save();
  }
}

代码示例来源:origin: net.adamcin.granite/granite-client-packman

protected static ValidationResult checkForbiddenFilterRootPrefix(ValidationOptions options, VaultPackage pack) {
  List<String> forbiddenFilterRootPrefixes = options.getForbiddenFilterRootPrefixes();
  if (forbiddenFilterRootPrefixes != null) {
    for (String rootPrefix : forbiddenFilterRootPrefixes) {
      String trimmed = rootPrefix.trim();
      if (trimmed.isEmpty()) {
        continue;
      }
      final String noTrailingSlash = trimmed.replaceAll("/*$", "").replaceAll("^/*", "/");
      final String withTrailingSlash = noTrailingSlash.replaceAll("/*$", "/");
      for (PathFilterSet filterSet : pack.getMetaInf().getFilter().getFilterSets()) {
        if (filterSet.getRoot().equals(noTrailingSlash)
            || filterSet.getRoot().startsWith(withTrailingSlash)) {
          WspFilter.Root invalidRoot = WspFilter.adaptFilterSet(filterSet);
          return ValidationResult.forbiddenRootPrefix(rootPrefix, invalidRoot);
        }
      }
    }
  }
  return ValidationResult.success();
}

代码示例来源:origin: net.adamcin.oakpal/oakpal-core

@Override
  public void beforeExtract(final PackageId packageId, final Session inspectSession,
               final PackageProperties packageProperties, final MetaInf metaInf,
               final List<PackageId> subpackages) throws RepositoryException {
    final WorkspaceFilter filter = metaInf.getFilter();
    if (filter == null || filter.getFilterSets().isEmpty()) {
      if (!allowEmptyFilter) {
        reportViolation(Violation.Severity.MAJOR,
            "empty workspace filter is not allowed", packageId);
      }
    } else {
      for (PathFilterSet filterSet : filter.getFilterSets()) {
        if (filterSet.getImportMode() != ImportMode.REPLACE) {
          reportViolation(importModeSeverity,
              String.format("non-default import mode %s defined for filterSet with root %s",
                  filterSet.getImportMode(), filterSet.getRoot()),
              packageId);
        }
        if (!allowRootFilter && "/".equals(filterSet.getRoot())) {
          reportViolation(Violation.Severity.MAJOR,
              "root filter sets are not allowed", packageId);
        }
      }
    }
  }
}

代码示例来源:origin: nateyolles/publick-sling-blog

public static ExportOptions getExportOptions(WorkspaceFilter filter, String[] packageRoots,
                       String packageGroup,
                       String packageName,
                       String packageVersion) {
  DefaultMetaInf inf = new DefaultMetaInf();
  ExportOptions opts = new ExportOptions();
  inf.setFilter(filter);
  Properties props = new Properties();
  props.setProperty(VaultPackage.NAME_GROUP, packageGroup);
  props.setProperty(VaultPackage.NAME_NAME, packageName);
  props.setProperty(VaultPackage.NAME_VERSION, packageVersion);
  inf.setProperties(props);
  opts.setMetaInf(inf);
  String root = getPackageRoot(filter.getFilterSets(), packageRoots);
  opts.setRootPath(root);
  opts.setMountPath(root);
  return opts;
}

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

for (PathFilterSet sets: filter.getFilterSets()) {
  String rootPath = sets.getRoot();

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

ser.startElement(null, null, TAG_REGISTRY_METADATA, attrs);
if (filter != null && !filter.getFilterSets().isEmpty()) {
  ser.startElement(null, null, TAG_WORKSPACEFILTER, null);
  for (PathFilterSet pfs : filter.getFilterSets()) {
    attrs = new AttributesImpl();
    attrs.addAttribute(null, null, ATTR_ROOT, "CDATA", pfs.getRoot());

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

for (PathFilterSet root : pkg.getArchive().getMetaInf().getFilter().getFilterSets()) {

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

if (filter == null || filter.getFilterSets().isEmpty()) {
  log.info("Refusing to create snapshot {} due to empty filters", id);
  return null;
for (PathFilterSet set: filter.getFilterSets()) {
  if (("".equals(set.getRoot()) || "/".equals(set.getRoot())) && set.getEntries().isEmpty()) {
    log.info("Refusing to create snapshot {} due to / only filter", id);

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

PackageId id = new PackageId(group, name, version);
Set<String> rts = new HashSet<String>();
for (PathFilterSet p: filter.getFilterSets()) {
  rts.add(p.getRoot());

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

for (PathFilterSet root: a.getMetaInf().getFilter().getFilterSets()) {

代码示例来源:origin: org.apache.jackrabbit.vault/org.apache.jackrabbit.vault

for (PathFilterSet set: filter.getFilterSets()) {
  filterTree.put(set.getRoot(), set);
if (filter!=null && filter.getFilterSets() != null && filter.getFilterSets().size() > 0 ) {
  root = postFilter(root);

相关文章