Coverage Report - net.sf.webphotos.gui.AcaoPopMenu
 
Classes in this File Line Coverage Branch Coverage Complexity
AcaoPopMenu
38%
5/13
50%
1/2
1,5
 
 1  
 /**
 2  
  * Copyright 2008 WebPhotos
 3  
  *
 4  
  * Licensed under the Apache License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  *      http://www.apache.org/licenses/LICENSE-2.0
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 /*
 17  
  * AcaoPopMenu.java
 18  
  *
 19  
  * Created on 29 de Maio de 2006, 15:48
 20  
  *
 21  
  * To change this template, choose Tools | Template Manager
 22  
  * and open the template in the editor.
 23  
  */
 24  
 
 25  
 package net.sf.webphotos.gui;
 26  
 
 27  
 import java.awt.event.ActionEvent;
 28  
 import javax.swing.AbstractAction;
 29  
 import net.sf.webphotos.gui.util.TableModelAlbum;
 30  
 
 31  
 /**
 32  
  * Gera o menu de visualização dos dados do albúm.
 33  
  * Faz uma busca no banco de dados, e ao inicializar o construtor atualiza o valor da variável sql, usada na busca ao banco.
 34  
  * Com seu método de ação, implementa a atualização do modelo da tabela e apresenta os registros encontrados.
 35  
  * @author guilherme
 36  
  */
 37  
 public class AcaoPopMenu extends AbstractAction {
 38  27
     String sql="select albumID as ID, categorias.nmcategoria as Categoria, nmalbum as Pauta, DATE_FORMAT(DtInsercao, '%d/%m/%y') as Data from albuns left join categorias using(categoriaID) ";
 39  
 
 40  
     /**
 41  
      * Construtor da classe.
 42  
      * Recebe uma String como parâmetro e testa se ela inicia com "SELECT", caso positivo, substitui a variável sql da classe pela recebida no construtor.
 43  
      * Caso contrário, concatena o valor recebido à variável da classe.
 44  
      * @param posSQL Query do sql ou continuação de uma query.
 45  
      */
 46  27
     public AcaoPopMenu(String posSQL) {
 47  27
         if(posSQL.startsWith("select")) {
 48  0
             sql=posSQL;
 49  
         } else {
 50  27
             sql+=posSQL;
 51  
         }
 52  27
     }
 53  
 
 54  
     /**
 55  
      * Esse método tem como objetivo construir o menu de visualização dos dados dos albúns.
 56  
      * Armazena uma tabela com os albúns em uma variável chamada <I>tabela</I>, atualiza o modelo da tabela baseado na busca ao banco de dados.
 57  
      * Por último apresenta o número de registros encontrados.
 58  
      * Apresenta utilização apenas na classe AcaoPopMenuTest localizada nos pacotes de teste.
 59  
      * @param e Evento da ação de construção do menu.
 60  
      */
 61  
     @Override
 62  
     public void actionPerformed(ActionEvent e) {
 63  0
         PainelWebFotos.setCursorWait(true);
 64  
 
 65  0
         TableModelAlbum.getModel().update(sql);
 66  0
         TableModelAlbum.getModel().fireTableStructureChanged();
 67  0
         TableModelAlbum.getModel().fireTableDataChanged();
 68  
 
 69  0
         PainelWebFotos.apresentaNumReg();
 70  0
         PainelWebFotos.setCursorWait(false);
 71  0
     }
 72  
         
 73  
 }
 74  
 
 75