OKMPropertyGroup
Conceptos básicos
Sección titulada «Conceptos básicos»En casi todos los métodos verá un parámetro llamado “nodeId”. El valor de este parámetro puede ser un UUID o una ruta válidos de un documento, carpeta, correo o registro.
Además, en todos los métodos verá un parámetro llamado “token”. Al acceder a la aplicación a través de 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 del 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) | void | Añade un grupo de metadatos vacío a un nodo. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;
public class Test { public static void main(String[] args) { try { OKMPropertyGroup.getInstance().addGroup(null, "/okm:root/logo.png", "okg:consulting"); } 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;
public class Test { public static void main(String[] args) { try { OKMPropertyGroup.getInstance().removeGroup(null, "/okm:root/logo.png", "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.bean.PropertyGroup;
public class Test { public static void main(String[] args) { try { for (PropertyGroup pg : OKMPropertyGroup.getInstance().getGroups(null, "/okm:root/logo.png")) { 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.bean.PropertyGroup;
public class Test { public static void main(String[] args) { try { for (PropertyGroup pg : OKMPropertyGroup.getInstance().getAllGroups(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) | List |
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 com.openkm.api.OKMPropertyGroup;import com.openkm.bean.form.FormElement;
public class Test { public static void main(String[] args) { try { for (FormElement fe : OKMPropertyGroup.getInstance().getProperties(null,"/okm:root/logo.png", "okg:consulting")) { System.out.println(fe); } } catch (Exception e) { e.printStackTrace(); } }}getPropertiesSimple
Sección titulada «getPropertiesSimple»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getPropertiesSimple(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;
public class Test { public static void main(String[] args) { try { Map<String, String> properties = OKMPropertyGroup.getInstance().getPropertiesSimple(null,"/okm:root/logo.png", "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, List |
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 java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.form.FormElement;import com.openkm.bean.form.Input;
public class Test { public static void main(String[] args) { try { List<FormElement> fElements = OKMPropertyGroup.getInstance().getProperties(null, "/okm:root/logo.pdf","okg:consulting"); for (FormElement fElement : fElements) { if (fElement.getName().equals("okp:consulting.name")) { Input name = (Input) fElement; name.setValue("new value"); } }
OKMPropertyGroup.getInstance().setProperties(null, "/okm:root/logo.pdf", "okg:consulting", fElements);
// Same modification with only affected FormElement fElements = new ArrayList<>(); Input name = new Input(); name.setName("okp:consulting.name"); name.setValue("new value"); fElements.add(name); OKMPropertyGroup.getInstance().setProperties(null, "/okm:root/logo.pdf","okg:consulting", fElements);
} catch (Exception e) { e.printStackTrace(); } }}setPropertySimple
Sección titulada «setPropertySimple»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setPropertySimple(String token, String nodeId, String propGroup, String propName, String propValue) | void | Cambia el valor de un campo del grupo de metadatos de un nodo. |
- El propGroup debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;
public class Test { public static void main(String[] args) { try { OKMPropertyGroup.getInstance().setPropertySimple(null, "/okm:root/logo.pdf","okg:consulting", "okp:consulting.name", "new name"); } catch (Exception e) { e.printStackTrace(); } }}setPropertiesSimple
Sección titulada «setPropertiesSimple»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setPropertiesSimple(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 java.util.Calendar;import java.util.HashMap;import java.util.Map;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ISO8601;
public class Test { public static void main(String[] args) { try { Map<String, String> properties = new HashMap<>(); properties.put("okp:consulting.name", "new name");
// Date fields must be saved with basic ISO 8601 format properties.put("okp:consulting.date", ISO8601.formatBasic(Calendar.getInstance())); OKMPropertyGroup.getInstance().setPropertiesSimple(null, "/okm:root/logo.pdf","okg:consulting", 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 con la definición 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;
public class Test { public static void main(String[] args) { try { for (FormElement fe : OKMPropertyGroup.getInstance().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;
public class Test { public static void main(String[] args) { try { boolean found = OKMPropertyGroup.getInstance().hasGroup(null, "/okm:root/logo.pdf", "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;
public class Test { public static void main(String[] args) { try { for (String value : OKMPropertyGroup.getInstance().getSuggestions(null, "/okm:root/logo.pdf","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) | 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;
public class Test { public static void main(String[] args) { InputStream is = null; try { is = new FileInputStream("/home/files/PropertyGroups.xml"); String pgDef = IOUtils.toString(is); OKMPropertyGroup.getInstance().registerDefinition(null, pgDef); } 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;
public class Test { public static void main(String[] args) { try { String pgDef = OKMPropertyGroup.getInstance().getRegisteredDefinition(null); System.out.println(pgDef); } catch (Exception e) { e.printStackTrace(); } }}