/** * @see org.apache.sling.api.resource.Resource#getChildren() */ @Override public Iterable<Resource> getChildren() { return getResource().getChildren(); }
@Override protected void describeMismatchSafely(Resource item, Description mismatchDescription) { // the default would be something like ".. but item 0 was <Resource.toString()>" // use the iterable matcher here instead iterarableMatcher.describeMismatch(item.getChildren(), mismatchDescription); }
/** * @see org.apache.sling.api.resource.AbstractResource#getChildren() */ @Override public Iterable<Resource> getChildren() { return this.getActiveResource().getChildren(); }
/** * Wrap a real resource and create a synthetic resource out of it. * @param resource Real resource * @param valueMap Properties to use instead of the real properties * @return Resource */ public static Resource wrap(@NotNull Resource resource, @NotNull ValueMap valueMap) { return wrap(resource, valueMap, resource.getChildren()); }
/** * @return list of all the Payloads in the PayloadGroup. */ public List<Payload> getPayloads() { List<Payload> payloads = new ArrayList<Payload>(); for (Resource r : resource.getChildren()) { Payload payload = r.adaptTo(Payload.class); if (payload != null) { payloads.add(payload); } } return payloads; }
@PostConstruct private void readErrors() { Resource failuresRoot = resource.getChild("failures"); if (failuresRoot != null && failuresRoot.hasChildren()) { List<ArchivedProcessFailure> failures = new ArrayList<>(); failuresRoot.getChildren().forEach(step-> step.getChildren().forEach(f -> failures.add(f.adaptTo(ArchivedProcessFailure.class)) ) ); setReportedErrors(failures); } }
/** * Wrap a real resource and create a synthetic resource out of it. * @param resource Real resource * @return Resource */ public static Resource wrap(@NotNull Resource resource) { return wrap(resource, resource.getValueMap(), resource.getChildren()); }
@Override public Iterable<Resource> getFormElements(Resource resource) { final List<Resource> list = new ArrayList<>(); if (isFormContainer(resource)) { for (Resource child : resource.getChildren()) { filterFormElements(child, list); } } return list; }
private <T> Map<String, T> getChildrenModels(@Nonnull SlingHttpServletRequest request, @Nonnull Class<T> modelClass) { Map<String, T> models = new LinkedHashMap<>(); for (Resource child : slingModelFilter.filterChildResources(resource.getChildren())) { T model = modelFactory.getModelFromWrappedRequest(request, child, modelClass); if (model != null) { models.put(child.getName(), model); } } return models; } }
public List<Rendition> getRenditions(Asset asset) { Resource renditions = frozenResource.getChild(RENDITIONS_PATH); if (renditions == null) { return Lists.newArrayList(); } List<Rendition> rv = Lists.newArrayList(); for (Resource r : renditions.getChildren()) { rv.add(getRendition(asset, r.getName())); } return rv; }
/** * @return the next payload eligible for processing. null if none exist. */ public Payload getNextPayload() { for (Resource r : resource.getChildren()) { Payload payload = r.adaptTo(Payload.class); if (payload != null && !payload.isOnboarded()) { return payload; } } return null; }
protected void removeExistingChildren(Resource parent) throws PersistenceException { final ResourceResolver resourceResolver = parent.getResourceResolver(); for (Resource resource : parent.getChildren()) { resourceResolver.delete(resource); } } }
/** * @return the next payload eligible for processing. null if none exist. */ public Payload getNextPayload() { for (Resource r : resource.getChildren()) { Payload payload = r.adaptTo(Payload.class); if (payload != null && !payload.isOnboarded()) { return payload; } } return null; }
@Override public List<DistributionConfiguration> getConfigs(ResourceResolver resolver, DistributionComponentKind kind) { List<DistributionConfiguration> configurations = new ArrayList<DistributionConfiguration>(); Resource configRoot = resolver.getResource(configRootPath); if (configRoot == null) { return new ArrayList<DistributionConfiguration>(); } for (Resource configResource : configRoot.getChildren()) { Map<String, Object> configMap = getFilteredMap(configResource); configurations.add(new DistributionConfiguration(kind, configResource.getName(), configMap)); } return configurations; }
private void filterFormElements(Resource resource, List<Resource> list) { if (isFormResource(resource) && !isButtonElement(resource)) { list.add(resource); } else { for (Resource child : resource.getChildren()) { filterFormElements(child, list); } } }
private Collection<Resource> getSortedAndFilteredFolders(Resource folderResource) { final Collection<Resource> sortedCollection = new TreeSet(new WorkflowInstanceFolderComparator()); for (Resource folder : folderResource.getChildren()) { // Only process sling:Folders; eg. skip rep:Policy, serverN folders if (folder.isResourceType(NT_SLING_FOLDER) && !isWorkflowServerFolder(folder)) { sortedCollection.add(folder); } } return sortedCollection; }
private Collection<Resource> getSortedAndFilteredFolders(Resource folderResource) { final Collection<Resource> sortedCollection = new TreeSet(new WorkflowInstanceFolderComparator()); for (Resource folder : folderResource.getChildren()) { // Only process sling:Folders; eg. skip rep:Policy, serverN folders if (folder.isResourceType(NT_SLING_FOLDER) && !isWorkflowServerFolder(folder)) { sortedCollection.add(folder); } } return sortedCollection; }
public void delete(final Resource rsrc) throws PersistenceException { final ResourceResolver resolver = rsrc.getResourceResolver(); for(final Resource child : rsrc.getChildren()) { delete(child); } resolver.delete(rsrc); count++; if ( count >= max ) { resolver.commit(); count = 0; } } }
private void copy(final ResourceResolverContext context, final Resource src, final String dstPath, final List<Resource> newNodes) throws PersistenceException { final ValueMap vm = src.getValueMap(); final String createPath = new PathBuilder(dstPath).append(src.getName()).toString(); newNodes.add(this.create(context, createPath, vm)); for(final Resource c : src.getChildren()) { copy(context, c, createPath, newNodes); } }
/** * Copy the source as a child resource to the parent */ private Resource copy(final Resource source, final Resource dest) throws PersistenceException { final ValueMap vm = source.getValueMap(); final Resource result = source.getResourceResolver().create(dest, source.getName(), vm); for(final Resource c : source.getChildren()) { copy(c, result); } return result; } }