package org.apache.jackrabbit.firsthops;
import javax.jcr.LoginException;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.Property;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.jcr.Value;
import javax.jcr.ValueFormatException;
import javax.jcr.Workspace;
import javax.jcr.version.Version;
import javax.jcr.version.VersionHistory;
import javax.jcr.version.VersionIterator;
import org.apache.jackrabbit.core.TransientRepository;
public class TestVersion {
/**
* @param args
* @throws RepositoryException
* @throws LoginException
*/
public static void main(String[] args) throws LoginException, RepositoryException {
Repository repository = new TransientRepository();
Session session = repository.login(new SimpleCredentials("jt","jt".toCharArray()));
try {
Node root = session.getRootNode();
root.addMixin("mix:versionable");
Node hello = root.addNode("hello");
hello.addMixin("mix:versionable");
Node world = hello.addNode("world");
world.addMixin("mix:versionable");
world.setProperty("message", "Hello, World!");
session.save();
world.checkout();
world.setProperty("message", "Hello,again!");
world.save();
world.checkin();
Node node = root.getNode("hello/world");
System.out.println(node.getPath());
System.out.println(node.getProperty("message").getString());
System.out.println("**************version*****************");
VersionHistory vh = world.getVersionHistory();
VersionIterator vi = vh.getAllVersions();
vi.skip(1);
while (vi.hasNext()) {
System.out.println("vi.hasNext()");
Version v = vi.nextVersion();
NodeIterator ni = v.getNodes();
while (ni.hasNext()) {
Node nv = ni.nextNode();
System.out.println("Version: " + v.getCreated().getTime());
nv.getProperty("message");
}
}
// root.getNode("hello").remove();
// session.save();
} finally {
session.logout();
}
}
}
import javax.jcr.LoginException;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.Property;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.jcr.Value;
import javax.jcr.ValueFormatException;
import javax.jcr.Workspace;
import javax.jcr.version.Version;
import javax.jcr.version.VersionHistory;
import javax.jcr.version.VersionIterator;
import org.apache.jackrabbit.core.TransientRepository;
public class TestVersion {
/**
* @param args
* @throws RepositoryException
* @throws LoginException
*/
public static void main(String[] args) throws LoginException, RepositoryException {
Repository repository = new TransientRepository();
Session session = repository.login(new SimpleCredentials("jt","jt".toCharArray()));
try {
Node root = session.getRootNode();
root.addMixin("mix:versionable");
Node hello = root.addNode("hello");
hello.addMixin("mix:versionable");
Node world = hello.addNode("world");
world.addMixin("mix:versionable");
world.setProperty("message", "Hello, World!");
session.save();
world.checkout();
world.setProperty("message", "Hello,again!");
world.save();
world.checkin();
Node node = root.getNode("hello/world");
System.out.println(node.getPath());
System.out.println(node.getProperty("message").getString());
System.out.println("**************version*****************");
VersionHistory vh = world.getVersionHistory();
VersionIterator vi = vh.getAllVersions();
vi.skip(1);
while (vi.hasNext()) {
System.out.println("vi.hasNext()");
Version v = vi.nextVersion();
NodeIterator ni = v.getNodes();
while (ni.hasNext()) {
Node nv = ni.nextNode();
System.out.println("Version: " + v.getCreated().getTime());
nv.getProperty("message");
}
}
// root.getNode("hello").remove();
// session.save();
} finally {
session.logout();
}
}
}