Script - Purge all folders into some parent
This script purges all folders into a parent without first moving files to the trash.
import java.util.ArrayList;import java.util.List;
import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;
import com.openkm.api.OKMFolder;import com.openkm.db.bean.NodeFolder;import com.openkm.util.ContextWrapper;
String qs = "from NodeFolder nf where nf.parent='2ed9586e-570c-4d27-a107-eeb0a5f181be'";Session session = null;Transaction tx = null;boolean found = true;
try { SessionFactory sessionFactory = ContextWrapper.getContext().getBean(SessionFactory.class); OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
while (found) {
session = sessionFactory.openSession(); Query q = session.createQuery(qs); q.setMaxResults(100); found = false; List fldList = new ArrayList();
for (NodeFolder fld : q.list()) { found = true; fldList.add(fld.getUuid()); }
for (String uuid : fldList) { try { okmFolder.purge(null, uuid); } catch (Exception e) { print(e.getMessage() + "<br/>"); } } }} catch (Exception e) { print(e.getMessage());} finally { session.close();}