OKMRelation
Conceptos básicos
Sección titulada «Conceptos básicos»En casi todos los métodos verá un parámetro llamado “nodeId”. El valor de este parámetro puede ser un UUID o una ruta válidos de un documento, carpeta, correo o registro.
Además, en todos los métodos verá un parámetro llamado “token”. Al acceder a la aplicación a través de SOAP, el proceso de inicio de sesión devuelve un token que se utiliza para identificar al usuario en todos los métodos expuestos. Desde el contexto de ejecución por defecto de la aplicación debe utilizar el valor “null”, que indica a la aplicación que debe utilizar la “sesión del 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 de un tipo. |
- Valores de tipo disponibles:
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationType;import com.openkm.dao.bean.NodeRelationType;
public class Test { public static void main(String[] args) { try { for (RelationType rt : OKMRelation.getInstance().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.dao.bean.NodeRelationType;
public class Test { public static void main(String[] args) { try { for (RelationType rt : OKMRelation.getInstance().getRelationTypes(null, NodeRelationType.BIDIRECTIONAL)) { // looking for a relation named invoice if (rt.getTitleAToB().equals("invoice")) { OKMRelation.getInstance().add(null, "/okm:root/invoice.pdf", "/okm:root/budget.pdf", 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.RelationType;import com.openkm.dao.bean.NodeRelationType;
public class Test { public static void main(String[] args) { try { for (RelationType rt : OKMRelation.getInstance().getRelationTypes(null, NodeRelationType.BIDIRECTIONAL)) { // looking for a relation named invoice if (rt.getTitleAToB().equals("invoice")) { OKMRelation.getInstance().delete(null, rt.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;
public class Test { public static void main(String[] args) { try { for (Relation relation : OKMRelation.getInstance().getRelations(null, "/okm:root/invoice.pdf")) { 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 relación de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationGroup;
public class Test { public static void main(String[] args) { try { for (RelationGroup rg : OKMRelation.getInstance().getRelationGroups(null, "/okm:root/invoice.pdf")) { 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 relación a un nodo. |
- En un grupo de relación solo tiene sentido aplicar un 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.dao.bean.NodeRelationType;
public class Test { public static void main(String[] args) { try { for (RelationType rt : OKMRelation.getInstance().getRelationTypes(null, NodeRelationType.MANY_TO_MANY)) { if (rt.getTitle().equals("staple")) { OKMRelation.getInstance().addGroup(null, "/okm:root/invoice.pdf", "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 relación existente. |
- En un grupo de relación solo tiene sentido aplicar un 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.dao.bean.NodeRelationType;
public class Test { public static void main(String[] args) { try { for (RelationType rt : OKMRelation.getInstance().getRelationTypes(null, NodeRelationType.MANY_TO_MANY)) { if (rt.getTitle().equals("staple")) { OKMRelation.getInstance().addNodeToGroup(null, "/okm:root/invoice.pdf", rt.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 relación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationType;import com.openkm.dao.bean.NodeRelationType;
public class Test { public static void main(String[] args) { try { for (RelationType rt : OKMRelation.getInstance().getRelationTypes(null, NodeRelationType.MANY_TO_MANY)) { if (rt.getTitle().equals("staple")) { OKMRelation.getInstance().deleteGroup(null, "/okm:root/invoice.pdf", rt.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}findGroup
Sección titulada «findGroup»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findGroup(String token, long groupId) | RelationGroup | Busca un grupo de relación por su identificador. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;import com.openkm.bean.RelationGroup;
public class Test { public static void main(String[] args) { try { long groupId = 11; RelationGroup rg = OKMRelation.getInstance().findGroup(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 relación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRelation;
public class Test { public static void main(String[] args) { try { long groupId = 11; OKMRelation.getInstance().setGroupName(null, groupId, "new name"); } catch (Exception e) { e.printStackTrace(); } }}