Ir al contenido

OKMRecord

En la mayoría de los métodos verá un parámetro llamado “recId”. El valor de este parámetro puede ser un UUID de registro válido.

Además, en todos los métodos verá un parámetro llamado “token”. Dado que las Tareas de Cron se ejecutan en segundo plano sin autenticación, los métodos usados en este escenario podrían usar el parámetro token. En el contexto de ejecución por defecto de la aplicación, debe usar el valor “null”, que indica que la aplicación debe usar la “sesión de usuario”.

Descripción:

Método Valores devueltos Descripción
create(String token, Record rec) Record Crea un nuevo registro y devuelve un objeto Record.
  • La variable path en el parámetro rec debe estar inicializada. Indica la ruta de la carpeta en OpenKM.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Record rec = new Record();
rec.setPath("/okm:root/test");
Record newRec = okmRecord.create(null, rec);
System.out.println(newRec);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createWithPropertyGroup(String token, Record rec, String grpName, Map<String, String> properties) Record Igual que create(), pero además establece las propiedades de un grupo de metadatos en el registro en la misma llamada, en lugar de un create() seguido de una llamada independiente a OKMPropertyGroup.addGroup().
  • La variable path en el parámetro rec debe estar inicializada, igual que en create(). El grpName debe ser un nombre de grupo de metadatos válido, y solo se aplican las propiedades que pertenecen a ese grupo; cualquier otra clave presente en el mapa properties se ignora.

Ejemplo:

package com.openkm;
import java.util.HashMap;
import java.util.Map;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Record rec = new Record();
rec.setPath("/okm:root/test");
Map<String, String> properties = new HashMap<>();
properties.put("okp:invoice.number", "INV-000");
// Create record with metadata in a single atomic call
Record newRec = okmRecord.createWithPropertyGroup(null, rec, "okg:invoice", properties);
System.out.println(newRec);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createSimple(String token, String recPath) Record Crea un nuevo registro y devuelve un objeto Record.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
String recPath = "/okm:root/PKI-100200";
Record newRec = okmRecord.createSimple(null, recPath);
System.out.println(newRec);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getProperties(String token, String recId) Record Devuelve las propiedades del registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Record rec = okmRecord.getProperties(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
System.out.println(rec);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
delete(String token, String recId) void Elimina un registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.delete(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
purge(String token, String recId) void El registro se elimina permanentemente del repositorio.
  • Normalmente purgará carpetas en /okm:trash/userId - las papeleras personales del usuario -, pero es posible purgar directamente cualquier registro del repositorio.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.purge(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
rename(String token, String recId, String newName) Record Renombra un registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Record renamedRec = okmRecord.rename(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "newname");
System.out.println(renamedRec);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
move(String token, String recId, String dstId) void Mueve un registro a una carpeta o a otro registro.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.move(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
copy(String token, String recId, String dstId) Record Copia un registro en una carpeta o registro y devuelve el nuevo objeto Record.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Record newRec = okmRecord.copy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6");
System.out.println(newRec);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
copy(String token, String recId, String dstId, String newName) Record Copia un registro en una carpeta o registro y devuelve el nuevo objeto Record.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.
  • Cuando el parámetro newName es null, el registro conservará el mismo nombre.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Record newRec = okmRecord.copy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6", "newname");
System.out.println(newRec);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
extendedCopy(String token, String recId, String dstId, String newName, ExtendedAttributes extAttr) Record Copia un registro junto con los datos asociados en una carpeta o registro y devuelve el nuevo objeto Record.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.
  • Cuando el parámetro newName es null, el registro conservará el mismo nombre.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setKeywords(true);
extAttr.setCategories(true);
extAttr.setNotes(true);
Record newRec = okmRecord.extendedCopy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474", "PKI-100201", extAttr);
System.out.println(newRec);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
isValid(String token, String recId) boolean Devuelve un booleano que indica si el nodo es un registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
boolean valid = okmRecord.isValid(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
System.out.println(valid);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getPath(String token, String recId) String Convierte un UUID de registro en su ruta de repositorio.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
String path = okmRecord.getPath(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
System.out.println(path);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getChildren(String token, String fldId) List Devuelve una lista de todos los registros cuyo padre es fldId.
  • El parámetro fldId puede ser un nodo de carpeta o de registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
for (Record rec : okmRecord.getChildren(null, "b6848ac2-345f-454e-964a-eba4dcc020e6")) {
System.out.println(rec);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
lock(String token, String recId) LockInfo Bloquea un registro y devuelve un objeto con la información del bloqueo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.lock(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
unlock(String token, String recId) LockInfo Desbloquea un registro bloqueado.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.unlock(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
forceUnlock(String token, String recId) void Desbloquea un registro bloqueado.
  • Este método permite desbloquear cualquier registro bloqueado.
  • No es necesario que sea el mismo usuario que realizó la acción de bloqueo (checkout) original quien realice esta acción.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.forceUnlock(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
setTitle(String token, String recId, String title) void Establece el título de un registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.setTitle(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "new title");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
setNodeClass(String token, String recId, long ncId) void Establece la NodeClass.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
long ncId = 2;
okmRecord.setNodeClass(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", ncId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
setDispositionStage(String token, String recId, long stage) void Establece la etapa de disposición (disposition stage)

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
long stage = 1;
okmRecord.setDispositionStage(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", stage);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
addNodeClassChildren(String token, String recId, long ncId) void Añade la NodeClass del registro a las carpetas padre.
  • Se usa a efectos de navegación para determinar cuándo una carpeta contiene un nodo de esta clase de nodo.
  • El método propaga el valor de la clase de nodo a los contenedores padre (carpetas) para indicar que hay un nodo de este tipo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
long ncId = 2;
okmRecord.addNodeClassChildren(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", ncId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
setDescription(String token, String uuid, String description) void Establece una descripción.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.setDescription(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", "some description");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createWizard(String token, String recPath, String title, long nodeClass) WizardNode Crea un nuevo registro mediante un asistente (wizard).
  • El parámetro recPath debe ser cualquier UUID válido de carpeta o de registro

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.WizardNode;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
WizardNode wn = okmRecord.createWizard(null, "1f323e88-64ee-4f57-91e2-9276f8c603f9", "PKI-100200", 0);
System.out.print(wn);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createMissingRecords(String token, String recPath) void Crea los registros que falten bajo la ruta indicada.
  • El parámetro recPath debe ser una ruta de carpeta o registro válida en OpenKM.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.createMissingRecords(null, "/okm:root/PKI");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createFromTemplate(String token, String fldId, String dstPath, Map<String, String> properties, ExtendedAttributes extAttr) Record Crea un nuevo registro a partir de una carpeta plantilla y devuelve el objeto Record creado.
  • El parámetro fldId es el UUID de la carpeta plantilla.
  • El parámetro dstPath es la ruta de destino donde se creará el registro.
  • El parámetro properties es un mapa de valores de grupo de propiedades que se establecerán en el nuevo registro.
  • El parámetro extAttr controla qué atributos extendidos (categorías, palabras clave, notas, etc.) se copian de la plantilla.

Ejemplo:

package com.openkm;
import java.util.HashMap;
import java.util.Map;
import com.openkm.api.OKMRecord;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Map<String, String> properties = new HashMap<>();
properties.put("okp:group.property", "value");
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setKeywords(true);
extAttr.setCategories(true);
Record newRec = okmRecord.createFromTemplate(null, "b6848ac2-345f-454e-964a-eba4dcc020e6",
"/okm:root/PKI-100300", properties, extAttr);
System.out.println(newRec);
} catch (Exception e) {
e.printStackTrace();
}
}
}