/* * This file is a part of EpnTAPClient. * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer. * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861 * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie. * * This program is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 3 of the License, or (at your option) any later * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. You should have received a copy of * the GNU General Public License along with this program. If not, see * . */ package eu.omp.irap.vespa.epntapclient.view; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import org.apache.log4j.Logger; import eu.omp.irap.vespa.epntapclient.utils.Queries; import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException; /** * @author N. Jourdane */ public class RequestView extends JPanel implements ActionListener { /** The logger for this class. */ private static final Logger logger = Logger.getLogger(RequestView.class); /** The serial version UID (affected with a random number). */ private static final long serialVersionUID = 1262856496809315405L; /** The EPN-TAP main view. */ EpnTapMainView mainView; /** The text area where the user put the query. */ JTextArea queryArea; /** * Method constructor * * @param mainView The EPN-TAP main view. */ public RequestView(EpnTapMainView mainView) { this.mainView = mainView; JLabel queryTitle = new JLabel("Query for the selected service"); queryArea = new JTextArea(Queries.SAMPLE_AMDA_QUERY); JButton button = new JButton("Send query"); button.setName("btnSend"); setLayout(new BorderLayout()); this.add(queryTitle, BorderLayout.NORTH); this.add(queryArea, BorderLayout.CENTER); this.add(button, BorderLayout.SOUTH); button.addActionListener(this); } @Override public void actionPerformed(ActionEvent evt) { if (((JButton) evt.getSource()).getName() == "btnSend") { try { mainView.getController().sendQuery(queryArea.getText()); } catch (VOTableException e) { logger.error("Can not send query when clicking on the send button.", e); } } } }