AnsweredAssumed Answered

Duda con PolicyComponent

Question asked by ajv on May 4, 2008
Hola a todos,
Quiero enlazar un método java con un comportamiento de Alfresco, de tal manera que cuando se cree un determinado espacio ejecute el método en cuestión y después se deshabilite dicho comportamiento (es decir, que sólo lo haga 1 vez).
Hasta ahora tengo esto:

   public void initialise() {
      // Enlazamos el metodo onCreateNode con el evento de crear un espacio
      this.policyComponent.bindClassBehaviour(
            QName.createQName(NamespaceService.ALFRESCO_URI, "onCreateNode"),
            ContentModel.TYPE_FOLDER,
            new JavaBehaviour(this, "onCreateNode"));
   }
   
   public void onCreateNode(ChildAssociationRef childAssocRef) {
      NodeRef espacio = childAssocRef.getChildRef();
      // Si el espacio que han creado cumple X condiciones…ejecutamos el metodo y desregistramos para que no se vuelva a disparar este metodo.
               …
   }
Lo que no sé hacer es desregistrar un comportamiento, es decir, hacer lo opuesto del bindClassBehaviour.
He revisado la clase org.alfresco.repo.policy.PolicyComponent y no he encontrado nada…El problema es que si no desregistro, se ejecutará cada vez que se cree un espacio y aunque podría evitar la ejecución dle cuerpo del método añadiendo una serie larga de condiciones, el procedimiento se ejecutaría siempre, y no quiero que sobrecargue en exceso…
Es decir, la idea es que la última linea del metodo onCreateNode sea algo así como:
policyComponent.desregistrarMetodo("onCreateNode");
Alguna sugerencia para desregistrar??
Gracias!

Outcomes