AnsweredAssumed Answered

problema al ejecutar transformador a medida

Question asked by cesarista on Nov 17, 2009
Latest reply on Nov 19, 2009 by cesarista
Hola:

Tengo un problemilla al definir el siguiente transformador en la Alfresco 3.2 Comunnity.

Estoy implementando el ejemplo de transformador de html a xhtml con tidy del wiki:

http://wiki.alfresco.com/wiki/Content_Transformations

He hecho los cambios en las definiciones de los transformadores, introducidos con Alfresco 3.2.
Tengo declarados los mimetypes, se visualiza la transformación al ejecutar la acción sobre el documento, pero parece que algo falla en el proceso de transformación. Por supuesto, cuando ejecuto el comando en la shell funciona perfectamente.

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
   <bean id="transformer.Tidy" class="org.alfresco.repo.content.transform.ProxyContentTransformer" parent="baseContentTransformer">
      <property name="worker">
         <ref bean="transformer.worker.Tidy" />
      </property>
   </bean>

   <bean id="transformer.worker.Tidy" class="org.alfresco.repo.content.transform.RuntimeExecutableContentTransformerWorker">
      <property name="mimetypeService">
         <ref bean="MimetypeService"/>
      </property>

      <property name="checkCommand">
         <bean class="org.alfresco.util.exec.RuntimeExec">
            <property name="commandMap">
                <map>
                    <entry key=".*">
                        <value>/usr/bin/tidy -help</value>
                    </entry>
                </map>
            </property>
            <property name="errorCodes">
               <value>2</value>
            </property>
         </bean>
      </property>
      <property name="transformCommand">
         <bean class="org.alfresco.util.exec.RuntimeExec">
            <property name="commandMap">
                <map>
                    <entry key="Linux">
                        <value>/usr/bin/tidy -quiet -asxhtml -o ${target} ${source}</value>
                    </entry>
                    <entry key="Windows.*">
                        <value>/usr/bin/tidy -quiet -asxhtml -o ${target} ${source}</value>
                    </entry>
                </map>
            </property>
            <property name="errorCodes">
               <value>2</value>
            </property>
         </bean>
      </property>
      <property name="explicitTransformations">
         <list>
            <bean class="org.alfresco.repo.content.transform.ExplictTransformationDetails" >
                <property name="sourceMimetype"><value>text/html</value></property>
                <property name="targetMimetype"><value>application/xhtml+xml</value></property>
            </bean>
         </list>
      </property>
   </bean>
</beans>

Y obtengo el siguiente error:

13:37:00,056 User:admin ERROR [ui.common.Utils] No se ha podido crear la acción debido a un error: 10170002 Content conversion failed:
   reader: ContentAccessor[ contentUrl=store://2009/11/17/13/36/0f2ee648-7c82-4f54-8794-7dd9f451bf5c.bin, mimetype=text/html, size=53, encoding=UTF-8, locale=es_ES]
   writer: ContentAccessor[ contentUrl=store://2009/11/17/13/36/012bf475-5476-4f59-aa49-8ca3ca399d03.bin, mimetype=application/xhtml+xml, size=0, encoding=UTF-8, locale=es_ES]
   options: org.alfresco.service.cmr.repository.TransformationOptions@1cf0abd
org.alfresco.service.cmr.repository.ContentIOException: 10170002 Content conversion failed:
   reader: ContentAccessor[ contentUrl=store://2009/11/17/13/36/0f2ee648-7c82-4f54-8794-7dd9f451bf5c.bin, mimetype=text/html, size=53, encoding=UTF-8, locale=es_ES]
   writer: ContentAccessor[ contentUrl=store://2009/11/17/13/36/012bf475-5476-4f59-aa49-8ca3ca399d03.bin, mimetype=application/xhtml+xml, size=0, encoding=UTF-8, locale=es_ES]
   options: org.alfresco.service.cmr.repository.TransformationOptions@1cf0abd
   at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:176)
   at org.alfresco.repo.content.ContentServiceImpl.transform(ContentServiceImpl.java:535)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
.
.
.

Alguna idea ?

Outcomes