Refine search
private MailTemplate getMailTemplate(String templatePath) throws IllegalArgumentException { MailTemplate mailTemplate = null; Map<String, Object> authInfo = Collections.singletonMap(ResourceResolverFactory.SUBSERVICE, (Object) SERVICE_NAME); try (ResourceResolver resourceResolver = resourceResolverFactory.getServiceResourceResolver(authInfo) ){ mailTemplate = MailTemplate.create(templatePath, resourceResolver.adaptTo(Session.class)); if (mailTemplate == null) { throw new IllegalArgumentException("Mail template path [ " + templatePath + " ] could not resolve to a valid template"); } } catch (LoginException e) { log.error("Unable to obtain an administrative resource resolver to get the Mail Template at [ " + templatePath + " ]", e); } return mailTemplate; } }
private MailTemplate getMailTemplate(String templatePath) throws IllegalArgumentException { MailTemplate mailTemplate = null; ResourceResolver resourceResolver = null; try { resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null); mailTemplate = MailTemplate.create(templatePath, resourceResolver.adaptTo(Session.class)); if (mailTemplate == null) { throw new IllegalArgumentException("Mail template path [ " + templatePath + " ] could not resolve to a valid template"); } } catch (LoginException e) { log.error("Unable to obtain an administrative resource resolver to get the Mail Template at [ " + templatePath + " ]", e); } finally { if (resourceResolver != null) { resourceResolver.close(); } } return mailTemplate; } }
private Optional<ResourceResolver> getResourceResolver() { LoginException attemptViaUserMapping; try { Map<String, Object> authenticationInfo = singletonMap(SUBSERVICE, SUBSERVICE_NAME); return of(this.resourceResolverFactory.getServiceResourceResolver(authenticationInfo)); } catch (LoginException e) { attemptViaUserMapping = e; logger.debug("Unable to login with sub service {}, falling back to the default admin account.", SUBSERVICE_NAME, e); } try { Map<String, Object> authenticationInfo = new HashMap<>(); authenticationInfo.put(USER, "admin"); authenticationInfo.put(PASSWORD, "admin".toCharArray()); return of(this.resourceResolverFactory.getResourceResolver(authenticationInfo)); } catch (LoginException e) { logger.error( "Unable to obtain a resource resolver. " + "No valid service user mapping for io.neba.neba-core:{} exists: {} " + "and authenticating with the default admin credentials has failed.", SUBSERVICE_NAME, attemptViaUserMapping, e); return empty(); } }
/** * Create a new session for specified user (impersonating). */ public static ResourceResolver getResourceResolverForUser(ResourceResolverFactory factory, String userId) throws LoginException { ResourceResolver resolver; if (userId != null) { Map<String, Object> authenticationInfo = Maps.newHashMap(); authenticationInfo.put(ResourceResolverFactory.USER_IMPERSONATION, userId); resolver = factory.getAdministrativeResourceResolver(authenticationInfo); } else { Map<String, Object> parameters = new HashMap<>(); parameters.put(ResourceResolverFactory.SUBSERVICE, SUBSERVICE_NAME); resolver = factory.getServiceResourceResolver(parameters); } return resolver; } }
resolver = resolverFactory.getAdministrativeResourceResolver(null); Resource resource = resolver.getResource("/index.html"); resolver.delete(resource); resolver.commit(); } catch (PersistenceException e) { LOGGER.error("Could not delete resource", e);
try { resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null); Resource resource = resourceResolver.getResource(path); AssetManager assetManager = resourceResolver.adaptTo(AssetManager.class); final Iterator<Resource> assets = findAssets(resourceResolver, contentPath); resourceResolver.adaptTo(Session.class).getWorkspace().getObservationManager().setUserData(USER_EVENT_TYPE);
public boolean deleteMail(Session session, String path) throws RepositoryException, Exception { ResourceResolver resourceResolver = null; try { log.info("Removing email: " + path); Map<String, Object> authInfo = new HashMap<String, Object>(); authInfo.put(JcrResourceConstants.AUTHENTICATION_INFO_SESSION, session); try { resourceResolver = resourceResolverFactory.getResourceResolver(authInfo); } catch (LoginException e) { log.error("Authentication error"); throw new RepositoryException(); } Resource res = resourceResolver.getResource(path); Node node = null; if (res != null) { node = res.adaptTo(Node.class); } if (node != null) { // Removing node node.remove(); } return true; } catch (RepositoryException e) { log.error("Email remove", e); throw e; } finally { if (resourceResolver != null) resourceResolver.close(); } }
@Override public void run() { ResourceResolver resolver = null; try { resolver = resolverFactory.getAdministrativeResourceResolver(null); final Resource parent = resolver.getResource(MessagePersistenceService.SERIALIZED_ACTIONS); if (parent == null) { return; } for (final Resource child : parent.getChildren()) { resend(child); } resolver.commit(); } catch (LoginException | PersistenceException e) { LOG.error("Can't resend", e); } catch (ActionSendException e) { LOG.error("Can't resend", e); } finally { if (resolver != null) { resolver.close(); } } }
private boolean hasNotifications() { ResourceResolver resourceResolver = null; try { resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null); final Resource notificationsFolder = resourceResolver.getResource(PATH_NOTIFICATIONS); final Iterator<Resource> resources = notificationsFolder.listChildren(); while (resources.hasNext()) { final Resource resource = resources.next(); if (!JcrConstants.JCR_CONTENT.equals(resource.getName())) { return true; } } } catch (LoginException e) { log.error("Could not get an admin ResourceResolver", e); } finally { if (resourceResolver != null) { resourceResolver.close(); } } return false; }
resolver = resolverFactory.getAdministrativeResourceResolver(null); final Resource actionRoot = resolver.getResource(config.getActionRoot()); if (actionRoot != null) { final Resource yearNode = deleteChildrenUntil(actionRoot, until.get(Calendar.YEAR)); LOG.error("Can't get resolver", e); } finally { if (resolver != null && resolver.isLive()) { resolver.close();
resourceResolver = resourceResolverFactory.getResourceResolver(authInfo); "Unknown Workflow User"); final PageManager pageManager = resourceResolver.adaptTo(PageManager.class); final Asset asset = DamUtil.resolveToAsset(resourceResolver.getResource(path)); } else if (asset != null) { final Resource assetResource = resourceResolver.getResource(asset.getPath()); resource = assetResource.getChild(JcrConstants.JCR_CONTENT); log.trace("Candidate Asset for setting replicateBy is [ {} ]", resource.getPath());
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String path = req.getParameter("path"); if (path != null) { ResourceResolver resolver = null; try { int counter = 0; resolver = rrFactory.getAdministrativeResourceResolver(null); Session session = resolver.adaptTo(Session.class); Node node = session.getNode(path); NodeIterator it = node.getNodes(); while (it.hasNext()) { it.nextNode().remove(); counter++; } session.save(); resp.getWriter().printf("<p class='statline ui-state-error'>Deleted %s notifications</p>%n", counter); } catch (Exception e) { throw new ServletException(e); } finally { if (resolver != null && resolver.isLive()) { resolver.close(); } } } resp.sendRedirect((String) req.getAttribute("felix.webconsole.pluginRoot")); }
@Test public void test_clone_based_on_admin() throws Exception { final ResourceResolver admin0 = this.resourceResolverFactory.getAdministrativeResourceResolver((Map<String, Object>) null); final Session admin0Session = admin0.adaptTo(Session.class); assertEquals("admin", admin0.getUserID()); final ResourceResolver admin1 = admin0.clone(null); final Session admin1Session = admin1.adaptTo(Session.class); assertEquals(admin0.getUserID(), admin1.getUserID());
/** * Run is the entry point for initiating the work to be done by this job. * The Sling job management mechanism will call run() to process the job. */ public void run() { final Map<String, Object> authInfo = Collections.singletonMap( ResourceResolverFactory.SUBSERVICE, (Object) "my-service-account"); ResourceResolver resourceResolver = null; try { // Always use service users; never admin resource resolvers for "real" code resourceResolver = resourceResolverFactory.getServiceResourceResolver(authInfo); // Access data passed into the Job from the Event Resource resource = resourceResolver.getResource(path); if (resource != null) { ValueMap properties = resource.getValueMap(); // Do some work w this resource.. } } catch (LoginException e) { log.error("Could not get service resolver", e); } finally { // Always close resource resolvers you open if (resourceResolver != null) { resourceResolver.close(); } } } }
@Override public void run() { try (ResourceResolver resourceResolver = resourceResolverFactory.getServiceResourceResolver(AUTH_INFO)){ // Access data passed into the Job from the Event Resource resource = resourceResolver.getResource(path); AssetManager assetManager = resourceResolver.adaptTo(AssetManager.class); if (resource != null) { ValueMap taskProperties = resource.getValueMap(); String contentPath = taskProperties.get(PN_CONTENT_PATH, String.class); if (StringUtils.startsWith(contentPath, PATH_CONTENT_DAM)) { try (CloseableQuery query = findAssets(resourceResolver, contentPath)) { log.debug("Found [ {} ] assets under [ {} ] that were reviewed and require processing.", query.getResult().getHits().size(), contentPath); final Iterator<Resource> assets = query.getResult().getResources(); resourceResolver.adaptTo(Session.class).getWorkspace().getObservationManager().setUserData(USER_EVENT_TYPE); while (assets.hasNext()) { final Asset asset = assetManager.getAsset(assets.next().getPath()); moveAsset(resourceResolver, assetManager, asset, taskProperties); } } } } } catch (Exception e) { log.error("Could not process Review Task Mover", e); } }
@Test public void test_clone_based_on_anonymous() throws Exception { final ResourceResolver anon0 = this.resourceResolverFactory.getResourceResolver((Map<String, Object>) null); final Session anon0Session = anon0.adaptTo(Session.class); assertEquals("anonymous", anon0.getUserID()); final ResourceResolver anon1 = anon0.clone(null); final Session anon1Session = anon1.adaptTo(Session.class); assertEquals(anon0.getUserID(), anon1.getUserID());
@Before public void setup() throws Exception { resolver = resourceResolverFactory.getAdministrativeResourceResolver(null); assertNotNull("Expecting non-null ResourceResolver", resolver); final Resource root = resolver.getResource("/"); assertNotNull("Expecting non-null root Resource", root); final String path = getClass().getSimpleName() + "_" + System.currentTimeMillis(); testRoot = resolver.create(root, path, null); }
@Override public void run() { // Scheduled services that do not have to be cluster aware do not need // to implement this check OR extend TopologyEventListener if (!isLeader) { return; } // Scheduled service logic, only run on the Master ResourceResolver adminResourceResolver = null; try { // Be careful not to leak the adminResourceResolver adminResourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null); // execute your scheduled service logic here ... } catch (LoginException e) { log.error("Error obtaining the admin resource resolver.", e); } finally { // ALWAYS close resolvers you open if (adminResourceResolver != null) { adminResourceResolver.close(); } } }
authInfo.put("testAttributeString", "AStringValue"); authInfo.put("testAttributeNumber", 999); final ResourceResolver rr = this.resourceResolverFactory.getResourceResolver(authInfo); final Session s = rr.adaptTo(Session.class); assertNull(session.getAttribute(ResourceResolverFactory.PASSWORD)); assertEquals("AStringValue", rr.getAttribute("testAttributeString")); assertEquals(999, rr.getAttribute("testAttributeNumber")); assertEquals("admin", rr.getAttribute(ResourceResolverFactory.USER)); assertNull(rr.getAttribute(ResourceResolverFactory.PASSWORD));
@Deactivate protected final void deactivate(final Map<String, String> args) { try (ResourceResolver adminResourceResolver = resourceResolverFactory.getServiceResourceResolver(AUTH_INFO)) { final Resource root = adminResourceResolver.getResource(BULK_WORKFLOW_MANAGER_PAGE_FOLDER_PATH); if (root.getResourceResolver().hasChanges()) { root.getResourceResolver().commit();