Dúvida estrutura

Ola Pessoal.

Estou trabalho no módulo de geração de relatórios e gráficos de um projeto. Existem alguns relatórios, todos diferentes e alguns com filtros de busca diferentes.

O que montei foi:
DAO - Um para cada relatório
Service - Um para cada grupo de relatório. Alguns são uma aplicação que me fornece os dados para o relatório, outro são outra aplicação e assim por diante…então vou fazer um Service para cada grupo.
Entidades - 2 por relatório e 1 base(com o atributo linhas). Se um relatório tem os filtros data inicial e final e os campos data e total por exemplo, seria uma entidade estendendo a base contendo os campos dataInicial e final e um List de um objeto(composto por data e total) com as linhas.
Action - É aqui minha maior dúvida. Do jeito atual eu preciso colocar if’s nos métodos dela pra verificar qual o tipo de relatório e dar o tratamento específico pro relatório.

A parte de jsp consegui fazer 1 para entrada/exibição dos dados e 1 pra exibição do gráfico, independente do relatório.

Essa é a melhor forma de se fazer?Qualquer ideia/sugestão é bem-vinda.

Desde ja obrigado

Pode ser mais especifico na sua duvida !!!??!!

A action tem que ficar cheia de ifs nos métodos mesmo ou tem alguma outra solução melhor?

A action é a responsável por controlar o fluxo da aplicação, eu utilizando o model, assim evito muita complexidade na action e assim ela fica justamente com alguns ifs !!!