Skip to content

Instantly share code, notes, and snippets.

@saulovenancio
Forked from cpilsworth/GetMeAPage.java
Created March 11, 2014 21:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save saulovenancio/9496007 to your computer and use it in GitHub Desktop.
Save saulovenancio/9496007 to your computer and use it in GitHub Desktop.
package uk.co.diffa;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import com.day.cq.wcm.api.Page;
@Component(immediate = true)
@Service(GetMeAPage.class)
public class GetMeAPage {
@Reference
private ResourceResolverFactory resourceResolverFactory;
private static final String pageUri = "/content/geometrixx/en.html";
/**
* This method is executed at component startup rather than in the context of a request.
*/
@Activate
public void getSpecificPage() {
ResourceResolver resourceResolver = null;
try {
resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
Page page = getSpecificPage(resourceResolver);
System.out.println(page.getTitle());
} catch (LoginException e) {
e.printStackTrace();
} finally {
if (resourceResolver != null) {
resourceResolver.close();
}
}
}
/**
* This method does not use the ResourceResolverFactory, but uses a user supplied resolver
*/
public Page getSpecificPage(ResourceResolver resourceResolver) {
Resource resource = resourceResolver.resolve(pageUri);
return resource.adaptTo(Page.class);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment