/** * Get the session. * * @param adaptable Either a SlingHttpServletRequest or a Resource * @return the current Session */ public static Session getSession(Object adaptable) { ResourceResolver resolver = getResourceResolver(adaptable); return resolver != null ? resolver.adaptTo(Session.class) : null; }
private PageManager getPageManager(Object adaptable) { ResourceResolver resolver = getResourceResolver(adaptable); if (resolver != null) { return resolver.adaptTo(PageManager.class); } return null; }
/** * Get the session. * * @param adaptable Either a SlingHttpServletRequest or a Resource * @return the current Session */ private Session getSession(Object adaptable) { ResourceResolver resolver = getResourceResolver(adaptable); return resolver != null ? resolver.adaptTo(Session.class) : null; }
@Override public void accept(ResourceResolver r, String path) throws ReplicationException { nameThread("activate-" + path); replicator.replicate(r.adaptTo(Session.class), ReplicationActionType.ACTIVATE, path); } };
@Override public void accept(ResourceResolver r, String path) throws ReplicationException { nameThread("activate-" + path); replicator.replicate(r.adaptTo(Session.class), ReplicationActionType.ACTIVATE, path, options); } };
public String getUserName(ResourceResolver resolver, String userId) throws RepositoryException { if (!userNames.containsKey(userId)) { final UserPropertiesManager upm = resolver.adaptTo(UserPropertiesManager.class); UserProperties userProperties = upm.getUserProperties(userId, UserPropertiesService.PRIVATE_PROFILE); String name = userId; if (userProperties != null && !StringUtils.isEmpty(userProperties.getDisplayName())) { name = userProperties.getDisplayName(); } userNames.put(userId, name); } return userNames.get(userId); }
private Privilege[] getPrivilegesFromNames(ResourceResolver res, String[] names) throws RepositoryException { Session session = res.adaptTo(Session.class); AccessControlManager acm = session.getAccessControlManager(); Privilege[] prvlgs = new Privilege[names.length]; for (int i = 0; i < names.length; i++) { prvlgs[i] = acm.privilegeFromName(names[i]); } return prvlgs; }
/** * Deactivate all nodes using provided options * * @param options * @return */ public static final CheckedBiConsumer<ResourceResolver, String> deactivateAllWithOptions(final Replicator replicator, final ReplicationOptions options) { return (ResourceResolver r, String path) -> { nameThread(PREFIX_DEACTIVATE + path); replicator.replicate(r.adaptTo(Session.class), ReplicationActionType.DEACTIVATE, path, options); }; }
@Override public final SyntheticWorkflowModel getSyntheticWorkflowModel(final ResourceResolver resourceResolver, final String workflowModelId, final boolean ignoreIncompatibleTypes) throws WorkflowException { final WorkflowSession workflowSession = aemWorkflowService.getWorkflowSession(resourceResolver.adaptTo(Session.class)); return new SyntheticWorkflowModelImpl(workflowSession, workflowModelId, ignoreIncompatibleTypes); }
/** * Deactivate all nodes using default replicators * * @return */ public static final CheckedBiConsumer<ResourceResolver, String> deactivateAll(final Replicator replicator) { return (ResourceResolver r, String path) -> { nameThread(PREFIX_DEACTIVATE + path); replicator.replicate(r.adaptTo(Session.class), ReplicationActionType.DEACTIVATE, path); }; }
@Override public void sendInboxNotification(ResourceResolver resourceResolver, InboxNotification inboxNotification) throws TaskManagerException { log.debug("Sending Inbox Notification [ {} ] to [ {} ]", inboxNotification.getTitle(), inboxNotification.getAssignee()); TaskManager taskManager = resourceResolver.adaptTo(TaskManager.class); taskManager.createTask(createTask(taskManager, inboxNotification)); }
@Override public boolean isTraversal(ResourceResolver resourceResolver, String language, String statement) throws RepositoryException { final QueryManager queryManager = resourceResolver.adaptTo(Session.class).getWorkspace().getQueryManager(); final Query query = queryManager.createQuery("explain " + statement, language); final QueryResult queryResult = query.execute(); final RowIterator rows = queryResult.getRows(); final Row firstRow = rows.nextRow(); final String plan = firstRow.getValue("plan").getString(); return StringUtils.contains(plan, " /* traverse "); }
private boolean isModifiable(final Resource resource) throws RepositoryException { final String writePermissions = "add_node,set_property,remove"; final Session userSession = resource.getResourceResolver().adaptTo(Session.class); final String path = resource.getPath(); try { userSession.checkPermission(path, writePermissions); } catch (java.security.AccessControlException e) { log.debug("User does not have modify permissions [ {} ] on [ {} ]", writePermissions, resource.getPath()); return false; } return true; }
@Override public void sendInboxNotification(ResourceResolver resourceResolver, InboxNotification inboxNotification) throws TaskManagerException { log.debug("Sending Inbox Notification [ {} ] to [ {} ]", inboxNotification.getTitle(), inboxNotification.getAssignee()); TaskManager taskManager = resourceResolver.adaptTo(TaskManager.class); taskManager.createTask(createTask(taskManager, inboxNotification)); }
protected void createFolders(ActionManager manager) throws IOException { manager.deferredWithResolver(r -> { JcrUtil.createPath(jcrBasePath, DEFAULT_FOLDER_TYPE, DEFAULT_FOLDER_TYPE, r.adaptTo(Session.class), true); folders.values().forEach(f -> manager.deferredWithResolver(Actions.retry(retries, retryPause, rr -> { manager.setCurrentItem(f.getSourcePath()); createFolderNode(f, rr); })) ); }); }
void importAssets(ActionManager manager) { manager.deferredWithResolver(rr -> { JcrUtil.createPath(jcrBasePath, DEFAULT_FOLDER_TYPE, DEFAULT_FOLDER_TYPE, rr.adaptTo(Session.class), true); manager.setCurrentItem(baseItemName); ObjectListing listing = s3Client.listObjects(bucket, s3BasePath); importAssets(manager, listing); }); }
@Override public void run(final Resource resource) throws Exception { if (processArgs.isThrottle()) { throttledTaskRunner.waitForLowCpuAndLowMemory(); } replicator.replicate(resource.getResourceResolver().adaptTo(Session.class), processArgs.getReplicationActionType(), resource.getPath(), processArgs.getReplicationOptions(resource)); count.incrementAndGet(); } };
@Override public void run(final Resource resource) throws Exception { if (processArgs.isThrottle()) { throttledTaskRunner.waitForLowCpuAndLowMemory(); } replicator.replicate(resource.getResourceResolver().adaptTo(Session.class), processArgs.getReplicationActionType(), resource.getPath(), processArgs.getReplicationOptions()); count.incrementAndGet(); } };
public void checkNodeAcls(ResourceResolver res, String path, Privilege[] prvlgs) throws RepositoryException { Actions.setCurrentItem(path); Session session = res.adaptTo(Session.class); boolean report = res.getResource(path).getResourceType().equals(NameConstants.NT_PAGE); if (!session.getAccessControlManager().hasPrivileges(path, prvlgs)) { note(path, Report.acl_check, "FAIL"); throw new RepositoryException("Insufficient permissions to permit move operation"); } else if (report) { note(path, Report.acl_check, "PASS"); } }
private com.day.cq.wcm.webservicesupport.Configuration findTwitterConfiguration(Page page) { ConfigurationManager configurationManager = page.getContentResource().getResourceResolver().adaptTo(ConfigurationManager.class); final HierarchyNodeInheritanceValueMap pageProperties = new HierarchyNodeInheritanceValueMap( page.getContentResource()); final String[] services = pageProperties.getInherited(ConfigurationConstants.PN_CONFIGURATIONS, new String[0]); return configurationManager.getConfiguration( CLOUD_SERVICE_NAME, services); }