Skip to content

Instantly share code, notes, and snippets.

@djessup
Last active April 3, 2021 03:23
Show Gist options
  • Save djessup/168ff65fd9e125aa67534a1a764bd786 to your computer and use it in GitHub Desktop.
Save djessup/168ff65fd9e125aa67534a1a764bd786 to your computer and use it in GitHub Desktop.
import org.apache.jackrabbit.oak.commons.PathUtils
def deleteNodes(def session, String toDelete) {
def EMPTY = org.apache.jackrabbit.oak.spi.commit.CommitInfo.EMPTY
def INSTANCE = org.apache.jackrabbit.oak.spi.commit.EmptyHook.INSTANCE
def store = session.store
def rootBuilder = store.getRoot().builder()
def builder = rootBuilder
for (String elem : PathUtils.elements(toDelete)) {
builder = builder.getChildNode(elem);
}
builder.remove()
store.merge(rootBuilder, INSTANCE, EMPTY)
}
import org.apache.jackrabbit.oak.spi.commit.CommitInfo
import org.apache.jackrabbit.oak.spi.commit.EmptyHook
import org.apache.jackrabbit.oak.spi.state.NodeStore
import org.apache.jackrabbit.oak.commons.PathUtils
def rmNode(def session, String path) {
println "Removing node ${path}"
NodeStore ns = session.store
def nb = ns.root.builder()
def aBuilder = nb
for(p in PathUtils.elements(path)) { aBuilder = aBuilder.getChildNode(p) }
if(aBuilder.exists()) {
rm = aBuilder.remove()
ns.merge(nb, EmptyHook.INSTANCE, CommitInfo.EMPTY)
return rm
} else {
println "Node ${path} doesn't exist"
return false
}
}
rmNode(session, '/var/workflow/instances/server0');
rmNode(session, '/var/workflow/instances/server1');
rmNode(session, '/var/workflow/instances/server2');
rmNode(session, '/var/workflow/instances/server3');
@djessup
Copy link
Author

djessup commented Apr 3, 2021

delete(session, '/oak:index/cqMobileAppLucene/:suggest-data')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment