本文整理汇总了Java中org.apache.sling.api.SlingConstants类的典型用法代码示例。如果您正苦于以下问题:Java SlingConstants类的具体用法?Java SlingConstants怎么用?Java SlingConstants使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SlingConstants类属于org.apache.sling.api包,在下文中一共展示了SlingConstants类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: registerAsEventHandler
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
@SuppressWarnings("squid:S1149")
private void registerAsEventHandler() {
final Hashtable filterProps = new Hashtable<String, String>();
// Listen on Add and Remove under /etc/acs-commons/notifications
filterProps.put(EventConstants.EVENT_TOPIC,
new String[]{
SlingConstants.TOPIC_RESOURCE_ADDED,
SlingConstants.TOPIC_RESOURCE_REMOVED });
filterProps.put(EventConstants.EVENT_FILTER, "(&"
+ "(" + SlingConstants.PROPERTY_PATH + "=" + SystemNotificationsImpl.PATH_NOTIFICATIONS + "/*)"
+ ")");
this.eventHandlerRegistration =
this.osgiComponentContext.getBundleContext().registerService(EventHandler.class.getName(), this,
filterProps);
log.debug("Registered System Notifications as Event Handler");
}
示例2: registerWebResourceGroupListener
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
private void registerWebResourceGroupListener(final String webResourceName,
final String webResourcePath) throws RepositoryException {
if (!webResourceServiceRegistration.containsKey(webResourceName)) {
String[] topics = new String[] {
SlingConstants.TOPIC_RESOURCE_ADDED,
SlingConstants.TOPIC_RESOURCE_CHANGED,
SlingConstants.TOPIC_RESOURCE_REMOVED };
Dictionary<String, Object> props = new Hashtable<String, Object>();
props.put(EventConstants.EVENT_TOPIC, topics);
props.put(EventConstants.EVENT_FILTER, "(path=" + webResourcePath
+ "/*)");
this.webResourceServiceRegistration.put(webResourceName,
bundleContext.registerService(EventHandler.class.getName(),
new InventoryEventHandler(), props));
log.info("Registered Inventory Event Handler for "
+ webResourceName);
}
}
示例3: ignoreInventoryEvent
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
private boolean ignoreInventoryEvent(
org.osgi.service.event.Event event, Node resourceNode)
throws RepositoryException {
boolean skipSweep = false;
String path = (String) event.getProperty("path");
// We don't want to trigger a sweep if only the inventory was changed
// Only if the inventory was deleted.
if ((path.endsWith(WebResourceGroup.INVENTORY) &&
!SlingConstants.TOPIC_RESOURCE_REMOVED.equals(event.getTopic()))
|| path.endsWith(".css") || path.endsWith(".js")) {
skipSweep = true;
} else {
if (resourceNode != null && !resourceNode.isNodeType(NodeType.NT_FILE)) {
skipSweep = true;
}
}
return skipSweep;
}
示例4: process
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
@Override
public synchronized JobResult process(Job job) {
final String searchPath = job.getProperty(SlingConstants.PROPERTY_PATH).toString();
return SlingHelper.resolveDefault(resolverFactory, new ResolveCallback<JobResult>() {
@Override
public JobResult resolve(ResourceResolver resolver) {
return runReplicated(resolver, searchPath);
}
}, JobResult.FAILED);
}
示例5: processChange
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
private void processChange(ResourceChange change) {
String path = change.getPath();
if (isPublish() && (scriptAdded(change) || scriptChanged(change))) {
Map<String, Object> eventProperties = ImmutableMap.<String, Object>builder()
.put(SlingConstants.PROPERTY_PATH, path)
.build();
jobManager.addJob(JOB_NAME, eventProperties);
}
}
示例6: activate
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
@Override
public void activate() {
SlingHttpServletRequest request = getRequest();
SlingHttpServletResponse response = getResponse();
ResourceResolver resolver = getResourceResolver();
isAnonymous = "anonymous".equals(resolver.adaptTo(Session.class).getUserID());
message = (String) request.getAttribute(SlingConstants.ERROR_MESSAGE);
Integer scObject = (Integer) request.getAttribute(SlingConstants.ERROR_STATUS);
code = (scObject != null) ? scObject.intValue() : response.SC_INTERNAL_SERVER_ERROR;
if (message == null) {
message = statusToString(code);
}
// Print stack trace only if the user is not anonymous
if (!isAnonymous) {
if (request.getAttribute(SlingConstants.ERROR_EXCEPTION) instanceof Throwable) {
Throwable throwable = (Throwable) request.getAttribute(SlingConstants.ERROR_EXCEPTION);
printStackTrace(throwable);
}
}
response.setStatus(code);
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
}
示例7: handleEvent
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
@Override
public void handleEvent(final Event event) {
boolean handleLocally = false;
boolean handleWithLeader = !handleLocally;
/**
* Sling Event Properties - VERY handy
*
* This aren't guaranteed to have non-null values; so check before using.
*/
// Resource path "undergoing" the event
event.getProperty(SlingConstants.PROPERTY_PATH);
// Resource type
event.getProperty(SlingConstants.PROPERTY_RESOURCE_TYPE);
// Resource super type
event.getProperty(SlingConstants.PROPERTY_RESOURCE_SUPER_TYPE);
// Properties names that were added/changes/removed
event.getProperty(SlingConstants.PROPERTY_ADDED_ATTRIBUTES);
event.getProperty(SlingConstants.PROPERTY_CHANGED_ATTRIBUTES);
event.getProperty(SlingConstants.PROPERTY_REMOVED_ATTRIBUTES);
// User id
event.getProperty(SlingConstants.PROPERTY_USERID);
// Accepts(..) should be a very fast check to see if a Job is needed.
// Do NOT create Jobs is they arent needed as this will saturate the Sling Job queue with unneccessary work.
if (accepts(event)) {
// ONly create
Map<String, Object> jobProperties = new HashMap<String, Object>();
jobProperties.put("user", event.getProperty(SlingConstants.PROPERTY_USERID));
jobManager.addJob("com/adobe/acs/samples/sample-job", jobProperties);
}
}
示例8: handleEvent
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
@Override
public void handleEvent(Event event) {
final String topic = event.getTopic();
if (SlingConstants.TOPIC_RESOURCE_ADDED.equals(topic)) {
metricService.meter("jcr.resource.added").mark();
} else if (SlingConstants.TOPIC_RESOURCE_CHANGED.equals(topic)) {
metricService.meter("jcr.resource.changed").mark();
} else if (SlingConstants.TOPIC_RESOURCE_REMOVED.equals(topic)) {
metricService.meter("jcr.resource.removed").mark();
}
}
示例9: handleEvent
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
@Override
public void handleEvent(final Event event) {
// Get the required information from the event.
final String path = (String) event.getProperty(SlingConstants.PROPERTY_PATH);
// Create the required payload.
final Map<String, Object> payload = new HashMap<String, Object>();
payload.put(CacheInvalidationJobConstants.PAYLOAD_KEY_DATA_CHANGE_PATH, path);
// Start a job.
jobManager.addJob(CacheInvalidationJobConstants.TOPIC_HTTP_CACHE_INVALIDATION_JOB, payload);
log.debug("New invalidation job created with the payload path. - {}", path);
}
示例10: getStatusCode
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
/**
* Get Error Status Code from Request or Default (500) if no status code can be found.
*
* @param request
* @return
*/
@Override
public int getStatusCode(SlingHttpServletRequest request) {
Integer statusCode = (Integer) request.getAttribute(SlingConstants.ERROR_STATUS);
if (statusCode != null) {
return statusCode;
} else {
return ErrorPageHandlerService.DEFAULT_STATUS_CODE;
}
}
示例11: getException
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
/**
* Returns the Exception Message (Stacktrace) from the Request.
*
* @param request
* @return
*/
@Override
public String getException(SlingHttpServletRequest request) {
StringWriter stringWriter = new StringWriter();
if (request.getAttribute(SlingConstants.ERROR_EXCEPTION) instanceof Throwable) {
Throwable throwable = (Throwable) request.getAttribute(SlingConstants.ERROR_EXCEPTION);
if (throwable == null) {
return "";
}
if (throwable instanceof ServletException) {
ServletException se = (ServletException) throwable;
while (se.getRootCause() != null) {
throwable = se.getRootCause();
if (throwable instanceof ServletException) {
se = (ServletException) throwable;
} else {
break;
}
}
}
throwable.printStackTrace(new PrintWriter(stringWriter, true));
}
return stringWriter.toString();
}
示例12: handleEvent
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
@Override
public void handleEvent(final Event event) {
final long start = System.currentTimeMillis();
if (!this.isAuthor()) {
log.warn("This event handler should ONLY run on AEM Author.");
return;
}
/** The following code will ONLY execute on AEM Author **/
final String path = (String) event.getProperty(SlingConstants.PROPERTY_PATH);
if (StringUtils.endsWith(path, JcrConstants.JCR_CONTENT)) {
// Ignore jcr:content nodes; Only handle events for cq:Page
return;
}
if (this.hasNotifications()) {
if (!this.isFilter.getAndSet(true)) {
this.registerAsFilter();
}
} else {
if (this.isFilter.getAndSet(false)) {
this.unregisterFilter();
log.debug("Unregistered System Notifications Sling Filter");
}
}
if (System.currentTimeMillis() - start > 2500) {
log.warn("Event handling for System notifications took [ {} ] ms. Event blacklisting occurs after 5000 ms.",
System.currentTimeMillis() - start);
}
}
示例13: registerWebResourceGroupFolderHandler
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
private void registerWebResourceGroupFolderHandler() {
String[] allSlingResourceTopics = {
SlingConstants.TOPIC_RESOURCE_ADDED,
SlingConstants.TOPIC_RESOURCE_REMOVED };
Dictionary<String, Object> props = new Hashtable<String, Object>();
props.put(EventConstants.EVENT_TOPIC, allSlingResourceTopics);
bundleContext.registerService(EventHandler.class.getName(),
new WebResourceGroupFolderHandler(), props);
}
示例14: handleEvent
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
public void handleEvent(final Event event) {
logger.info("Felix EventHander: {} at: {}",
event.getTopic(), event.getProperty(SlingConstants.PROPERTY_PATH));
}
示例15: handleEvent
import org.apache.sling.api.SlingConstants; //导入依赖的package包/类
public void handleEvent(final Event event) {
logger.info("OSGi EventHandler: {} at: {}",
event.getTopic(), event.getProperty(SlingConstants.PROPERTY_PATH));
}