AnsweredAssumed Answered

JAVA desde el intérprete javascript.

Question asked by naknak on Mar 5, 2009
Hola,

Alfresco tiene un intérprete de javascript, Rhino, desde donde se pueden realizar diferentes tratamientos del repositorio usando la API que éste ofrece.  Pero, ¿qué ocurre si queremos realizar alguna operación para la que no existe implementación en esta API?  En mi caso, consigo resolver parte del problema con la API de Alfresco para Rhino; pero hay otra parte que no puedo resolver usando esa misma vía.  Por tanto, he pensado en implementar una clase JAVA que me permita completar la solución.

He basado esta parte del trabajo en esta entrada de wiki de alfresco.  Esto es:

1º) Vamos al archivo de configuración tomcat/webapps/alfresco/WEB-INF/classes/alfresco/script-services-context.xml donde añadiremos un nuevo bean mediante el siguiente código:


<bean id="holaMundoScript" parent="baseJavaScriptExtension" class="com.example.HolaMundo">
    <property name="extensionName">
        <value>holaMundo</value>
    </property>
</bean>

2º) Escribimos la clase HolaMundo.java.  Pues bien, aquí me asaltan, al menos, un par de dudas:
    a) ¿Qué estructura ha de tener esta clase para que se corresponda con la definida en el bean del punto 1?
    b) ¿En que directorio he de colocar la clase HolaMundo.class para que el bean la "pesque"?
3º) Una vez hecho todo lo anterior, se supone que se podría llamar a un método público de la clase HolaMundo.java desde el intérprete de javascript de alfresco usando una línea del tipo:



holaMundo.saluda();


Me encomiendo a la comunidad para seguir avanzando  :oops:. Un saludo.

Outcomes