delete_Page_Event_listener

package com.day.cq.wcm.apps.geometrixx.impl;


import java.util.Arrays;

import javax.jcr.Repository;

import javax.jcr.RepositoryException;

import javax.jcr.Session;

import javax.jcr.observation.EventIterator;

import javax.jcr.observation.EventListener;

import javax.jcr.observation.ObservationManager;

import org.apache.sling.jcr.api.SlingRepository;

import org.osgi.service.component.ComponentContext;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

/** DeleteEventListner

*

* @scr.service

*

* @scr.component

* immediate="true"

* metatype="false"

*

* @scr.property

* name="service.description"

* value="A sample from Day"

*

* @scr.property

* name="service.vendor"

* value="Day"

*

*/

public class DeleteEventListner implements EventListener{

private Logger log = LoggerFactory.getLogger(getClass());

/** @scr.reference */

    private SlingRepository repository;

    private Session session;

    private ObservationManager observationManager;

    protected void activate(ComponentContext context)  throws Exception {

        session = repository.loginAdministrative(null);

       // Listen for changes to our orders

        if (repository.getDescriptor(Repository.OPTION_OBSERVATION_SUPPORTED).equals("true")) {

            observationManager = session.getWorkspace().getObservationManager();

            final String[] types = { "cq:page","dam:Asset" };

            final String path = "/content";

            observationManager.addEventListener(this, javax.jcr.observation.Event.NODE_REMOVED, path, true, null, null, false);

            log.error("Observing property changes to {} nodes under {}", Arrays.asList(types), path);

        }

        

    }


public void onEvent(EventIterator itr) {

// TODO Auto-generated method stub

while(itr.hasNext()){

try {

javax.jcr.observation.Event event = itr.nextEvent();

String path = event.getPath();

String userId = event.getUserID();

log.error("user "+userId+"  is deleting"+path);

} catch (RepositoryException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}


}


Comments