当前位置: 首页>>代码示例>>Java>>正文


Java SlingConstants类代码示例

本文整理汇总了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");
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:22,代码来源:SystemNotificationsImpl.java

示例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);
	}
}
 
开发者ID:bobpaulin,项目名称:sling-web-resource,代码行数:22,代码来源:WebResourceInventoryManagerImpl.java

示例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;
}
 
开发者ID:bobpaulin,项目名称:sling-web-resource,代码行数:20,代码来源:WebResourceInventoryManagerImpl.java

示例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);
}
 
开发者ID:Cognifide,项目名称:APM,代码行数:11,代码来源:ReplicationExecutor.java

示例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);
	}
}
 
开发者ID:Cognifide,项目名称:APM,代码行数:10,代码来源:ReplicationExecutor.java

示例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");
}
 
开发者ID:nateyolles,项目名称:publick-sling-blog,代码行数:30,代码来源:ErrorHandler.java

示例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);
    }
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-samples,代码行数:39,代码来源:SampleSlingEventHandler.java

示例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();
    }
}
 
开发者ID:digital-wonderland,项目名称:sling-metrics,代码行数:12,代码来源:JcrResourceEventListener.java

示例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);
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:14,代码来源:JCRNodeChangeEventHandler.java

示例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;
    }
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:17,代码来源:ErrorPageHandlerImpl.java

示例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();
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:34,代码来源:ErrorPageHandlerImpl.java

示例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);
    }
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:34,代码来源:SystemNotificationsImpl.java

示例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);
}
 
开发者ID:bobpaulin,项目名称:sling-web-resource,代码行数:10,代码来源:WebResourceInventoryManagerImpl.java

示例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));
}
 
开发者ID:nateyolles,项目名称:aem-osgi-annotation-demo,代码行数:5,代码来源:SampleFelixResourceListener.java

示例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));
}
 
开发者ID:nateyolles,项目名称:aem-osgi-annotation-demo,代码行数:5,代码来源:SampleOsgiResourceListener.java


注:本文中的org.apache.sling.api.SlingConstants类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。