Estendendo o Agent Controller

O Agent Controller é um processo daemon que permite ao aplicativo cliente ativar os processos host e interagir com agentes que coexistam nesses processos host.  Um único arquivo de configuração é utilizado para gerenciar a extensão de seu comportamento.

O Agent Controller pode ser estendido de várias maneiras, como incluindo ou estendendo uma função ou incluindo um novo agente. Para ativar o Agent Controller para que utilize a função de plug-in, o arquivo de configuração do Agent Controller precisa ser modificado. Isto pode ser feito estendendo o gerador da configuração que permitirá que um arquivo de configuração customizado seja gerado quando SetConfig for executado. Ao estender o gerador de configuração, você terá a capacidade de consultar informações específicas do usuário no momento da configuração e de utilizar essas informações para gerar um arquivo de configuração customizado. Além disso, poderá fornecer sua própria lógica na extensão para gerar arquivos de configuração específicos da plataforma.

Siga as etapas abaixo para estender o gerador de configuração para gerar um arquivo de configuração para o seu próprio plug-in:

  1. Crie um arquivo jar, config.jar, no diretório lib dos plug-ins. O gerador de configuração procurará esse arquivo jar.
  2. Crie um diretório config no diretório raiz de seus plug-ins para armazenar o arquivo de configuração. O gerador de configuração automaticamente procurará seu plug-in do arquivo jar para criar um arquivo de configuração pluginconfig.xml no diretório config do plug-in.
  3. Grave uma extensão do gerador de configuração:
    1. Nomeie a classe como <your plug-in package name>.SetConfig. Ela deve ser uma extensão da classe org.eclipse.hyades.internal.config.generator.SetConfigSkeleton.
    2. Defina uma tag para o plug-in:
      public static String TAG = "<your plug-in package name>"; // e.g. org.eclipse.hyades.datacollection
    3. Implemente os seis métodos a seguir que são requeridos pelo gerador de configuração para gerar corretamente o arquivo de configuração customizado:
      • SetConfig(): Você deve, pelo menos, chamar super(TAG) dentro do construtor de argumento nulo.
        Exemplo:
        public SetConfig() {
          super(TAG);
          }
      • init(): Este método pode desempenhar a inicialização utilizando a tabela hash transmitida pelo gerador de configuração principal. A tabela hash contém argumentos da linha commplug-in transmitidos para SetConfig. Será necessário especificar o nome do plug-in de caminho do arquivo de configuração dentro desse método.
        Exemplo:
        public void init(Hashtable hash) {
          String home = HashUtility.getValue(hash, "RASERVER_HOME");
          setFileName(home + sr + "plug-ins" + sr + TAG + sr + "config" + sr + "pluginconfig.xml");
          }
        
      • askUser(): Este método é utilizar para solicitar que o usuário forneça informações específicas para seu plug-in.
      • printHelp(): Este método é utilizado para exibir mensagens de ajuda específicas do plug-in. Pode ser um método vazio.
      • printExamples(): Este método é utilizado para exibir exemplo de uso, como argumentos da linha de comando. Pode ser um método vazio.
      • generateConfiguration(): Este método é utilizado para gerar o XML DOM de seu plug-in.
        Exemplo:
        //Inicie este método com esta seção:
          
          doc = configFile.getDoc();
          if(doc == null) {
        	  return;
          }
        
          pConfig = doc.createElement(PluginConfig.TAG);
          holder = configFile.getHolder();
          holder.appendChild(pConfig);
        
          //Finalize o método de encerramento do plug-in com esta seção:
          
          option = doc.createElement(Option.TAG);
          Option.setName(option, TAG);
          Option.setType(option, "version");
          Option.setValue(option, getString("Config.Plugin.Version"));
          pConfig.appendChild(option);
        
          configFile.saveToFile();
        

Exemplos sobre Gravação de uma Extensão do Gerador do Arquivo de Configuração

Consulte o projeto Hyades org.eclipse.hyades.collection.framework. Os exemplos estão localizados na pasta de origem src.config:



Referência Relacionada
Arquivos de Configuração do Agent Controller

 


(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.