Crear espacios desde Bean

cancel
Showing results for 
Search instead for 
Did you mean: 
fstnboy
Active Member

Crear espacios desde Bean

Buenas a todos,

Tengo implementado un face (.jsp) que hace uso de un Bean. Lo que quiero es que un método de este Bean crea un espacio utilizando el usuario actual.

Lo que ya tengo hecho es crear espacios desde una aplicación fuera de alfresco y lo que he supuesto más fácil es hacerlo de la misma forma que lo hace, como en el articulo de Jeff Potts http://www.ecmarchitect.com

La única pega que encuentro es que se authentica…


AuthenticationUtils.startSession(userName, password);

AuthenticationUtils.endSession();

Y cada vez que creo un espacio como hago un "endSession" se me desconecta el usuario….

¿Alguna otra forma de hacerlo?
5 Replies
fstnboy
Active Member

Re: Crear espacios desde Bean

Ya he conseguido crear un espacio de un tipo determinado haciendo uso del FileInfoService, pero no consigo que las propiedades tomen el valor que quiero…

Cómo podría hacerlo
ajv
Member II

Re: Crear espacios desde Bean

Hola fstnboy,

Exacto, para crear un espacio puedes hacer uso del FileFolderService. Algo así como esto:
FileInfo fileInfo = getServiceRegistry().getFileFolderService().create(getPath(), uid, ContentModel.TYPE_FOLDER);
Después para darle propiedades específicas puedes hacer uso del nodeService:
nodeService.setProperty(fileInfo.getNodeRef(), ContentModel.PROP_DESCRIPTION, "Descripcion"); 
NodeService tiene un método (setProperty) que indicando el nodeRef, el QName de la propiedad y el valor, pues lo establece para ese nodo…creo que con eso te irá perfecto.  Smiley Very Happy
Saludos!!
fstnboy
Active Member

Re: Crear espacios desde Bean

Pongo el código de cómo lo hago hasta ahora…. lo que me falta es que me guarde los datos de las properties


ServiceRegistry serviceRegistry = Repository.getServiceRegistry(FacesContext.getCurrentInstance());

FileFolderService ffService = serviceRegistry.getFileFolderService();

FileInfo fileInfo = ffService.create(navigationBean.getCurrentNode().getNodeRef(), this.inputText.getValue().toString(), QName.createQName(qName));

Node node = new Node(fileInfo.getNodeRef());

Map<String, Object> properties = node.getProperties();
//Doy valores a las propiedades
properties.put("…", …);
….

ajv
Member II

Re: Crear espacios desde Bean

Buenas,

Viendo tu código completo la respuesta  Smiley Very Happy
El NodeService también dispone del siguiente método:
setProperties(NodeRef nodeRef, java.util.Map properties)
Por tanto, basta con que le pases por parámetro el Map properties que has estado creando.

Saludos!!
fstnboy
Active Member

Re: Crear espacios desde Bean

Hola fstnboy,

Exacto, para crear un espacio puedes hacer uso del FileFolderService. Algo así como esto:
FileInfo fileInfo = getServiceRegistry().getFileFolderService().create(getPath(), uid, ContentModel.TYPE_FOLDER);
Después para darle propiedades específicas puedes hacer uso del nodeService:
nodeService.setProperty(fileInfo.getNodeRef(), ContentModel.PROP_DESCRIPTION, "Descripcion"); 
NodeService tiene un método (setProperty) que indicando el nodeRef, el QName de la propiedad y el valor, pues lo establece para ese nodo…creo que con eso te irá perfecto.  Smiley Very Happy
Saludos!!

Gracias!!!!!!!! Enhorabuena y suerte con las siguientes fases