replication_listner

import org.apache.felix.scr.annotations.Component;

import org.apache.felix.scr.annotations.Property;

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.ResourceResolverFactory;

import org.apache.sling.api.resource.ValueMap;

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

import org.osgi.service.event.Event;

import org.osgi.service.event.EventHandler;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.day.cq.replication.ReplicationAction;

import com.day.cq.replication.ReplicationActionType;

import com.day.cq.replication.ReplicationException;

import com.day.cq.replication.Replicator;


/**

 * This is an example listener that listens for replication events and

 * logs a message.

 */

@Component(metatype = false, immediate = true)

@Service(value={EventHandler.class})

@Property(name="event.topics",value= {ReplicationAction.EVENT_TOPIC})public class ReplicationEventListener implements EventHandler {

private static final Logger log = LoggerFactory.getLogger(ReplicationEventListener.class);

public void handleEvent(Event event) {

String n[] = event.getPropertyNames();

log.info("");

log.info("Replication action: {} on {}", event.getProperty(ReplicationAction.PROPERTY_TYPE), event.getProperty(ReplicationAction.PROPERTY_PATH));

log.info("Replication user: {}", event.getProperty(ReplicationAction.PROPERTY_USER_ID));

log.info("Event properties: ");

for(String s : n) {

log.info(s + " = " + event.getProperty(s));

}

ReplicationAction action = ReplicationAction.fromEvent(event);

if(action != null) {

log.info("Replication action {} occured on {} ", action.getType().getName(), action.getPath());

}

log.info("");


}


}

     


  

Comments