Relation samples
Aspectos básicos
Sección titulada «Aspectos básicos»Ejemplo de código sugerido
Sección titulada «Ejemplo de código sugerido»Primero debe crear el objeto del servicio web:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);A continuación, debe iniciar sesión mediante el método “login”. Puede acceder al método “login” desde el objeto del servicio web “ws”, tal y como se muestra a continuación:
ws.login(user, password);Llegados a este punto, puede usar todos los métodos de Relation desde la clase “relation”, tal y como se muestra a continuación:
ws.relation.getRelationTypes(RelationType.BIDIRECTIONAL);Métodos
Sección titulada «Métodos»getRelationTypes
Sección titulada «getRelationTypes»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRelationTypes(String type) | List |
Obtiene una lista de todas las relaciones definidas para un tipo. |
Tipos disponibles:
- RelationType.BIDIRECTIONAL
- RelationType.PARENT_CHILD
- RelationType.MANY_TO_MANY
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.RelationType;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (RelationType type : ws.relation.getRelationTypes(RelationType.BIDIRECTIONAL)) { System.out.println(type); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| add(String nodeAId, String nodeBId, long relTypeId) | void | Establece una relación entre dos nodos. |
Los parámetros nodeAId y nodeBId deben ser el UUID de un documento, carpeta, correo o expediente válido.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.RelationType;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (RelationType type : ws.getRelationTypes(RelationType.BIDIRECTIONAL)) { // looking for a relation named invoice if (type.getTitle().equals("invoice")) { // Relation invoice with budget ws.relation.add("46762f90-82c6-4886-8d21-ad3017dd78a7", "8cd1e072-8595-4dd3-b121-41d622c43f08", type.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| delete(long relationId) | void | Elimina una relación. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Relation;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (Relation relation : ws.getRelations("46762f90-82c6-4886-8d21-ad3017dd78a7")) { // looking for a relation named invoice if (relation.getRelationTitle().equals("invoice")) { ws.relation.delete(relation.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}getRelations
Sección titulada «getRelations»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRelations(String uuid) | List |
Obtiene una lista de todas las relaciones de un nodo. |
El parámetro uuid debe ser el UUID de un documento, carpeta, correo o expediente válido.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Relation;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (Relation relation : ws.relation.getRelations("46762f90-82c6-4886-8d21-ad3017dd78a7")) { System.out.println(relation); } } catch (Exception e) { e.printStackTrace(); } }}getRelationGroups
Sección titulada «getRelationGroups»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRelationGroups(String uuid) | List |
Obtiene una lista de todos los grupos de relación de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.RelationGroup;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (RelationGroup rg : ws.relation.getRelationGroups("46762f90-82c6-4886-8d21-ad3017dd78a7")) { System.out.println(rg); } } catch (Exception e) { e.printStackTrace(); } }}addGroup
Sección titulada «addGroup»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| addGroup(String uuid, String groupName, long type) | void | Añade un grupo de relación a un nodo. |
Un grupo de relación solo tiene sentido para el tipo de relación RelationType.MANY_TO_MANY.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.RelationType;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (RelationType type : ws.relation.getRelationTypes(RelationType.MANY_TO_MANY)) { if (type.getTitle().equals("staple")) { ws.addGroup("46762f90-82c6-4886-8d21-ad3017dd78a7", "staple group", type.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}addNodeToGroup
Sección titulada «addNodeToGroup»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| addNodeToGroup(String uuid, long groupId) | void | Añade un nodo a un grupo de relación existente. |
Un grupo de relación solo es aplicable al tipo de relación RelationType.MANY_TO_MANY.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.RelationGroup;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (RelationGroup rg : ws.relation.getRelationGroups("46762f90-82c6-4886-8d21-ad3017dd78a7")) { if (rg.getName().equals("staple group")) { ws.relation.addNodeToGroup("8f101a85-88e7-4abe-8175-c5fea3e17d8b", rg.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}deleteGroup
Sección titulada «deleteGroup»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteGroup(long groupId) | void | Elimina el grupo de relación de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.RelationGroup;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (RelationGroup rg : ws.relation.getGroups("8f101a85-88e7-4abe-8175-c5fea3e17d8b")) { if (rg.getName().equals("staple group")) { ws.relation.deleteRelationGroup(rg.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}getGroup
Sección titulada «getGroup»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGroup(long groupId) | RelationGroup | Busca un grupo de relación por su id. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); long groupId = 1; System.out.println(ws.relation.getGroup(groupId)); } catch (Exception e) { e.printStackTrace(); } }}setGroupName
Sección titulada «setGroupName»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setGroupName(long groupId, String groupName) | void | Cambia el nombre del grupo de relación. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); long groupId = 1; ws.relation.setGroupName(groupId, "new name"); } catch (Exception e) { e.printStackTrace(); } }}getAllRelationGroups
Sección titulada «getAllRelationGroups»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getAllRelationGroups(int relationTypeId, String filter, int offset, int limit) | RelationGroupResultSet | Obtiene una lista de todos los grupos de relación. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.RelationGroup;import com.openkm.sdk4j.bean.RelationGroupResultSet;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password);
int relationTypeId = 2; String filter = ""; RelationGroupResultSet resultSet = ws.relation.getAllRelationGroups(relationTypeId, filter, 0, 10); System.out.println("Total: " + resultSet.getTotal()); for (RelationGroup relationGroup : resultSet.getResults()) { System.out.println(relationGroup); } } catch (Exception e) { e.printStackTrace(); } }}deleteItemFromGroup
Sección titulada «deleteItemFromGroup»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteItemFromGroup(String uuid, long groupId) | void | Elimina un nodo de un grupo de relación. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.RelationGroup;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (RelationGroup rg : ws.relation.getRelationGroups("930baee0-8712-41b0-85c0-81d21e55742f")) { if (rg.getName().equals("staple")) { ws.relation.deleteItemFromGroup("930baee0-8712-41b0-85c0-81d21e55742f", rg.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}