OKMNode
Conceptos básicos
Sección titulada «Conceptos básicos»En la mayoría de los métodos verá un parámetro denominado “nodeId”. El valor de este parámetro puede ser un UUID de nodo válido.
Respecto al parámetro denominado “fldId”, el valor de este parámetro puede ser un UUID de carpeta válido o un nodo de expediente.
Respecto al parámetro denominado “dstId”, el valor de este parámetro puede ser un UUID de carpeta válido o un nodo de expediente.
Además, en todos los métodos verá un parámetro denominado “token”. Dado que las tareas Cron se ejecutan en segundo plano sin autenticación, los métodos utilizados en este escenario pueden emplear el parámetro token. En el contexto de ejecución predeterminado de la aplicación debe utilizar el valor “null”, que indica que la aplicación debe utilizar la “sesión de usuario”.
Métodos
Sección titulada «Métodos»getNodeByUuid
Sección titulada «getNodeByUuid»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getNodeByUuid(String token, String uuid) | Node | Obtiene un nodo por UUID. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.bean.Node;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); Node node = okmNode.getNodeByUuid(null, "78f9c377-e557-48c7-804e-35c0ca284739"); System.out.println(node); } catch (Exception e) { e.printStackTrace(); } }}getVersionHistory
Sección titulada «getVersionHistory»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getVersionHistory(String token, String nodeId) | List |
Devuelve el historial de versiones de un nodo. |
Ejemplo:
package com.openkm;
import java.util.List;
import com.openkm.api.OKMNode;import com.openkm.bean.Version;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); List<Version> versions = okmNode.getVersionHistory(null, "78f9c377-e557-48c7-804e-35c0ca284739"); for (Version version : versions) { System.out.println(version); } } catch (Exception e) { e.printStackTrace(); } }}restoreVersion
Sección titulada «restoreVersion»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| restoreVersion(String token, String nodeId, String versionId) | void | Restaura la versión de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.restoreVersion(null, "78f9c377-e557-48c7-804e-35c0ca284739", "1.2"); } catch (Exception e) { e.printStackTrace(); } }}renameVersion
Sección titulada «renameVersion»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| renameVersion(String token, String nodeId, String versionId, String newName) | void | Cambia el nombre de la versión de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.renameVersion(null, "78f9c377-e557-48c7-804e-35c0ca284739", "1.2", "newName"); } catch (Exception e) { e.printStackTrace(); } }}purgeVersionHistory
Sección titulada «purgeVersionHistory»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| purgeVersionHistory(String token, String nodeId) | void | Purga el historial de versiones de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.purgeVersionHistory(null, "3767deb4-21e7-4272-82be-fece5384fbab"); } catch (Exception e) { e.printStackTrace(); } }}mayBePromotedAsRecord
Sección titulada «mayBePromotedAsRecord»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| mayBePromotedAsRecord(String token, String nodeId, boolean fullEvaluation) | PromoteAsRecordEvaluation | Devuelve el resultado de la evaluación para promover un nodo al estado de “expediente”. Cuando el nodo no puede promoverse al estado de “expediente”, el resultado de la evaluación contiene información sobre el motivo por el que no puede promoverse. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.plugin.fileplan.record.bean.PromoteAsRecordEvaluation;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); PromoteAsRecordEvaluation pre = okmNode.mayBePromotedAsRecord(null, "3767deb4-21e7-4272-82be-fece5384fbab", false); System.out.println(pre); } catch (Exception e) { e.printStackTrace(); } }}promoteAsRecord
Sección titulada «promoteAsRecord»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| promoteAsRecord(String token, String nodeId) | void | Promueve el nodo al estado de “expediente”. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.promoteAsRecord(null, "3767deb4-21e7-4272-82be-fece5384fbab"); } catch (Exception e) { e.printStackTrace(); } }}degradeRecord
Sección titulada «degradeRecord»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| degradeRecord(String token, String nodeId) | void | Degrada un nodo con el estado de “expediente”. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.degradeRecord(null, "3767deb4-21e7-4272-82be-fece5384fbab"); } catch (Exception e) { e.printStackTrace(); } }}isElectronicRecordPath
Sección titulada «isElectronicRecordPath»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| isElectronicRecordPath(String token, String nodeId) | boolean | Devuelve true cuando el nodo se encuentra en un expediente electrónico. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); System.out.println(okmNode.isElectronicRecordPath(null, "3767deb4-21e7-4272-82be-fece5384fbab")); } catch (Exception e) { e.printStackTrace(); } }}getElectronicRecordInPath
Sección titulada «getElectronicRecordInPath»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getElectronicRecordInPath(String token, String nodeId) | Record | Obtiene el expediente electrónico en la ruta. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.bean.Record;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); Record record = okmNode.getElectronicRecordInPath(null, "3767deb4-21e7-4272-82be-fece5384fbab"); System.out.println(record); } catch (Exception e) { e.printStackTrace(); } }}getChildrenPaginated
Sección titulada «getChildrenPaginated»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getChildrenPaginated(String token, String nodeId, int offset, int limit, String filter, String orderByField, boolean orderAsc, List<Class<? extends NodeBase>> filteredByNodeTypeList) | PageInfo | Obtiene los nodos hijo, paginados. |
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMNode;import com.openkm.bean.PageInfo;import com.openkm.db.bean.NodeBase;import com.openkm.db.bean.NodeDocument;import com.openkm.db.bean.NodeFolder;import com.openkm.db.bean.NodeMail;import com.openkm.db.bean.NodeRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); List<Class<? extends NodeBase>> filteredByNodeTypeList = new ArrayList<>(); filteredByNodeTypeList.add(NodeDocument.class); filteredByNodeTypeList.add(NodeFolder.class); filteredByNodeTypeList.add(NodeMail.class); filteredByNodeTypeList.add(NodeRecord.class);
// nodeId Folder and Record UUID or Path String nodeId = "39479efe-de5e-468e-91a7-24d2aa3f8837"; String orderByField = "created"; boolean orderAsc = true; PageInfo pageInfo = okmNode.getChildrenPaginated(null, nodeId, 0, 10, "", orderByField, orderAsc, filteredByNodeTypeList); System.out.println("Filtered Elements: " + pageInfo.getFilteredElements()); System.out.println("Total Elements: " + pageInfo.getTotalElements()); for (Object object : pageInfo.getObjects()) { NodeBase nodeBase = (NodeBase) object; System.out.println(nodeBase.getPath()); } } catch (Exception e) { e.printStackTrace(); } }}getChildrenByCategoryPaginated
Sección titulada «getChildrenByCategoryPaginated»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getChildrenByCategoryPaginated(String token, String nodeId, int offset, int limit, String filter, String orderByField, boolean orderAsc, List<Class<? extends NodeBase>> filteredByNodeTypeList) | PageInfo | Obtiene los nodos hijo por categoría, paginados. |
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMNode;import com.openkm.bean.PageInfo;import com.openkm.db.bean.NodeBase;import com.openkm.db.bean.NodeDocument;import com.openkm.db.bean.NodeFolder;import com.openkm.db.bean.NodeMail;import com.openkm.db.bean.NodeRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); List<Class<? extends NodeBase>> filteredByNodeTypeList = new ArrayList<>(); filteredByNodeTypeList.add(NodeDocument.class); filteredByNodeTypeList.add(NodeFolder.class); filteredByNodeTypeList.add(NodeMail.class); filteredByNodeTypeList.add(NodeRecord.class);
// nodeId Folder and Record UUID or Path String nodeId = "39479efe-de5e-468e-91a7-24d2aa3f8837"; String orderByField = "created"; boolean orderAsc = true; PageInfo pageInfo = okmNode.getChildrenByCategoryPaginated(null, nodeId, 0, 10, "", orderByField, orderAsc, filteredByNodeTypeList); System.out.println("Filtered Elements: " + pageInfo.getFilteredElements()); System.out.println("Total Elements: " + pageInfo.getTotalElements()); for (Object object : pageInfo.getObjects()) { NodeBase nodeBase = (NodeBase) object; System.out.println(nodeBase.getPath()); } } catch (Exception e) { e.printStackTrace(); } }}getBreadcrumb
Sección titulada «getBreadcrumb»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getBreadcrumb(String token, String fldId) | List |
Obtiene la ruta de navegación. |
Ejemplo:
package com.openkm;
import java.util.List;
import com.openkm.api.OKMNode;import com.openkm.bean.BreadCrumbItem;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); List<BreadCrumbItem> list = okmNode.getBreadcrumb(null, "39479efe-de5e-468e-91a7-24d2aa3f8837"); for (BreadCrumbItem item : list) { System.out.println(item.getPath()); } } catch (Exception e) { e.printStackTrace(); } }}subscribe
Sección titulada «subscribe»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| subscribe(String token, String nodeId) | void | Añade una suscripción a un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.subscribe(null, "39479efe-de5e-468e-91a7-24d2aa3f8837"); } catch (Exception e) { e.printStackTrace(); } }}unsubscribe
Sección titulada «unsubscribe»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| unsubscribe(String token, String nodeId) | void | Elimina una suscripción a un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.unsubscribe(null, "39479efe-de5e-468e-91a7-24d2aa3f8837"); } catch (Exception e) { e.printStackTrace(); } }}importZip
Sección titulada «importZip»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| importZip(String token, String fldUuid, InputStream inputStream) | void | Importa un fichero zip. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); InputStream is = new FileInputStream("/home/gnujavasergio/okm/import.zip"); okmNode.importZip(null, "212e7c1f-443d-4aac-a12c-0b818ca03419", is); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| unzip(String token, String uuid, String destinationPath) | void | Descomprime un fichero. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); String uuid = "82555dd1-bcc2-4e64-81cb-5f7c2b0d7801"; // zip File String destinationPath = "/okm:root/test"; // destination path okmNode.unzip(null, uuid, destinationPath); } catch (Exception e) { e.printStackTrace(); } }}exportZip
Sección titulada «exportZip»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| exportZip(List |
ByteArrayInputStream | Exporta como un fichero zip. |
Ejemplo:
package com.openkm;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.ArrayList;import java.util.List;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); List<String> uuids = new ArrayList<>(); uuids.add("/okm:root/test/logo.png"); uuids.add("/okm:root/test/invoice.pdf");
OutputStream fos = new FileOutputStream("/home/openkm/import.zip");
InputStream is = okmNode.exportZip(uuids, true, true, true); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}getNodesFromUuids
Sección titulada «getNodesFromUuids»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getNodesFromUuids(String token, String[] uuids) | List |
Devuelve una lista de nodos. |
Ejemplo:
package com.openkm;
import java.util.List;
import com.openkm.api.OKMNode;import com.openkm.bean.Node;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); String[] uuids = {"0f6463f3-4d36-4091-b518-4fe7c353ee70", "d386cff8-1d4d-472f-9c6d-f21955ec499a"}; List<Node> nodes = okmNode.getNodesFromUuids(null, uuids); for (Node node : nodes) { System.out.println(node); } } catch (Exception e) { e.printStackTrace(); } }}evaluateZipDownload
Sección titulada «evaluateZipDownload»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| evaluateZipDownload(String token, List |
ZipDownloadEvaluationResult | Evalúa si un fichero zip puede descargarse en tiempo real o en segundo plano. |
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMNode;import com.openkm.bean.ZipDownloadEvaluationResult;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); List<String> uuids = new ArrayList<>(); uuids.add("0f6463f3-4d36-4091-b518-4fe7c353ee70"); uuids.add("d386cff8-1d4d-472f-9c6d-f21955ec499a");
ZipDownloadEvaluationResult result = okmNode.evaluateZipDownload(null, uuids); System.out.println(result); } catch (Exception e) { e.printStackTrace(); } }}restore
Sección titulada «restore»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| restore(String token, String nodeId) | Node | Restaura un nodo desde la papelera. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.bean.Node;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); Node node = okmNode.restore(null, "0f6463f3-4d36-4091-b518-4fe7c353ee70"); System.out.println(node); } catch (Exception e) { e.printStackTrace(); } }}hasNodesLockedByOtherUser
Sección titulada «hasNodesLockedByOtherUser»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| hasNodesLockedByOtherUser(String token, String nodeId) | boolean | Comprueba si el nodo y sus descendientes han sido bloqueados por otros usuarios. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); if (okmNode.hasNodesLockedByOtherUser(null, "0f6463f3-4d36-4091-b518-4fe7c353ee70")) { System.out.println("Is blocked"); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| lock(String token, String nodeId) | LockInfo | Bloquea un nodo y devuelve un objeto con la información del bloqueo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.lock(null, "1ec49da9-1746-4875-ae32-9281d7303a62"); } catch (Exception e) { e.printStackTrace(); } }}forceLock
Sección titulada «forceLock»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| forceLock(String token, String nodeId) | void | Bloquea un nodo bloqueado. |
- Este método permite bloquear cualquier nodo bloqueado.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.forceLock(null, "1ec49da9-1746-4875-ae32-9281d7303a62"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| unlock(String token, String nodeId) | void | Desbloquea un nodo bloqueado. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.unlock(null, "1ec49da9-1746-4875-ae32-9281d7303a62"); } catch (Exception e) { e.printStackTrace(); } }}forceUnlock
Sección titulada «forceUnlock»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| forceUnlock(String token, String nodeId) | void | Desbloquea un nodo bloqueado. |
- Este método permite desbloquear cualquier nodo bloqueado.
- No es obligatorio que esta acción la ejecute el mismo usuario que ejecutó previamente la acción de bloqueo de check-out.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.forceUnlock(null, "1ec49da9-1746-4875-ae32-9281d7303a62"); } catch (Exception e) { e.printStackTrace(); } }}isLocked
Sección titulada «isLocked»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| isLocked(String token, String nodeId) | Boolean | Devuelve un booleano que indica si el nodo está bloqueado o no. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); System.out.println(okmNode.getLockInfo(null, "1ec49da9-1746-4875-ae32-9281d7303a62")); } catch (Exception e) { e.printStackTrace(); } }}getLockInfo
Sección titulada «getLockInfo»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getLockInfo(String token, String nodeId) | LockInfo | Devuelve un objeto con la información del bloqueo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); System.out.println(okmNode.getLockInfo(null, "1ec49da9-1746-4875-ae32-9281d7303a62")); } catch (Exception e) { e.printStackTrace(); } }}setComment
Sección titulada «setComment»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setComment(String token, String nodeId, String versionName, String comment) | void | Establece el comentario de una versión específica del nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMNode okmNode = ContextWrapper.getContext().getBean("okmNode", OKMNode.class); okmNode.setComment(null, "1ec49da9-1746-4875-ae32-9281d7303a62", "1.14", "Update comment"); } catch (Exception e) { e.printStackTrace(); } }}