cancel
Showing results for 
Search instead for 
Did you mean: 

[JAVA] ActionService - transformation PDF

gawel
Confirmed Champ
Confirmed Champ

Bonjour,

Je souhaite transformer un document en PDF, mais la class de service ActionService semble ignorer le paramètre de destination (newPdfFile est null). Ci-dessous le code:

Action transform = actionService.createAction(TransformActionExecuter.NAME);
transform.setParameterValue(TransformActionExecuter.PARAM_MIME_TYPE, MimetypeMap.MIMETYPE_PDF);
transform.setParameterValue(TransformActionExecuter.PARAM_DESTINATION_FOLDER, destination);
transform.setParameterValue(TransformActionExecuter.PARAM_OVERWRITE_COPY, false);
transform.setExecuteAsynchronously(false);
actionService.executeAction(transform, sourceFile);

NodeRef newPdfFile = getFinalFile(sourceFile, destination);

private NodeRef getFinalFile(NodeRef sourceNodeRef, NodeRef destinationNodeRef) {

        NodeRef pdfFile = null;

        String sourceName = (String) nodeService.getProperty(sourceNodeRef, ContentModel.PROP_NAME);
        String nameWithoutExt = org.apache.commons.io.FilenameUtils.removeExtension(sourceName);
        String nameWithPdfExt = nameWithoutExt.concat(".pdf");

        for (ChildAssociationRef childRef : nodeService.getChildAssocs(destinationNodeRef)) {
            NodeRef childNodeRef = childRef.getChildRef();
            String name = (String) nodeService.getProperty(childNodeRef, ContentModel.PROP_NAME);

            if (nameWithPdfExt.equals(name)) {
                pdfFile = childNodeRef;
            }
        }
        return pdfFile;
}

Malgré une fouille approfondie du ContentStore le PDF est introuvable (pas dans le dossier de destination, pas de résultat avec une recherche SOLR etc.).

En revanche, le PDF est bien transformer (présent dans <alf_home>/tomcat/temp/)

Petite particularité : mon code java ci-dessous est appelé par une TASK ACTIVITI

(urgent, quelqu'un à une idée?)

2 REPLIES 2

ycoulon
Employee
Employee

Bonjour,

Avez-vous observé quoique ce soit dans les logs Alfresco lors de l'exécution ?

Y.

gawel
Confirmed Champ
Confirmed Champ

Bonjour,
Justement rien au niveau des logs.
Aucune erreur.
Le code semble correcte mais le document est manquant dans le contentStore alfresco bien que la transformation soit bien effectuée.

Une piste? Une idée ?