Introdução ao ambiente de desenvolvimento AspectJ - Eclipse™
- Crie um diretório chamado aula1 e um subdiretório chamado
projetoTeste para armazenar o seu projeto.
- Copie os arquivos do roteiro (pacotes fachada,
contas, gui,
e util) no diretório projetoTeste.
- Execute a ferramenta Eclipse (c:\Program
Files\eclipse\eclipse.exe) e execute a ferramenta e os passos descritos em Completando
a Instalação. Caso esse arquivo não exista na sua máquina, siga os passos que estão
aqui.
- Crie um projeto:
- no menu File escolha a opção New ->
Project
- escolha o tipo de projeto AspectJ e o wizard AspectJ Project ->
Next
- digite o nome do projeto (o mesmo do diretório criado,
logo projetoTeste)
e defina o diretório do
mesmo desligando a opção Use default. O diretório deve
ser o mesmo que você copiou os arquivos do roteiro (projetoTeste). Pressione
Finish.
- Na janela Package Explorer você visualiza os pacotes do seu projeto.
- Executando o programa:
- no menu Run escolha a opção Run...
- escolha a configuração do tipo Java Application e pressione New
- defina um nome para esta configuração (ex. RodarProjetoTeste)
- na pasta Main clique em Search... e selecione a classe Programa
(a única com um método main)
- pressione Apply e em seguida Run, o programa iniciará a execução pelo console
- teste o sistema
- a partir de agora para executar o programa basta clicar no ícone de
execução (um homem correndo, abaixo do menu Window), onde estão
diversas configurações de execução
- Agora vamos criar um aspecto
- no menu File escolha a opção New -> Other..., selecione
Aspect e
em seguida clique em Next
- escolha o Source Folder (o mesmo do projeto)
- digite o nome do pacote (aspectos)
- e o nome do aspecto (Teste)
- Defina no aspecto um pointcut para
identificar todas as chamadas ao método creditar
de objetos do tipo Conta. AspectJ
Programming Guide.
- Agora defina um advice para imprimir a mensagem "Vou
creditar" antes das chamadas ao método creditar
de objetos do tipo Conta.
- Para compor o sistema com este aspecto precisamos criar um arquivo de
configuração que informa que arquivos devem ser compostos.
- no menu File -> New -> Other -> Build Configuration File
-> Next
- selecione o folder do projeto -> Finish
- por default todos os arquivos do projeto estão listados no arquivo de
configuração, incluindo o aspecto.
- Agora para gerar a versão do sistema composta pelo aspecto selecione a
opção de escolha (a seta ao lado do ícone) no quarto ícone (o abaixo dos
menus Refactor e Navigate) e escola o arquivo de configuração que foi
criado. Em seguida execute o programa e veja se o comportamento do mesmo foi
alterado como desejado.
- Para gerar a versão original do programa, sem o efeito do aspecto, abra o
arquivo de configuração e desligue a seleção no pacote aspectos, ou crie
um outro arquivo de configuração no qual o pacote aspectos não deve estar
selecionado. Em seguida gere um build do sistema e execute-o novamente,
observando que o aspecto não mais afeta o sistema.
- No menu Window escolha a opção Show view -> Other...
Em seguida na pasta AspectJ escolha as opções (segurando a tecla
Ctrl) Aspect Visualizer e Aspect Visualizer Menu. Estas
janelas mostram como os aspectos afetam as classes do projeto.
- na janela Aspect Visualizer Menu você observa os aspectos que
estão afetando o seu projeto e a cor que o representa
- na janela Aspect Menu você observa, através das cores de cada
aspecto, que aspectos afetam que classes. Quando esta janela estiver
ativa você pode selecionar uma classe ou pacote através do Package Explorer
para que seja mostrado que classes são afetadas. ]
- nas classes que forem afetadas você pode clicar duas vezes com o
mouse sobre a linha colorida para que o Eclipse mostra que método
é afetado pelo aspecto representado pela cor.
- Ainda com o projeto criado no primeiro roteiro crie outro aspecto (Teste2).
- defina um pointcut
para identificar todas as execuções do método creditar
de um objeto do tipo Conta expondo o objeto
do qual o método vai ser executado. AspectJ
Programming Guide.
- defina um advice para imprimir o saldo da conta após a
execução do método creditar.
- modifique o arquivo de configuração e salve o mesmo, o novo aspecto
deve aparecer, selecione-o e peça para gerar um novo Build. Não
selecione o aspecto Teste.
- o que deve acontecer caso ambos os aspectos forem compostos com o
sistema? Teste.
- Agora vamos fazer o Eclipse gerar o código fonte do sistema
composto com os aspectos:
- no "Package Explorer" clique com o botão direito do mouse
no projeto e escolha a opção "Properties"
- selecione o item "AspectJ compiler"
- marque a opção "Just pre-process and create .java source"
- altere o "Working directory path" para c:\temp\aula1\wovenSource,
considerando que c:\temp\aula1 é o diretório no qual está o diretorio
projetoTeste
- clique em OK
- peça para gerar um Build do projeto e olhe os arquivos no diretorio
wovenSource. Provavelmente (dependendo de como os aspectos foram
implementados) o arquivo afetado foi o Conta.java.