OKMPropertyGroup
Conceptos básicos
Sección titulada «Conceptos básicos»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 expediente válido.
Además, en todos los métodos verá un parámetro llamado “token”. Debido a que las tareas Cron se ejecutan en segundo plano sin autenticación, los métodos utilizados en este escenario pueden emplear 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 utilizar la “sesión de usuario”.
Métodos
Sección titulada «Métodos»addGroup
Sección titulada «addGroup»Descripción:
| Método | Valores devueltos | 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. |
- El 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 devueltos | Descripción |
|---|---|---|
| removeGroup(String token, String nodeId, String grpName) | void | Elimina un grupo de metadatos de un nodo. |
- El 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 devueltos | Descripción |
|---|---|---|
| getGroups(String token, String nodeId) | List |
Recupera 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 devueltos | Descripción |
|---|---|---|
| getAllGroups(String token) | List |
Recupera una lista de todos los grupos de metadatos definidos 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.getAllGroups(null)) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getUserGroups
Sección titulada «getUserGroups»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getUserGroups(String token) | List |
Recupera una lista de todos los grupos de metadatos del usuario definidos 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 devueltos | Descripción |
|---|---|---|
| getProperties(String token, String nodeId, String grpName) | Map<String, String> | Recupera una lista de todos los elementos del grupo de metadatos y sus valores en el nodo. |
- El 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 devueltos | Descripción |
|---|---|---|
| setProperties(String token, String nodeId, String grpName, Map<String, String> properties) | void | Cambia los valores del grupo de metadatos de un nodo. |
- El 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 devueltos | Descripción |
|---|---|---|
| getPropertyGroupForm(String token, String grpName) | List |
Recupera una lista de las definiciones de todos los elementos del grupo de metadatos. |
- El 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 devueltos | Descripción |
|---|---|---|
| hasGroup(String token, String nodeId, String grpName) | boolean | Devuelve un booleano que indica si el nodo tiene o no 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 devueltos | Descripción |
|---|---|---|
| getSuggestions(String token, String nodeId, String grpName, String propName) | List |
Recupera 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 devueltos | Descripción |
|---|---|---|
| registerDefinition(String token, String pgDef, String pgName) | void | Establece en el repositorio la definición XML de los grupos de metadatos. |
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 devueltos | Descripción |
|---|---|---|
| getRegisteredDefinition(String token) | String | Devuelve la definición XML de los 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 devueltos | Descripción |
|---|---|---|
| getGroups(String token, String nodeId, String versionName) | List |
Recupera 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 devueltos | Descripción |
|---|---|---|
| getGroupProperties(String token, Long pgdId) | List |
Recupera 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 devueltos | Descripción |
|---|---|---|
| getProperties(String token, String nodeId, String grpName, String versionName) | Map<String, String> | Recupera 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 devueltos | Descripción |
|---|---|---|
| getSuggestBoxKeyValue(String token, String grpName, String propertyName, String key) | KeyValue | Recupera un objeto que contiene la clave y el valor del suggestbox. |
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 devueltos | Descripción |
|---|---|---|
| getSuggestBoxKeyValuesFiltered(String token, String grpName, String propertyName, String filter) | List |
Recupera una lista de objetos que contienen la clave y el valor del suggestbox, 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(); } }}