Script - Recursive repository traversal
Esta página aún no está disponible en tu idioma.
import org.slf4j.Logger;import org.slf4j.LoggerFactory;
import com.openkm.api.OKMDocument;import com.openkm.api.OKMFolder;import com.openkm.api.OKMRepository;import com.openkm.bean.Document;import com.openkm.bean.Folder;import com.openkm.util.ContextWrapper;
Logger log = LoggerFactory.getLogger("com.openkm.scripting");int MAX_DEPTH = Integer.MAX_VALUE;
void nodeTask(String uuid, int depth) throws Exception { OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class); OKMDocument okmDocument = ContextWrapper.getContext().getBean(OKMDocument.class);
for (Document doc : okmDocument.getChildren(null, uuid)) { log.info("Document: {}", doc.getPath()); print("Document: " + doc.getPath() + "<br>"); }
for (Folder fld : okmFolder.getChildren(null, uuid)) { log.info("Folder: {}", fld.getPath()); print("Document: " + fld.getPath() + "<br>");
if (depth < MAX_DEPTH) { nodeTask(fld.getUuid(), depth + 1); } }}
log.info("***** Process BEGIN *****");try { OKMRepository okmRepository = ContextWrapper.getContext().getBean(OKMRepository.class); String fldPath = "/okm:root"; String fldUuid = okmRepository.getNodeUuid(null, fldPath); nodeTask(fldUuid, 0);} catch (Exception e) { print(e.getMessage());}log.info("***** Process END *****");