storagehub/src/main/java/org/gcube/data/access/storagehub/handlers/VersionHandler.java

38 lines
1.0 KiB
Java

package org.gcube.data.access.storagehub.handlers;
import javax.inject.Singleton;
import javax.jcr.Node;
import javax.jcr.Session;
import javax.jcr.version.Version;
import javax.jcr.version.VersionManager;
import org.apache.jackrabbit.JcrConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Singleton
public class VersionHandler {
private static final Logger logger = LoggerFactory.getLogger(VersionHandler.class);
public void makeVersionableContent(Node node, Session session){
try {
Node contentNode = node.getNode("jcr:content");
contentNode.addMixin(JcrConstants.MIX_VERSIONABLE);
}catch(Exception e ) {
logger.warn("cannot create versioned content node",e);
}
}
public void checkinContentNode(Node node, Session session){
try {
Node contentNode = node.getNode("jcr:content");
VersionManager versionManager = session.getWorkspace().getVersionManager();
Version version = versionManager.checkin(contentNode.getPath());
}catch(Exception e ) {
logger.warn("cannotcheckinNode content node",e);
}
}
}