02-16-2022 01:27 AM
Buenas noches amigos, molestando con una duda. Hace algunos mese se hizo un desarrollo donde metadatos de cierto tipo documental se integraron de manera que fueran dinámicos, es decir, alimentados desde una base de datos. En un prinicipio funcionaba bien, sin embargo cuando se ingresa o elimina un registro en la base de datos, la lista de valores no se actualiza, por lo que queda desempatado. Sabrán si me falta algún tipo de modificación? Anexo el código de la clase java y del modelo donde estoy realizando las modificaciones. Muchas gracias de antemano por sus respuestas, saludos!!
CLASE JAVA
package conexion;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint;
public class Conexion6 extends ListOfValuesConstraint{
@override
public void setAllowedValues(List allowedValues){}
@override
public void setCaseSensitive(boolean caseSensitive){}
public void initialize(){
super.setCaseSensitive(false);
try {
Connection conectar = DriverManager.getConnection("jdbcostgresql://XXXXX:5432/XXXXX", "XXXXX", "XXXXX");
System.out.println("Base de datos conectada");
java.sql.Statement st = conectar.createStatement();
String sql="select * from cat_expdig_tipodocto";
ResultSet result=st.executeQuery(sql);
List<String>allowedValueList=new ArrayList<String>();
while(result.next()){
String clave=result.getString("siglas_docto");
System.out.println(clave);
allowedValueList.add(clave);
}
result.close();
st.close();
conectar.close();
super.setAllowedValues(allowedValueList);
} catch (Exception e) {
System.out.println("Error al conectar la hase de datos"+e);
}
}}
MODELO
02-16-2022 03:27 AM
Esa inicialización de la lista de valores se realiza únicamente cuando se carga el modelo, así que los cambios en base de datos no son refrescados en la lista.
Si quieres recargar los valores cada vez que se muestra la lista, debería realizar un control de Share específico, que incluya una llamada al repositorio cada vez que se utiliza en una página.
Quizá este ejemplo te sirva de ayuda:
02-16-2022 03:27 AM
Esa inicialización de la lista de valores se realiza únicamente cuando se carga el modelo, así que los cambios en base de datos no son refrescados en la lista.
Si quieres recargar los valores cada vez que se muestra la lista, debería realizar un control de Share específico, que incluya una llamada al repositorio cada vez que se utiliza en una página.
Quizá este ejemplo te sirva de ayuda:
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.