OKMRelation
Conceptos básicos
Sección titulada «Conceptos básicos»En la mayoría de los métodos verá un parámetro llamado “nodeId”. El valor de este parámetro puede ser el UUID de un documento, una carpeta, un correo o un expediente válidos.
Además, en todos los métodos verá un parámetro llamado “token”. Como las tareas cron se ejecutan en segundo plano sin autenticación, los métodos utilizados en este escenario pueden usar el parámetro token. Desde el contexto de ejecución predeterminado de la aplicación debe usar el valor “null”, que indica que la aplicación debe usar la “sesión de usuario”.
Métodos
Sección titulada «Métodos»getRelationTypes
Sección titulada «getRelationTypes»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getRelationTypes(String token, String type) | List |
Recupera una lista de todas las relaciones definidas para un tipo. |
- Tipos disponibles:
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationType;import com.openkm.db.bean.NodeRelationType;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); for (RelationType rt : okmRelation.getRelationTypes(null, NodeRelationType.BIDIRECTIONAL)) { System.out.println(rt); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| add(String token, String nodeAId, String nodeBId, long relationType) | void | Establece una relación entre dos nodos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationType;import com.openkm.db.bean.NodeRelationType;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); for (RelationType rt : okmRelation.getRelationTypes(null, NodeRelationType.BIDIRECTIONAL)) { // looking for a relation named invoice if (rt.getTitle().equals("invoice")) { okmRelation.add(null, "d168924d-e801-426d-a222-00124a1461bd", "1f8ee9b8-0357-447b-95d0-c7b0adf887ec", rt.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| delete(String token, long relationId) | void | Elimina una relación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.Relation;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); for (Relation relation : okmRelation.getRelations(null, "d168924d-e801-426d-a222-00124a1461bd")) { if (relation.getRelationTitle().equals("invoice")) { okmRelation.delete(null, relation.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}getRelations
Sección titulada «getRelations»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getRelations(String token, String nodeId) | List |
Recupera una lista de todas las relaciones de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.Relation;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); for (Relation relation : okmRelation.getRelations(null, "d168924d-e801-426d-a222-00124a1461bd")) { System.out.println(relation); } } catch (Exception e) { e.printStackTrace(); } }}getRelationGroups
Sección titulada «getRelationGroups»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getRelationGroups(String token, String nodeId) | List |
Recupera una lista de todos los grupos de relaciones de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); for (RelationGroup rg : okmRelation.getRelationGroups(null, "d168924d-e801-426d-a222-00124a1461bd")) { System.out.println(rg); } } catch (Exception e) { e.printStackTrace(); } }}addGroup
Sección titulada «addGroup»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| addGroup(String token, String nodeId, String groupName, long type) | void | Añade un grupo de relaciones a un nodo. |
- Para un grupo de relaciones, solo tiene sentido aplicar el tipo de relación NodeRelationType.MANY_TO_MANY.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationType;import com.openkm.db.bean.NodeRelationType;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); for (RelationType rt : okmRelation.getRelationTypes(null, NodeRelationType.MANY_TO_MANY)) { if (rt.getTitle().equals("staple")) { okmRelation.addGroup(null, "d168924d-e801-426d-a222-00124a1461bd", "staple group", rt.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}addNodeToGroup
Sección titulada «addNodeToGroup»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| addNodeToGroup(String token, String nodeId, long groupId) | void | Añade un nodo a un grupo de relaciones existente. |
- Para un grupo de relaciones, solo tiene sentido aplicar el tipo de relación NodeRelationType.MANY_TO_MANY.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); for (RelationGroup rg : okmRelation.getRelationGroups(null, "d168924d-e801-426d-a222-00124a1461bd")) { if (rg.getRelationTitle().equals("staple")) { okmRelation.deleteGroup(null, "d168924d-e801-426d-a222-00124a1461bd", rg.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}deleteGroup
Sección titulada «deleteGroup»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| deleteGroup(String token, String nodeId, long groupId) | void | Elimina un nodo de un grupo de relaciones. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); for (RelationGroup rg : okmRelation.getRelationGroups(null, "8f101a85-88e7-4abe-8175-c5fea3e17d8b")) { if (rg.getName().equals("staple group")) { okmRelation.deleteGroup(null, "46762f90-82c6-4886-8d21-ad3017dd78a7", rg.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}getGroup
Sección titulada «getGroup»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getGroup(String token, long groupId) | RelationGroup | Busca un grupo de relaciones por su ID. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); long groupId = 1; RelationGroup rg = okmRelation.getGroup(null, groupId); System.out.println(rg); } catch (Exception e) { e.printStackTrace(); } }}setGroupName
Sección titulada «setGroupName»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setGroupName(String token, long groupId, String groupName) | void | Cambia el nombre del grupo de relaciones. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class); long groupId = 1; okmRelation.setGroupName(null, groupId, "new name"); } catch (Exception e) { e.printStackTrace(); } }}