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
Solved! Go to Solution.
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:
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:
Discussions about Alfresco Content Services and Alfresco Process Services in Spanish
Related:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.