Ir al contenido
Otras versiones

Cargando…

OKMRelation

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, carpeta, correo o registro válido.

Además, en todos los métodos verá un parámetro llamado “token”. Dado que 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 utilizar el valor “null”, que indica que la aplicación debe usar la “sesión de usuario”.

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.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();
}
}
}

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();
}
}
}

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;
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();
}
}
}

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.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();
}
}
}

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.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();
}
}
}

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.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();
}
}
}

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;
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();
}
}
}

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;
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();
}
}
}

Descripción:

Método Valores devueltos Descripción
getRelationGroups(String token, long relationTypeId, String filter, int offset, int limit) RelationGroupResultSet Recupera una lista paginada de grupos de relaciones filtrados por tipo de relación y nombre.
  • El parámetro “filter” se utiliza para buscar grupos de relaciones cuyo nombre contenga el texto indicado.
  • El parámetro “relationTypeId” especifica por qué tipo de relación se filtra.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRelation;
import com.openkm.bean.RelationGroup;
import com.openkm.util.ContextWrapper;
import com.openkm.bean.RelationGroupResultSet;
public class Test {
public static void main(String[] args) {
try {
OKMRelation okmRelation = ContextWrapper.getContext().getBean(OKMRelation.class);
// Get relation groups of type 1, filtering by name containing "invoice", with pagination
long relationTypeId = 1;
String filter = "invoice";
int offset = 0;
int limit = 10;
RelationGroupResultSet resultSet = okmRelation.getRelationGroups(null, relationTypeId, filter, offset, limit);
System.out.println("Total results: " + resultSet.getTotal());
for (RelationGroup group : resultSet.getResults()) {
System.out.println(group);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}