>>>> >>>> PS: Acredito que o local em que essa documentação melhor se encaixe é em "Desenvolvimento sobre a plataforma". <<<< <<<<
No desenvolvimento de uma widget para o fluig é possível programar certos comportamentos para essa em tempo de instalação, ativação ou desativação.
Esses eventos estão disponíveis desde que se utilize a "Central de Componentes" ou a "Exportação e Importação de Páginas". Ambas as rotinas encontram-se no painel de controle, na sessão "WCM". |
Para que isso seja possível, é necessário criar uma classe em seu projeto fluig que implemente a classe "com.fluig.sdk.api.component.activation.ActivationListener". É necessário também inserir uma annotation de mapeamento para ser depois (mais abaixo) referenciada em seu arquivo application.info. Veja abaixo um exemplo de uma classe:
package com.fluig; import javax.ejb.Singleton; import javax.ejb.TransactionAttribute; import javax.ejb.TransactionAttributeType; import com.fluig.sdk.api.component.activation.ActivationEvent; import com.fluig.sdk.api.component.activation.ActivationListener; @Singleton(mappedName = "activator/codigo_widget", name = "activator/codigo_widget") public class ActivationClass implements ActivationListener { /** * @return nome do arquivo que será gerado e feito o deploy na central de componentes * @throws Exception */ @Override public String getArtifactFileName() throws Exception { return "nome-do-arquivo-gerado.war"; } /** * Evento chamado no momento da instalação (deploy) do artefato dentro da Central de Componentes. * @param event * @throws Exception */ @Override public void install(ActivationEvent event) throws Exception { } /** * Evento chamado no momento da ativação do artefato dentro da Central de Componentes. * @param event * @throws Exception */ @Override public void enable(ActivationEvent event) throws Exception { } /** * Evento chamado no momento da desativação do artefato dentro da Central de Componentes. * @param event * @throws Exception */ @Override public void disable(ActivationEvent event) throws Exception { } } |
Em seguida, no arquivo application.info crie a propriedade "activation.class", cujo valor deve ser o mesmo da propriedade "name" da annotation de sua classe de ativação. Para o exemplo dado acima a propriedade ficaria assim:
activation.class=activator/codigo_widget |