@Override public Object getAttribute(@NotNull String name) { return wrapped.getAttribute(name); }
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));
private void storeValues(ResourceResolver resolver, Page configPage, Map<String, Object> values) throws PersistenceException { try { ModifiableValueMap contentProps = configPage.getContentResource().adaptTo(ModifiableValueMap.class); // overwrite template path to make sure it used the template currently configured String configTemplate = getConfigPageTemplate(); if (StringUtils.isNotEmpty(configTemplate)) { if (!StringUtils.equals(configTemplate, contentProps.get(NameConstants.PN_TEMPLATE, String.class))) { contentProps.put(NameConstants.PN_TEMPLATE, configTemplate); } } // write configuration data Resource configResource = configPage.getContentResource(CONFIG_RESOURCE_NAME); if (configResource != null) { resolver.delete(configResource); } configResource = resolver.create(configPage.getContentResource(), CONFIG_RESOURCE_NAME, values); // update last modified info contentProps.put(NameConstants.PN_LAST_MOD, Calendar.getInstance()); contentProps.put(NameConstants.PN_LAST_MOD_BY, resolver.getAttribute(ResourceResolverFactory.USER)); resolver.commit(); } catch (PersistenceException ex) { throw new PersistenceException("Storing configuration values to " + configPage.getPath() + " failed.", ex); } }
@SuppressWarnings({ "unused", "null" }) public static void updatePageLastMod(ResourceResolver resolver, String configResourcePath) { PageManager pageManager = resolver.adaptTo(PageManager.class); Page page = pageManager.getContainingPage(configResourcePath); if (page == null) { return; } Resource contentResource = page.getContentResource(); if (contentResource != null) { ModifiableValueMap contentProps = contentResource.adaptTo(ModifiableValueMap.class); if (contentProps == null) { throw new ConfigurationPersistenceAccessDeniedException("No write access: Unable to update page " + configResourcePath + "."); } Object user = resolver.getAttribute(ResourceResolverFactory.USER); Calendar now = Calendar.getInstance(); contentProps.put(NameConstants.PN_LAST_MOD, now); contentProps.put(NameConstants.PN_LAST_MOD_BY, user); // check if resource has cq:lastModified because it is created in site admin if (contentProps.containsKey(NameConstants.PN_PAGE_LAST_MOD)) { contentProps.put(NameConstants.PN_PAGE_LAST_MOD, now); contentProps.put(NameConstants.PN_PAGE_LAST_MOD_BY, user); } } }