ConfigSrv
ConfigSrv es un servicio Spring que proporciona acceso de lectura y escritura tipado al almacén de parámetros de configuración de OpenKM. Los parámetros de configuración se persisten en la base de datos y se identifican por una clave de tipo cadena. Cada parámetro tiene un tipo declarado (string, text, boolean, integer, long, html, password, hidden, list o file) que controla cómo se muestra y se almacena en la interfaz de administración.
Métodos
Sección titulada «Métodos»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| save(Config cfg) | void | Crea o actualiza un parámetro de configuración. |
Ejemplo:
package com.openkm;
import com.openkm.db.bean.Config;import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); Config cfg = new Config(); cfg.setKey("plugin.myPlugin.enabled"); cfg.setType(Config.BOOLEAN); cfg.setValue("true"); configSrv.save(cfg); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| exists(String key) | boolean | Devuelve true si existe un parámetro de configuración con la clave dada en la base de datos. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); boolean exists = configSrv.exists("plugin.myPlugin.enabled"); System.out.println("Exists: " + exists); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| delete(String key) | void | Elimina el parámetro de configuración con la clave dada. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); configSrv.delete("plugin.myPlugin.enabled"); } catch (Exception e) { e.printStackTrace(); } }}findByPk
Sección titulada «findByPk»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findByPk(String key) | Config | Devuelve la entidad Config completa para la clave dada, o null si no existe. |
Ejemplo:
package com.openkm;
import com.openkm.db.bean.Config;import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); Config cfg = configSrv.findByPk("plugin.myPlugin.enabled"); if (cfg != null) { System.out.println("Value: " + cfg.getValue()); } } catch (Exception e) { e.printStackTrace(); } }}getHidden
Sección titulada «getHidden»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getHidden(String key, String defaultValue) | String | Devuelve el valor del parámetro de configuración como un String con el tipo hidden. Los parámetros ocultos se almacenan igual que los parámetros de tipo string, pero no se muestran en la interfaz de administración. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); String value = configSrv.getHidden("plugin.myPlugin.internalKey", "defaultValue"); System.out.println("Config parameter: " + value); } catch (Exception e) { e.printStackTrace(); } }}getString
Sección titulada «getString»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getString(String key, String defaultValue) | String | Devuelve el valor del parámetro de configuración como un String con el tipo string. Si la clave no existe, se crea con el valor por defecto. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); String value = configSrv.getString("plugin.myPlugin.serverUrl", "http://localhost:8080"); System.out.println("Config parameter: " + value); } catch (Exception e) { e.printStackTrace(); } }}getText
Sección titulada «getText»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getText(String key, String defaultValue) | String | Devuelve el valor del parámetro de configuración como un String con el tipo text. Se usa para valores de cadena multilínea. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); String value = configSrv.getText("plugin.myPlugin.template", "default template text"); System.out.println("Config parameter: " + value); } catch (Exception e) { e.printStackTrace(); } }}getBoolean
Sección titulada «getBoolean»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getBoolean(String key, boolean defaultValue) | boolean | Devuelve el valor del parámetro de configuración como boolean. Si la clave no existe, se crea con el valor por defecto. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); boolean enabled = configSrv.getBoolean("plugin.myPlugin.enabled", false); System.out.println("Config parameter: " + enabled); } catch (Exception e) { e.printStackTrace(); } }}getInteger
Sección titulada «getInteger»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getInteger(String key, int defaultValue) | int | Devuelve el valor del parámetro de configuración como int. Si la clave no existe, se crea con el valor por defecto. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); int maxRetries = configSrv.getInteger("plugin.myPlugin.maxRetries", 3); System.out.println("Config parameter: " + maxRetries); } catch (Exception e) { e.printStackTrace(); } }}getLong
Sección titulada «getLong»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getLong(String key, long defaultValue) | long | Devuelve el valor del parámetro de configuración como long. Si la clave no existe, se crea con el valor por defecto. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); long maxSize = configSrv.getLong("plugin.myPlugin.maxFileSize", 10485760L); System.out.println("Config parameter: " + maxSize); } catch (Exception e) { e.printStackTrace(); } }}getHtml
Sección titulada «getHtml»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getHtml(String key, String defaultValue) | String | Devuelve el valor del parámetro de configuración como un String con el tipo html. Se usa para parámetros que contienen marcado HTML. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); String html = configSrv.getHtml("plugin.myPlugin.footerHtml", "<p>Default footer</p>"); System.out.println("Config parameter: " + html); } catch (Exception e) { e.printStackTrace(); } }}getPassword
Sección titulada «getPassword»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getPassword(String key, String defaultValue) | String | Devuelve el valor del parámetro de configuración como un String en texto plano con el tipo password. El valor se almacena cifrado con DES en la base de datos y se descifra automáticamente al recuperarlo. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); String password = configSrv.getPassword("plugin.myPlugin.apiSecret", "changeme"); System.out.println("Config parameter: " + password); } catch (Exception e) { e.printStackTrace(); } }}getFile
Sección titulada «getFile»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getFile(String key, String path) | ConfigStoredFile | Devuelve el parámetro de configuración como un objeto ConfigStoredFile. El parámetro path es una ruta de recurso del classpath usada para rellenar el valor por defecto cuando la clave se crea por primera vez. El contenido del fichero se almacena codificado en Base64 en la base de datos. |
Ejemplo:
package com.openkm;
import com.openkm.bean.ConfigStoredFile;import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); ConfigStoredFile storedFile = configSrv.getFile("plugin.myPlugin.logo", "img/logo.png"); System.out.println("File name: " + storedFile.getName()); System.out.println("MIME type: " + storedFile.getMime()); } catch (Exception e) { e.printStackTrace(); } }}getList
Sección titulada «getList»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getList(String key, String defaultValue) | List |
Devuelve el parámetro de configuración como una lista de cadenas. El valor almacenado es una cadena delimitada por saltos de línea; este método la analiza y devuelve cada línea no vacía como una entrada de la lista. |
Ejemplo:
package com.openkm;
import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); for (String item : configSrv.getList("plugin.myPlugin.allowedRoles", "ROLE_ADMIN")) { System.out.println(item); } } catch (Exception e) { e.printStackTrace(); } }}findAll
Sección titulada «findAll»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findAll() | List |
Devuelve todos los parámetros de configuración almacenados en la base de datos. |
Ejemplo:
package com.openkm;
import com.openkm.db.bean.Config;import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); for (Config cfg : configSrv.findAll()) { System.out.println(cfg.getKey() + " = " + cfg.getValue()); } } catch (Exception e) { e.printStackTrace(); } }}findAllFiltered
Sección titulada «findAllFiltered»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findAllFiltered(String txt) | List |
Devuelve todos los parámetros de configuración cuya clave contiene el texto de filtro dado. |
Ejemplo:
package com.openkm;
import com.openkm.db.bean.Config;import com.openkm.db.service.ConfigSrv;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ConfigSrv configSrv = ContextWrapper.getContext().getBean(ConfigSrv.class); for (Config cfg : configSrv.findAllFiltered("plugin.myPlugin")) { System.out.println(cfg.getKey() + " = " + cfg.getValue()); } } catch (Exception e) { e.printStackTrace(); } }}