As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
// Get Document Name String documentName = (String)nodeService.getProperty(actionedUponNodeRef, ContentModel.PROP_NAME); System.out.println("Get Extension for document: " + documentName); // Check Document Extension // Get Mime Type String contentMimeType = this.contentService.getWriter(actionedUponNodeRef, ContentModel.PROP_CONTENT, true).getMimetype().toString(); System.out.println("Content Mime Type: " + contentMimeType); String contentExtension = documentName.substring(documentName.lastIndexOf('.')+1, documentName.length()); System.out.println("L'extension est: " + contentExtension); if (contentMimeType.equals(PDF_MIME_TYPE) && !contentExtension.equals(PDF_EXTENSION)) { System.out.println("L'extension courrante ne correspond pas au Mime Type courrant"); documentName = documentName.replace(contentExtension, PDF_EXTENSION); System.out.println("Le nouveau nom est: " + documentName); nodeService.setProperty(actionedUponNodeRef, ContentModel.PROP_NAME,documentName); }
System.out.println("Node Path: " + nodeService.getPath(actionedUponNodeRef).toString());
Bonjour,J'ai lu en diagonale mais en ce qui concerne le Path, il n'est effectivement pas construit à partir du nom du document (et des espaces parents) mais à partir du nom des instances de ChildAssociation traversées pour aller de la racine au document. Or certains services créent des noms de child association baroques (genre cm:move pour l'action de déplacement).Je ne sais pas s'il est possible de renommer la child association a posteriori, mais on peut par contre parfois remédier à ce problème en gérant soi-même la création d'un noeud (et donc de la child association qui le relie à son parent) au lieu de passer par des services de haut niveau.Je ne sais pas si ça répond à ta question, mais cette petite précision + un passage par le NodeBrowser pour constater les noms mis par défaut par Alfresco peuvent éclairer ta lanterne.
public ChildAssociationRef createNode( NodeRef parentRef, QName assocTypeQName, QName assocQName, QName nodeTypeQName, Map<QName, Serializable> properties)
// Get Document Name String documentName = (String)this.nodeService.getProperty(actionedUponNodeRef, ContentModel.PROP_NAME); System.out.println("Get Extension for document: " + documentName); // Check Document Extension // Get Mime Type String contentMimeType = this.contentService.getWriter(actionedUponNodeRef, ContentModel.PROP_CONTENT, true).getMimetype().toString(); System.out.println("Content Mime Type: " + contentMimeType); String contentExtension = documentName.substring(documentName.lastIndexOf('.')+1, documentName.length()); System.out.println("L'extension est: " + contentExtension); if (contentMimeType.equals(PDF_MIME_TYPE) && !contentExtension.equals(PDF_EXTENSION)) { System.out.println("L'extension courrante ne correspond pas au Mime Type courrant"); documentName = documentName.replace(contentExtension, PDF_EXTENSION); System.out.println("Le nouveau nom est: " + documentName); try { this.fileFolderService.rename(actionedUponNodeRef, documentName); this.nodeService.setProperty(actionedUponNodeRef, ontentModel.PROP_NAME,documentName); } catch (Exception e){ logger.error(e.getMessage()); }