replication preprocessor

import javax.jcr.Node;

import javax.jcr.RepositoryException;

import javax.jcr.Session;

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.jcr.api.SlingRepository;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.day.cq.replication.Preprocessor;

import com.day.cq.replication.ReplicationAction;

import com.day.cq.replication.ReplicationActionType;

import com.day.cq.replication.ReplicationException;

import com.day.cq.replication.ReplicationOptions;

/**

 * Class to create publish date property after activating a event page for very first time

 * @author yogeshupadhyay

 *

 */

@Component(metatype = false, immediate = true, label = "Event heading End Date Chnange Listner",

description="This component will listen to change in event end date node")

@Service(value = {Preprocessor.class })

public class EventReplicationListner implements Preprocessor {

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

@Reference

private SlingRepository repository;

public void preprocess(ReplicationAction action, ReplicationOptions arg1)

throws ReplicationException {

if(action != null && action.getType().equals(ReplicationActionType.ACTIVATE)) {

String path = action.getPath();

if(null!=path){

Session session = null;

try {

session = repository.loginAdministrative(null);

Node node = session.getNode(path);

//Do your stuff

session.save();

}

}

} catch (RepositoryException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally{

if(session!=null){

session.logout();

session=null;

}

}

}

}

}


}

Comments