/* * Execute query against a list of sensors * * */ public static String executeQuery( String envelope, String query, String matchingSensors, String format) throws ParseException { // String matchingSensors = getListOfSensorsAsString(envelope); String reformattedQuery = reformatQuery(query, matchingSensors); StringBuilder sb = new StringBuilder(); Connection connection = null; try { connection = Main.getDefaultStorage().getConnection(); Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet results = statement.executeQuery(reformattedQuery); ResultSetMetaData metaData; // Additional information about the results int numCols, numRows; // How many rows and columns in the table metaData = results.getMetaData(); // Get metadata on them numCols = metaData.getColumnCount(); // How many columns? results.last(); // Move to last row numRows = results.getRow(); // How many rows? String s; // System.out.println("* Executing query *\n" + reformattedQuery + "\n***"); // headers // sb.append("# Query: " + query + NEWLINE); sb.append("# Query: " + reformattedQuery.replaceAll("\n", "\n# ") + NEWLINE); sb.append("# "); // System.out.println("ncols: " + numCols); // System.out.println("nrows: " + numRows); for (int col = 0; col < numCols; col++) { sb.append(metaData.getColumnLabel(col + 1)); if (col < numCols - 1) sb.append(SEPARATOR); } sb.append(NEWLINE); for (int row = 0; row < numRows; row++) { results.absolute(row + 1); // Go to the specified row for (int col = 0; col < numCols; col++) { Object o = results.getObject(col + 1); // Get value of the column // logger.warn(row + " , "+col+" : "+ o.toString()); if (o == null) s = "null"; else s = o.toString(); if (col < numCols - 1) sb.append(s).append(SEPARATOR); else sb.append(s); } sb.append(NEWLINE); } } catch (SQLException e) { sb.append("ERROR in execution of query: " + e.getMessage()); } finally { Main.getDefaultStorage().close(connection); } return sb.toString(); }
public void createGUI() { setLayout(new BorderLayout()); JPanel topPan = new JPanel(new BorderLayout()); // topPan.setBorder(BorderFactory.createRaisedSoftBevelBorder()); JPanel topCentPan = new JPanel(); JLabel titleLab = new JLabel(); titleLab.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 15)); topCentPan.add(titleLab); JPanel topRightPan = new JPanel(); // Cursor handCursor = new Cursor(Cursor.HAND_CURSOR); replyBut = new JButton(new ImageIcon("src\\images\\replyIcon.png")); replyBut.setBorder(BorderFactory.createEmptyBorder()); replyBut.addActionListener(this); replyBut.setCursor(new Cursor(Cursor.HAND_CURSOR)); replyBut.setToolTipText("Reply"); replyBut.setContentAreaFilled(false); replyBut.setRolloverEnabled(true); forwardBut = new JButton(new ImageIcon("src\\images\\forwardIcon.png")); forwardBut.setBorder(BorderFactory.createEmptyBorder()); forwardBut.addActionListener(this); forwardBut.setCursor(new Cursor(Cursor.HAND_CURSOR)); forwardBut.setToolTipText("Forward"); forwardBut.setContentAreaFilled(false); forwardBut.setRolloverEnabled(true); topRightPan.add(replyBut); topRightPan.add(forwardBut); topPan.add(topCentPan, "Center"); topPan.add(topRightPan, "East"); JPanel centPan = new JPanel(new BorderLayout()); JPanel centTopPan = new JPanel(new BorderLayout()); JPanel centTopLeftPan = new JPanel(); JLabel fromLab = new JLabel(); fromLab.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 12)); JTextArea contentTA = new JTextArea(); // JEditorPane contentTA = new JEditorPane(JEditorPane.W3C_LENGTH_UNITS,""); contentTA.setLineWrap(true); contentTA.setEditable(false); centTopLeftPan.add(fromLab); JPanel centTopRightPan = new JPanel(); JLabel dateLab = new JLabel(); dateLab.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 11)); centTopRightPan.add(dateLab); centTopPan.add(centTopLeftPan, "West"); centTopPan.add(centTopRightPan, "East"); centPan.add(centTopPan, "North"); centPan.add(new JScrollPane(contentTA), "Center"); add(topPan, "North"); add(centPan, "Center"); try { workingSet.absolute(pointer + 1); msgID = Home.bodyPan.msgID[pointer]; titleLab.setText(workingSet.getString("subject")); fromLab.setText("From: " + workingSet.getString("mail_addresses")); dateLab.setText(workingSet.getString("sent_date")); contentTA.setText(workingSet.getString("content")); } catch (SQLException sqlExc) { JOptionPane.showMessageDialog(this, sqlExc, "EXCEPTION", JOptionPane.ERROR_MESSAGE); } Home.bodyPan.remove(Home.bodyPan.contentPan); Home.bodyPan.contentPan = new JScrollPane(this); Home.bodyPan.add(Home.bodyPan.contentPan); Home.home.homeFrame.setVisible(true); }