Ir al contenido

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.

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}