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 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 public AcaoPopMenu(String posSQL) { 47 if(posSQL.startsWith("select")) { 48 sql=posSQL; 49 } else { 50 sql+=posSQL; 51 } 52 } 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 PainelWebFotos.setCursorWait(true); 64 65 TableModelAlbum.getModel().update(sql); 66 TableModelAlbum.getModel().fireTableStructureChanged(); 67 TableModelAlbum.getModel().fireTableDataChanged(); 68 69 PainelWebFotos.apresentaNumReg(); 70 PainelWebFotos.setCursorWait(false); 71 } 72 73 } 74 75