Hola, estoy añadiendo contenido en el gestor documental desde Java utilizando la clase que indico más abajopublic class AddContentHelper {
public static void execute(byte[] doc, String extension, String filename, String type, String uuid) throws Exception {
// Start the session
AuthenticationUtils.startSession("admin", "admin");
// Creamos la referencia del nodo padre, donde se añadirá el contenido
// En este caso el nodo padre es company_home
FacesContext context = FacesContext.getCurrentInstance();
String homeSpaceUUID = Application.getCurrentUser(context).getHomeSpaceId();
Store storeRef = new Store(Constants.WORKSPACE_STORE, "SpacesStore");
ParentReference companyHomeParent = new ParentReference(storeRef, (uuid!=null)? uuid : homeSpaceUUID,
null, Constants.ASSOC_CONTAINS, null);
Calendar calendario = Calendar.getInstance();
String timecad="";
timecad+=String.valueOf(calendario.get(Calendar.HOUR_OF_DAY));
timecad+=String.valueOf(calendario.get(Calendar.MINUTE));
timecad+=String.valueOf(calendario.get(Calendar.SECOND));
// Asignamos un nombre para el nodo que vamos a crea en company_home
String name = "Memorias (" + System.currentTimeMillis()
+ ")";
name= filename+"_"+timecad;
companyHomeParent.setChildName("cm:" + name);
// Comienza la construcción de nodo
NamedValue[] contentProps = new NamedValue[1];
contentProps[0] = Utils.createNamedValue(Constants.PROP_NAME, name+extension);
CMLCreate create = new CMLCreate("1", companyHomeParent, null, null,
null, Constants.TYPE_CONTENT, contentProps);
// Añadimos aspectos al nodo
NamedValue[] titledProps = new NamedValue[2];
titledProps[0] = Utils.createNamedValue(Constants.PROP_TITLE, name+extension);
titledProps[1] = Utils.createNamedValue(Constants.PROP_DESCRIPTION,
name+extension);
CMLAddAspect addAspect = new CMLAddAspect(Constants.ASPECT_TITLED,
titledProps, null, "1");
// Contruimos CML Block, con el nodo y sus aspectos
CML cml = new CML();
cml.setCreate(new CMLCreate[] { create });
cml.setAddAspect(new CMLAddAspect[] { addAspect });
// Creamos y recuperamos el contenido vía Repository Web Service
UpdateResult[] result = WebServiceFactory.getRepositoryService()
.update(cml);
Reference content = result[0].getDestination();
//
// Escribimos el contenido
//
ContentServiceSoapBindingStub contentService = WebServiceFactory
.getContentService();
ContentFormat contentFormat = new ContentFormat(type, "UTF-8");
contentService.write(content, Constants.PROP_CONTENT, doc,
contentFormat);
}}El problema que me surje es que de acuerdo a los requisitos de la aplicación que estoy realizando el usuario admin tiene que tener libertad para modifcar su password, y eso me plantea un problema cuando trato de insertar contenido.Ahora mismo tengo metido "a fuego" en el código la password genérica del admin AuthenticationUtils.startSession("admin", "admin");Lo que necesitaría es como obtener la password de ese usuario de forma dinámica (y sin encriptar) para que este método me funcione siempre con independencia de la contraseña con la que se haya autenticado el usuario admin…¿Alguna idea?, ¿alguien sabe como acceder a esa información o en su defecto cómo poder abordar este problema?Muchas gracias por anticipado