public ResourceListItemImpl(@Nonnull SlingHttpServletRequest request, @Nonnull Resource resource) { ValueMap valueMap = resource.adaptTo(ValueMap.class); if (valueMap != null) { title = valueMap.get(JcrConstants.JCR_TITLE, String.class); description = valueMap.get(JcrConstants.JCR_DESCRIPTION, String.class); lastModified = valueMap.get(JcrConstants.JCR_LASTMODIFIED, Calendar.class); } path = resource.getPath(); name = resource.getName(); url = null; }
private Resource getComponentEditPath(Resource component) { if (component != null) { if (component.getChild("edit") != null) { return component.getChild("edit"); } else { String parentResourceType = component.getResourceResolver().getParentResourceType(component); if (StringUtils.isNotBlank(parentResourceType)) { component = component.getResourceResolver().getResource(parentResourceType); if (component != null) { return getComponentEditPath(component); } } } } return null; }
@Nonnull @Override public String getExportedType() { return request.getResource().getResourceType(); }
public DeepReadValueMapDecorator(final Resource resource, final ValueMap base) { super(base); this.pathPrefix = resource.getPath() + "/"; this.resolver = resource.getResourceResolver(); this.base = base; }
public String getMetadataValue(final String name) { Resource meta = frozenResource.getChild(METADATA_PATH); if (meta == null) { return null; } return meta.getValueMap().get(name, String.class); }
@Nonnull @Override public String getExportedType() { if (StringUtils.isEmpty(resourceType)) { resourceType = pageProperties.get(ResourceResolver.PROPERTY_RESOURCE_TYPE, String.class); if (StringUtils.isEmpty(resourceType)) { resourceType = currentPage.getContentResource().getResourceType(); } } return resourceType; }
public ImageResourceWrapper(@Nonnull Resource resource, @Nonnull String resourceType) { super(resource); if (StringUtils.isEmpty(resourceType)) { throw new IllegalArgumentException("The " + ImageResourceWrapper.class.getName() + " needs to override the resource type of " + "the wrapped resource, but the resourceType argument was null or empty."); } this.resourceType = resourceType; valueMap = new ValueMapDecorator(new HashMap<>(resource.getValueMap())); valueMap.put(ResourceResolver.PROPERTY_RESOURCE_TYPE, resourceType); }
@SuppressWarnings("null") private void setContentDisposition(SlingHttpServletRequest request, SlingHttpServletResponse response) { Resource resource = request.getResource(); // get mimetype from nt:file resource String mimeType = resource.getValueMap().get(JCR_CONTENT + "/" + JCR_MIMETYPE, String.class); // if mimetype is not blacklisted, or empty (and this is allowed) send "inline" content disposition header if ((StringUtils.isNotBlank(mimeType) && !mimetypeBlacklist.contains(mimeType.toLowerCase())) || (StringUtils.isBlank(mimeType) && allowEmptyMime)) { response.setHeader(HEADER_CONTENT_DISPOSITION, "inline"); } }
/** * Disables an index, so it's no longer updated by Oak. * * @param oakIndex the index * @throws PersistenceException */ public void disableIndex(@Nonnull Resource oakIndex) throws PersistenceException { final ModifiableValueMap oakIndexProperties = oakIndex.adaptTo(ModifiableValueMap.class); oakIndexProperties.put(PN_TYPE, DISABLED); log.info("Disabled index at {}", oakIndex.getPath()); }
public MockContentPolicyMapping(Resource contentPolicyMappingResource) { this.contentPolicyMappingResource = contentPolicyMappingResource; contentPolicyPath = contentPolicyMappingResource.getValueMap().get("cq:policy", String.class); if (StringUtils.isEmpty(contentPolicyPath)) { throw new IllegalArgumentException("Resource " + contentPolicyMappingResource.getPath() + " does not contain a valid " + "cq:policy property"); } }
private static Set<String> getPathsFromQuery(ResourceResolver resourceResolver, String language, String query) { if (StringUtils.isBlank(query)) { return Collections.EMPTY_SET; } Set<String> paths = new HashSet<String>(); language = StringUtils.defaultIfEmpty(language, "xpath"); Iterator<Resource> resources = resourceResolver.findResources(query, language); while (resources.hasNext()) { paths.add(resources.next().getPath()); } return paths; }
private WorkflowModel getWorkflowModel(WorkflowSession workflowSession, String workflowModelId) { workflowModelId = StringUtils.stripToEmpty(workflowModelId); WorkflowModel workflowModel = null; if (StringUtils.isNotBlank(workflowModelId)) { if (!workflowModelId.endsWith("/jcr:content/model")) { ResourceResolver resourceResolver = workflowHelper.getResourceResolver(workflowSession); Resource resource = resourceResolver.getResource(workflowModelId + "/jcr:content/model"); if (resource != null && StringUtils.equals(resource.getValueMap().get(JcrConstants.JCR_PRIMARYTYPE, String.class),"cq:WorkflowModel")) { workflowModelId = resource.getPath(); } } try { workflowModel = workflowSession.getModel(workflowModelId); } catch (WorkflowException e) { log.warn("Could not find Workflow Model for [ {} ]", workflowModelId); } } return workflowModel; }
public <AdapterType> AdapterType getResourceAdapter(Resource resource, Class<AdapterType> type) { try { if (StringUtils.isNotBlank(resource.getResourceType()) && getAdministrativeResourceResolver().getResource(resource.getResourceType()) != null) { return (AdapterType) new DefaultTypedResource(resource, getAdministrativeResourceResolver()); } } catch (LoginException e) { LOG.error("Login Exception encountered acquiring an administrative Resource Resolver", e); } return null; }
public String getWorkflowInstanceId() { if (StringUtils.isBlank(workflowInstanceId)) { resource.getResourceResolver().refresh(); workflowInstanceId = properties.get(PN_WORKFLOW_INSTANCE_ID, String.class); } return reference(workflowInstanceId); }
private void includeResource(SlingHttpServletRequest request, final Bindings bindings, PrintWriter out, String path, RequestDispatcherOptions requestDispatcherOptions) { if (StringUtils.isEmpty(path)) { throw new SightlyException("Resource path cannot be empty"); } else { Resource includeRes = request.getResourceResolver().resolve(path); if (ResourceUtil.isNonExistingResource(includeRes)) { String resourceType = request.getResource().getResourceType(); if (requestDispatcherOptions.containsKey(RequestDispatcherOptions.OPT_FORCE_RESOURCE_TYPE)) { resourceType = requestDispatcherOptions.getForceResourceType(); } includeRes = new SyntheticResource(request.getResourceResolver(), path, resourceType); } includeResource(request, bindings, out, includeRes, requestDispatcherOptions); } }
public void addFailure(String payloadPath, String trackPath, Calendar failedAt) throws RepositoryException { Node failure = JcrUtils.getOrCreateByPath(resource.getChild(Workspace.NN_FAILURES).adaptTo(Node.class), Workspace.NN_FAILURE, true, Workspace.NT_UNORDERED, Workspace.NT_UNORDERED, false); JcrUtil.setProperty(failure, Failure.PN_PAYLOAD_PATH, payloadPath); if (StringUtils.isNotBlank(trackPath)) { JcrUtil.setProperty(failure, Failure.PN_PATH, Payload.dereference(trackPath)); } if (failedAt != null) { JcrUtil.setProperty(failure, Failure.PN_FAILED_AT, failedAt); } }
@Override public String getValue(Object result) { Resource resource = (Resource) result; TagManager tagMgr = resource.getResourceResolver().adaptTo(TagManager.class); log.debug("Loading tags from {}@{}", resource.getPath(), property); List<String> tags = new ArrayList<String>(); String[] values = resource.getValueMap().get(property, String[].class); if (values != null) { for (String value : values) { tags.add(tagMgr.resolve(value).getTitle()); } } log.debug("Loaded {} tags", tags); return StringUtils.join(tags,";"); }
@Override public int doEndTag() { log.trace("doEndTag"); Resource parent = null; if (level != null) { String[] segments = resource.getPath().split("\\/"); int end = Integer.parseInt(level, 10); String parentPath = "/"+StringUtils.join(Arrays.copyOfRange(segments, 1, end + 1), "/"); log.debug("Retrieving {} parent resource at path {}", level, parentPath); parent = resource.getResourceResolver().getResource(parentPath); } else { log.debug("Retrieving parent resource"); parent = resource.getParent(); } log.debug("Saving {} to variable {}", parent, var); pageContext.setAttribute(var, parent); return EVAL_PAGE; }
public String getTitle() { if (StringUtils.isNotEmpty(title)) { return title; } else { return resource.getName(); } }