OKMDocument
Conceptos básicos
Sección titulada «Conceptos básicos»En casi todos los métodos verá un parámetro llamado “docId”. El valor de este parámetro puede ser el UUID o la ruta de un nodo de documento válido.
Respecto al parámetro llamado “fldId”, su valor puede ser el UUID o la ruta de una carpeta o de un nodo de registro válidos.
Respecto al parámetro llamado “dstId”, su valor puede ser el UUID o la ruta de una carpeta o de un nodo de registro válidos.
Además, en todos los métodos verá un parámetro llamado “token”. Cuando se accede a la aplicación mediante 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 de usuario”.
Métodos
Sección titulada «Métodos»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| create(String token, Document doc, InputStream is) | Document | Crea un nuevo documento. |
- El parámetro doc debe inicializarse con el valor de la ruta de OpenKM dentro del repositorio. Opcionalmente también puede establecer los valores de palabras clave y de título.
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMDocument;import com.openkm.bean.Document;
public class Test { public static void main(String[] args) { InputStream is = null; try { is = new FileInputStream("/home/user/sample.pdf"); Document doc = new Document(); doc.setPath("/okm:root/sample.pdf"); // Optional doc.setTitle("sample document"); doc.getKeywords().add("key1"); doc.getKeywords().add("key2"); // Create document doc = OKMDocument.getInstance().create(null, doc, is); System.out.println(doc); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); } }}createSimple
Sección titulada «createSimple»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createSimple(String token, String docPath, InputStream is) | Document | Crea un nuevo documento. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMDocument;import com.openkm.bean.Document;
public class Test { public static void main(String[] args) { InputStream is = null; try { is = new FileInputStream("/home/user/sample.pdf"); String docPath = "/okm:root/sample.pdf"; Document doc = OKMDocument.getInstance().createSimple(null, docPath, is); System.out.println(doc); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| delete(String token, String docId) | void | Elimina un documento. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { // Delete document by path OKMDocument.getInstance().delete(null, "/okm:root/sample.pdf"); // Delete document by uuid OKMDocument.getInstance().delete(null, "adc048d7-3791-4540-ae32-680629f73875"); } catch (Exception e) { e.printStackTrace(); } }}getProperties
Sección titulada «getProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProperties(String token, String docId) | Document | Devuelve las propiedades de un documento. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.Document;
public class Test { public static void main(String[] args) { try { Document doc = OKMDocument.getInstance().getProperties(null, "adc048d7-3791-4540-ae32-680629f73875"); System.out.println(doc); } catch (Exception e) { e.printStackTrace(); } }}getContent
Sección titulada «getContent»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getContent(String token, String docId, boolean checkout) | InputStream | Devuelve el contenido del documento. |
- Cuando el parámetro checkout es true, el documento se marca para edición.
Ejemplo:
package com.openkm;
import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { InputStream is = null; OutputStream fos = null; try { is = OKMDocument.getInstance().getContent(null, "adc048d7-3791-4540-ae32-680629f73875", false); File tmp = new File("/home/user/sample.pdf"); fos = new FileOutputStream(tmp); IOUtils.copy(is, fos); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } }}getContentByVersion
Sección titulada «getContentByVersion»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getContentByVersion(String token, String docId, String versionId) | InputStream | Devuelve el contenido del documento de una versión concreta. |
- El parámetro versionIs es el nombre de la versión del documento.
Ejemplo:
package com.openkm;
import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { InputStream is = null; OutputStream fos = null; try { is = OKMDocument.getInstance().getContentByVersion(null, "adc048d7-3791-4540-ae32-680629f73875", "1.1"); File tmp = new File("/home/user/sample.pdf"); fos = new FileOutputStream(tmp); IOUtils.copy(is, fos); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } }}getExtractedText
Sección titulada «getExtractedText»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getExtractedText(String token, String docId) | String | Devuelve el texto extraído del documento. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { String indexedText = OKMDocument.getInstance().getExtractedText(null, "adc048d7-3791-4540-ae32-680629f73875"); System.out.println(indexedText); } catch (Exception e) { e.printStackTrace(); } }}getChilds
Sección titulada «getChilds»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getChilds(String token, String fldId) | List |
Devuelve una lista de todos los documentos cuyo padre es fldId. |
- El parámetro fldId puede ser una carpeta o un nodo de registro.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.Document;
public class Test { public static void main(String[] args) { try { for (Document doc : OKMDocument.getInstance().getChilds(null, "/okm:root/import")) {; System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}getChildren
Sección titulada «getChildren»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getChildren(String token, String fldId) | List |
Devuelve una lista de todos los documentos cuyo padre es fldId. |
- El parámetro fldId puede ser una carpeta o un nodo de registro.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.Document;
public class Test { public static void main(String[] args) { try { for (Document doc : OKMDocument.getInstance().getChildren(null, "/okm:root/import")) {; System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| rename(String token, String docId, String newName) | Document | Cambia el nombre de un documento. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.Document;
public class Test { public static void main(String[] args) { try { Document doc = OKMDocument.getInstance().rename(null, "/okm:root/samples.pdf","samples_renamed.pdf"); System.out.println(doc); } catch (Exception e) { e.printStackTrace(); } }}setProperties
Sección titulada «setProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setProperties(String token, Document doc) | void | Cambia algunas propiedades del documento. |
- Variables que se pueden cambiar:
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.Document;
public class Test { public static void main(String[] args) { try { Document doc = OKMDocument.getInstance().getProperties(null, "/okm:root/samples.pdf"); doc.getKeywords().add("key1"); doc.setDescription("some description"); OKMDocument.getInstance().setProperties(null, doc); } catch (Exception e) { e.printStackTrace(); } }}setLanguage
Sección titulada «setLanguage»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setLanguage(String token, String docId, String lang) | void | Establece el idioma del documento. |
- El parámetro lang debe cumplir la norma ISO 691-1.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().setLanguage(null, "/okm:root/samples.pdf","en"); } catch (Exception e) { e.printStackTrace(); } }}setTitle
Sección titulada «setTitle»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setTitle(String token, String docId, String title) | void | Establece el título del documento. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().setTitle(null, "/okm:root/samples.pdf","Document title"); } catch (Exception e) { e.printStackTrace(); } }}checkout
Sección titulada «checkout»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| checkout(String token, String docId) | void | Marca el documento para edición. |
- Solo un usuario puede modificar un documento a la vez.
- Antes de comenzar la edición debe realizar una acción de checkout, que bloquea el proceso de edición para otros usuarios y permite la edición únicamente al usuario que ha ejecutado la acción.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().checkout(null, "/okm:root/samples.pdf"); } catch (Exception e) { e.printStackTrace(); } }}cancelCheckout
Sección titulada «cancelCheckout»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| cancelCheckout(String token, String docId) | void | Cancela la edición de un documento. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().cancelCheckout(null, "/okm:root/samples.pdf"); } catch (Exception e) { e.printStackTrace(); } }}forceCancelCheckout
Sección titulada «forceCancelCheckout»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| forceCancelCheckout(String token, String docId) | void | Cancela la edición de un documento. |
- Este método permite cancelar la edición de cualquier documento.
- No es obligatorio que esta acción la ejecute el mismo usuario que ejecutó previamente la acción de checkout.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().forceCancelCheckout(null, "/okm:root/samples.pdf"); } catch (Exception e) { e.printStackTrace(); } }}isCheckedOut
Sección titulada «isCheckedOut»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isCheckedOut(String token, String docId) | void | Devuelve un booleano que indica si el documento está en edición o no. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { System.out.println(OKMDocument.getInstance().isCheckedOut(null, "/okm:root/samples.pdf")); } catch (Exception e) { e.printStackTrace(); } }}checkin
Sección titulada «checkin»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| checkin(String token, String docId, InputStream is, String comment) | Version | Actualiza un documento con una nueva versión y devuelve un objeto con los valores de la nueva versión. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.poi.util.IOUtils;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { InputStream is = null; try { is = new FileInputStream("/home/user/sample.pdf"); OKMDocument.getInstance().checkin(null, "/okm:root/samples.pdf", is, "optional comment"); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); } }}checkin
Sección titulada «checkin»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| checkin(String token, String docId, InputStream is, String comment, int increment) | Version | Actualiza un documento con una nueva versión y devuelve un objeto con los valores de la nueva versión. |
- El valor de incremento depende de la implementación de VersionNumeration. Los valores habituales son:
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.poi.util.IOUtils;
import com.openkm.api.OKMDocument;import com.openkm.vernum.VersionNumerationAdapter;
public class Test { public static void main(String[] args) { InputStream is = null; try { is = new FileInputStream("/home/user/sample.pdf"); OKMDocument.getInstance().checkin(null, "/okm:root/samples.pdf", is, "optional comment", VersionNumerationAdapter.INCREASE_MINOR); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); } }}isCheckedOut
Sección titulada «isCheckedOut»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isCheckedOut(String token, String docId) | void | Devuelve un booleano que indica si el documento está en edición o no. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { System.out.println(OKMDocument.getInstance().isCheckedOut(null, "/okm:root/samples.pdf")); } catch (Exception e) { e.printStackTrace(); } }}getVersionHistory
Sección titulada «getVersionHistory»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getVersionHistory(String token, String docId | List |
Devuelve una lista de todas las versiones del documento. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.Version;
public class Test { public static void main(String[] args) { try { for (Version ver :OKMDocument.getInstance().getVersionHistory(null, "/okm:root/samples.pdf")) { System.out.println(ver); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| lock(String token, String docId | LockInfo | Bloquea un documento y devuelve un objeto con la información del bloqueo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.LockInfo;
public class Test { public static void main(String[] args) { try { LockInfo lockInfo = OKMDocument.getInstance().lock(null, "/okm:root/samples.pdf")); System.out.println(lockInfo); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| unlock(String token, String docId | LockInfo | Desbloquea un documento bloqueado. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().unlock(null, "/okm:root/samples.pdf")); } catch (Exception e) { e.printStackTrace(); } }}forceUnlock
Sección titulada «forceUnlock»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| forceUnlock(String token, String docId | LockInfo | Desbloquea un documento bloqueado. |
- Este método permite desbloquear cualquier documento bloqueado.
- No es obligatorio que esta acción la ejecute el mismo usuario que ejecutó previamente la acción de bloqueo.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().forceUnlock(null, "/okm:root/samples.pdf")); } catch (Exception e) { e.printStackTrace(); } }}isLocked
Sección titulada «isLocked»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isLocked(String token, String docId) | void | Devuelve un booleano que indica si el documento está bloqueado o no. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { System.out.println(OKMDocument.getInstance().isLocked(null, "/okm:root/samples.pdf")); } catch (Exception e) { e.printStackTrace(); } }}getLockInfo
Sección titulada «getLockInfo»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getLockInfo(String token, String docId) | LockInfo | Devuelve un objeto con la información del bloqueo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.LockInfo;
public class Test { public static void main(String[] args) { try { LockInfo lockInfo = OKMDocument.getInstance().getLockInfo(null, "/okm:root/samples.pdf")); System.out.println(lockInfo); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| purge(String token, String docId) | void | El documento se elimina definitivamente del repositorio. |
- Normalmente purgará documentos de /okm:trash/userId (las ubicaciones de papelera personal del usuario), pero es posible purgar directamente cualquier documento de todo el repositorio.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().purge(null, "/okm:root/samples.pdf")); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| move(String token, String docId, String dstId) | void | Mueve el documento a una carpeta o a un registro. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().move(null, "/okm:root/samples.pdf", "/okm/root/temp")); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| copy(String token, String docId, String dstId) | void | Copia un documento en una carpeta o en un registro. |
- Los valores del parámetro dstId deben ser el UUID o la ruta de una carpeta o de un registro.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().copy(null, "/okm:root/samples.pdf", "/okm/root/temp")); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| copy(String token, String docId, String dstId, String newName) | void | Copia un documento en una carpeta o en un registro. |
- Los valores del parámetro dstId deben ser el UUID o la ruta de una carpeta o de un registro.
- Cuando el valor del parámetro newName es null, el documento conservará el mismo nombre.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().copy(null, "/okm:root/samples.pdf", "/okm/root/temp", "samples_renamed.pdf")); } catch (Exception e) { e.printStackTrace(); } }}extendedCopy
Sección titulada «extendedCopy»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| extendedCopy(String token, String docId, String dstId, String docName, ExtendedAttributes extAttr) | void | Copia un documento con sus datos asociados en una carpeta o en un registro. |
- Los valores del parámetro dstId deben ser el UUID o la ruta de una carpeta o de un registro.
- Cuando el valor del parámetro docName es null, el documento conservará el mismo nombre.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.ExtendedAttributes;
public class Test { public static void main(String[] args) { try { ExtendedAttributes extAttr = new ExtendedAttributes(); // copy keywords extAttr.setKeywords(true); OKMDocument.getInstance().extendedCopy(null, "/okm:root/samples.pdf", "/okm:root/temp", "samples_renamed.pdf", extAttr); } catch (Exception e) { e.printStackTrace(); } }}restoreVersion
Sección titulada «restoreVersion»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| restoreVersion(String token, String docId, String versionId) | void | Restaura una versión anterior del documento como versión actual. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().restoreVersion(null, "/okm:root/samples.pdf", "1.2"); } catch (Exception e) { e.printStackTrace(); } }}purgeVersionHistory
Sección titulada «purgeVersionHistory»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| purgeVersionHistory(String token, String docId) | void | Purga todas las versiones anteriores del documento excepto la versión actual. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().purgeVersionHistory(null, "/okm:root/samples.pdf"); } catch (Exception e) { e.printStackTrace(); } }}getVersionHistorySize
Sección titulada «getVersionHistorySize»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getVersionHistorySize(String token, String docId) | long | Devuelve la suma en bytes de todos los documentos del historial del documento. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.util.FormatUtil;
public class Test { public static void main(String[] args) { try { System.out.println(FormatUtil.formatSize(OKMDocument.getInstance().getVersionHistorySize(null, "/okm:root/samples.pdf"))); } catch (Exception e) { e.printStackTrace(); } }}isValid
Sección titulada «isValid»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isValid(String token, String docId) | boolean | Devuelve un booleano que indica si el nodo es un documento o no. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { boolean valid = OKMDocument.getInstance().isValid(null, "/okm:root/samples.pdf"); System.out.println(valid); } catch (Exception e) { e.printStackTrace(); } }}getPath
Sección titulada «getPath»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getPath(String token, String uuid) | String | Convierte el UUID de un documento en su ruta. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { String docPath = OKMDocument.getInstance().getPath(null, "f123a950-0329-4d62-8328-0ff500fd42dbg"); System.out.println(docPath); } catch (Exception e) { e.printStackTrace(); } }}getDetectedLanguages
Sección titulada «getDetectedLanguages»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getDetectedLanguages(String token) | List |
Devuelve una lista de los idiomas de documento disponibles que OpenKM puede identificar. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { for (String languages : OKMDocument.getInstance().getDetectedLanguages(null)) { System.out.println(languages); } } catch (Exception e) { e.printStackTrace(); } }}createFromTemplate
Sección titulada «createFromTemplate»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createFromTemplate(String token, String docId, String dstPath, List |
Document | Crea un nuevo documento a partir de una plantilla y devuelve un objeto Document. |
- El dstPath puede ser la ruta de una carpeta o de un registro.
- El parámetro language es opcional.
- Cuando la plantilla utiliza grupos de metadatos para rellenar campos, estos valores son obligatorios y deben establecerse en el parámetro properties.
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.Calendar;import java.util.List;
import com.openkm.api.OKMDocument;import com.openkm.bean.ExtendedAttributes;import com.openkm.bean.form.FormElement;import com.openkm.bean.form.Input;import com.openkm.bean.form.Option;import com.openkm.bean.form.Select;import com.openkm.util.ISO8601;
public class Test { public static void main(String[] args) { try { List<FormElement> formElements = new ArrayList<>(); Input name = new Input(); name.setName("okp:tpl.name"); name.setValue("Some name"); formElements.add(name);
Input birdDate = new Input(); birdDate.setName("okp:tpl.bird_date"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant birdDate.setValue(ISO8601.formatBasic(cal)); formElements.add(birdDate);
Select language = new Select(); language.setName("okp:tpl.language"); // With selected option is enought Option option = new Option(); option.setValue("java"); option.setSelected(true); language.getOptions().add(option); formElements.add(language);
OKMDocument.getInstance().createFromTemplate(null, "/okm:templates/tpl.pdf", "/okm:root/test", formElements, new ExtendedAttributes()); } catch (Exception e) { e.printStackTrace(); } }}createFromTemplateSimple
Sección titulada «createFromTemplateSimple»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createFromTemplateSimple(String token, String docId, String dstPath, Map<String, String> properties, ExtendedAttributes attributes) | Document | Crea un nuevo documento a partir de una plantilla y devuelve un objeto Document. |
- El dstPath puede ser la ruta de una carpeta o de un registro.
- El parámetro language es opcional.
- Cuando la plantilla utiliza grupos de metadatos para rellenar campos, estos valores son obligatorios y deben establecerse en el parámetro properties.
Ejemplo:
package com.openkm;
import java.util.Calendar;import java.util.HashMap;import java.util.Map;
import com.openkm.api.OKMDocument;import com.openkm.bean.ExtendedAttributes;import com.openkm.util.ISO8601;
public class Test { public static void main(String[] args) { try { Map<String, String> properties = new HashMap<>(); properties.put("okp:tpl.name", "Some name"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal)); properties.put("okp:tpl.language", "java");
OKMDocument.getInstance().createFromTemplateSimple(null, "/okm:templates/tpl.pdf", "/okm:root/test", properties, new ExtendedAttributes()); } catch (Exception e) { e.printStackTrace(); } }}updateFromTemplate
Sección titulada «updateFromTemplate»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateFromTemplate(String token, String docId, String dstId, List |
void | Actualiza un documento creado previamente a partir de la plantilla y devuelve un objeto Document. |
- Este método solo tiene sentido cuando la plantilla utiliza grupos de metadatos para rellenar campos.
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.Calendar;import java.util.List;
import com.openkm.api.OKMDocument;import com.openkm.bean.form.FormElement;import com.openkm.bean.form.Input;import com.openkm.bean.form.Option;import com.openkm.bean.form.Select;import com.openkm.util.ISO8601;
public class Test { public static void main(String[] args) { try { List<FormElement> formElements = new ArrayList<>(); Input name = new Input(); name.setName("okp:tpl.name"); name.setValue("Some name"); formElements.add(name);
Input birdDate = new Input(); birdDate.setName("okp:tpl.bird_date"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant birdDate.setValue(ISO8601.formatBasic(cal)); formElements.add(birdDate);
Select language = new Select(); language.setName("okp:tpl.language"); // With selected option is enought Option option = new Option(); option.setValue("java"); option.setSelected(true); language.getOptions().add(option); formElements.add(language);
OKMDocument.getInstance().updateFromTemplate(null, "/okm:templates/tpl.pdf", "/okm:root/test", formElements); } catch (Exception e) { e.printStackTrace(); } }}updateFromTemplateSimple
Sección titulada «updateFromTemplateSimple»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateFromTemplateSimple(String token, String docId, String dstId, Map<String, String> properties) | void | Actualiza un documento creado previamente a partir de la plantilla y devuelve un objeto Document. |
- Este método solo tiene sentido cuando la plantilla utiliza grupos de metadatos para rellenar campos.
Ejemplo:
package com.openkm;
import java.util.Calendar;import java.util.HashMap;import java.util.Map;
import com.openkm.api.OKMDocument;import com.openkm.util.ISO8601;
public class Test { public static void main(String[] args) { try { Map<String, String> properties = new HashMap<>(); properties.put("okp:tpl.name", "Some name"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal)); properties.put("okp:tpl.language", "java");
OKMDocument.getInstance().updateFromTemplateSimple(null, "/okm:templates/tpl.pdf", "/okm:root/test", properties); } catch (Exception e) { e.printStackTrace(); } }}setAnnotations
Sección titulada «setAnnotations»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setAnnotations(String token, String docId, String verName, String annotation) | void | Establece las anotaciones del documento de una versión concreta. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { OKMDocument.getInstance().setAnnotations(null, "/okm:root/samples.pdf", "1.1", "The annotation text."); } catch (Exception e) { e.printStackTrace(); } }}getAnnotations
Sección titulada «getAnnotations»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getAnnotations(String token, String docId, String verName) | String | Devuelve las anotaciones del documento de una versión concreta. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { String annotation = OKMDocument.getInstance().getAnnotations(null, "/okm:root/samples.pdf", "1.1"); System.out.println(annotation); } catch (Exception e) { e.printStackTrace(); } }}getCheckedOut
Sección titulada «getCheckedOut»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getCheckedOut(String token) | List |
Devuelve la lista de todos los documentos con checkout en el repositorio |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;import com.openkm.bean.Document;
public class Test { public static void main(String[] args) { try { for (Document doc : OKMDocument.getInstance().getCheckedOut(null)) { System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| stamp(String token, String docId, int type, long stId) | void | Sella un documento. |
- El parámetro type indica el tipo de sello:
- El parámetro stId es el valor del identificador único de la definición del sello. Puede obtenerlo en la vista Administration > Sello.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMDocument;
public class Test { public static void main(String[] args) { try { int type = 0; // indicate text stamp definition long stId = 12; // unique identifier of the stamp definition OKMDocument.getInstance().stamp(null, "/okm:root/sample.pdf", type, stId); } catch (Exception e) { e.printStackTrace(); } }}