Script - Put documents from folder and descendants into pending text extraction queue
Esta página aún no está disponible en tu idioma.
import org.slf4j.Logger;import org.slf4j.LoggerFactory;
import com.openkm.api.OKMFolder;import com.openkm.api.OKMRepository;import com.openkm.bean.Folder;import com.openkm.db.service.LegacySrv;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); LegacySrv legacySrv = ContextWrapper.getContext().getBean(LegacySrv.class);
String sql = "UPDATE OKM_NODE_DOCUMENT SET NDC_TEXT_EXTRACTED='F' WHERE NBS_UUID IN (SELECT NBS_UUID FROM OKM_NODE_BASE WHERE NBS_PARENT='" + uuid + "')"; legacySrv.executeSQL(sql);
for (Folder fld : okmFolder.getChildren(null, uuid)) { log.info("Folder: {}", fld.getPath());
if (depth < MAX_DEPTH) { nodeTask(fld.getUuid(), depth + 1); } }}
try { OKMRepository okmRepository = ContextWrapper.getContext().getBean(OKMRepository.class); log.info("***** Process BEGIN *****"); String fldPath = "/okm:root/KnowledgeBase"; String fldUuid = okmRepository.getNodeUuid(null, fldPath); nodeTask(fldUuid, 0); log.info("***** Process END *****");} catch (Exception e) { print(e.getMessage());}