OKMPropertyGroup
Fundamentos
Sección titulada «Fundamentos»En la mayoría de los métodos verá un parámetro llamado “nodeId”. El valor de este parámetro puede ser un UUID de documento, carpeta, correo o record válido.
Además, en todos los métodos verá un parámetro llamado “token”. Como las Cron Tasks se ejecutan en segundo plano sin autenticación, los métodos usados en ese escenario pueden 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”.
Métodos
Sección titulada «Métodos»addGroup
Sección titulada «addGroup»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| addGroup(String token, String nodeId, String grpName, Map<String, String> properties) | void | Añade un grupo de metadatos y sus valores a un nodo. |
- grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.google.gson.Gson;import com.openkm.Config;import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.util.ISO8601;
import java.util.*;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
Map<String, String> properties = new HashMap<>(); Gson gson = new Gson(); List<String> values = new ArrayList<>(); values.add("t1"); values.add("t2"); properties.put("okp:technology.type", gson.toJson(values)); properties.put("okp:technology.language", "[ \"java\" ]"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant properties.put("okp:technology.date", ISO8601.formatBasic(cal)); properties.put("okp:technology.comment", "comment sample"); properties.put("okp:technology.description", "description sample"); properties.put("okp:technology.important", String.valueOf(true)); okmPropertyGroup.addGroup(null, "4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5", "okg:technology", properties); } catch (Exception e) { e.printStackTrace(); } }}removeGroup
Sección titulada «removeGroup»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| removeGroup(String token, String nodeId, String grpName) | void | Elimina un grupo de metadatos de un nodo. |
- grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); okmPropertyGroup.removeGroup(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:consulting"); } catch (Exception e) { e.printStackTrace(); } }}getGroups
Sección titulada «getGroups»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGroups(String token, String nodeId) | List |
Obtiene una lista de los grupos de metadatos asignados a un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.bean.PropertyGroup;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getGroups(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338")) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getAllGroups
Sección titulada «getAllGroups»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getAllGroups(String token) | List |
Obtiene una lista de todos los grupos de metadatos de la aplicación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.bean.PropertyGroup;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getAllGroups(null)) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getAllGroups
Sección titulada «getAllGroups»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getAllGroups(String token, String nodeId) | List |
Obtiene una lista de todos los grupos de metadatos de la aplicación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.bean.PropertyGroup;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getAllGroups(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338")) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getUserGroups
Sección titulada «getUserGroups»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUserGroups(String token) | List |
Obtiene una lista de todos los grupos de metadatos del usuario en la aplicación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.bean.PropertyGroup;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getUserGroups(null)) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getProperties
Sección titulada «getProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProperties(String token, String nodeId, String grpName) | Map<String, String> | Obtiene una lista de todos los elementos de un grupo de metadatos y sus valores en el nodo. |
- grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import java.util.Map;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); Map<String, String> properties = okmPropertyGroup.getProperties(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:consulting"); for (String key : properties.keySet()) { System.out.println(key + ": " + properties.get(key)); } } catch (Exception e) { e.printStackTrace(); } }}setProperties
Sección titulada «setProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setProperties(String token, String nodeId, String grpName, Map<String, String> properties) | void | Cambia los valores del grupo de metadatos de un nodo. |
- grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.google.gson.Gson;import com.openkm.Config;import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.util.ISO8601;
import java.util.*;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
Map<String, String> properties = new HashMap<>(); Gson gson = new Gson(); List<String> values = new ArrayList<>(); values.add("t1"); values.add("t2"); properties.put("okp:technology.type", gson.toJson(values)); properties.put("okp:technology.language", "[ \"java\" ]"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant properties.put("okp:technology.date", ISO8601.formatBasic(cal)); properties.put("okp:technology.comment", "comment sample"); properties.put("okp:technology.description", "description sample"); properties.put("okp:technology.important", String.valueOf(true)); okmPropertyGroup.setProperties(null, "4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5", "okg:technology", properties); } catch (Exception e) { e.printStackTrace(); } }}getPropertyGroupForm
Sección titulada «getPropertyGroupForm»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getPropertyGroupForm(String token, String grpName) | List |
Obtiene una lista con las definiciones de todos los elementos de un grupo de metadatos. |
- grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.form.FormElement;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (FormElement fe : okmPropertyGroup.getPropertyGroupForm(null, "okg:consulting")) { System.out.println(fe); } } catch (Exception e) { e.printStackTrace(); } }}hasGroup
Sección titulada «hasGroup»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| hasGroup(String token, String nodeId, String grpName) | boolean | Devuelve un booleano que indica si el nodo tiene un grupo de metadatos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); boolean found = okmPropertyGroup.hasGroup(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:consulting"); System.out.println(found); } catch (Exception e) { e.printStackTrace(); } }}getSuggestions
Sección titulada «getSuggestions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getSuggestions(String token, String nodeId, String grpName, String propName) | List |
Obtiene una lista de valores sugeridos para un campo de metadatos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (String value : okmPropertyGroup.getSuggestions(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:technology", "okp:technology.language")) { System.out.println(value); } } catch (Exception e) { e.printStackTrace(); } }}registerDefinition
Sección titulada «registerDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| registerDefinition(String token, String pgDef, String pgName) | void | Establece la definición XML de grupos de metadatos en el repositorio. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { InputStream is = null; try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); is = new FileInputStream("/home/files/PropertyGroups.xml"); String pgDef = IOUtils.toString(is); okmPropertyGroup.registerDefinition(null, pgDef, "test"); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); } }}getRegisteredDefinition
Sección titulada «getRegisteredDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRegisteredDefinition(String token) | String | Devuelve la definición XML de grupos de metadatos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); String pgDef = okmPropertyGroup.getRegisteredDefinition(null); System.out.println(pgDef); } catch (Exception e) { e.printStackTrace(); } }}getGroups
Sección titulada «getGroups»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGroups(String token, String nodeId, String versionName) | List |
Obtiene una lista de los grupos de metadatos asignados a una versión específica de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.PropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getGroups(null, "82555dd1-bcc2-4e64-81cb-5f7c2b0d7801", "1.2")) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getGroupProperties
Sección titulada «getGroupProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGroupProperties(String token, Long pgdId) | List |
Obtiene una lista de las propiedades de un grupo de metadatos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.PropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); long pgdId = 1; for (PropertyGroup pg : okmPropertyGroup.getGroupProperties(null, pgdId)) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getProperties
Sección titulada «getProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProperties(String token, String nodeId, String grpName, String versionName) | Map<String, String> | Obtiene un mapa (pares clave-valor) con los valores del grupo de metadatos asignados a una versión específica de un nodo. |
Ejemplo:
package com.openkm;
import java.util.Map;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
Map<String, String> properties = okmPropertyGroup.getProperties(null, "82555dd1-bcc2-4e64-81cb-5f7c2b0d7801", "okg:tpl", "1.2"); for (String key : properties.keySet()) { System.out.println(key + ": " + properties.get(key)); } } catch (Exception e) { e.printStackTrace(); } }}getSuggestBoxKeyValue
Sección titulada «getSuggestBoxKeyValue»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getSuggestBoxKeyValue(String token, String grpName, String propertyName, String key) | KeyValue | Obtiene un objeto que contiene la clave y el valor del suggest box. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.KeyValue;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
KeyValue kv = okmPropertyGroup.getSuggestBoxKeyValue(null, "okg:groupname", "okp:groupname.propertyname", "namekey"); System.out.println(kv.getKey() + ": " + kv.getValue()); } catch (Exception e) { e.printStackTrace(); } }}getSuggestBoxKeyValuesFiltered
Sección titulada «getSuggestBoxKeyValuesFiltered»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getSuggestBoxKeyValuesFiltered(String token, String grpName, String propertyName, String filter) | List |
Obtiene una lista de objetos con la clave y el valor del suggest box, filtrados por valor. |
Ejemplo:
package com.openkm;
import java.util.List;import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.KeyValue;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
List<KeyValue> kvList = okmPropertyGroup.getSuggestBoxKeyValuesFiltered(null, "okg:groupname", "okp:groupname.propertyname", "filter"); for (KeyValue kv : kvList) { System.out.println(kv.getKey() + ": " + kv.getValue()); } } catch (Exception e) { e.printStackTrace(); } }}