List of usage examples for javax.swing.table TableModel getRowCount
public int getRowCount();
From source file:us.daveread.basicquery.BasicQuery.java
/** * Reports statistics on various data such as the date a query was executed * and/*from w w w.j ava 2 s .c o m*/ * the date the results were fetched. Other statistics are reported on such as * the * the date a connection was asked for, and the date it was actually received. * The report statistics are written to an external text file * represented by DBSTATS_NAME. * * @param sqlStatement * The SQL statement * @param connAsk * The time when the connection was requested * @param connGot * The time when the connection was returned * @param stmtGot * The time when the statement was returned * @param queryStart * The time when query exeution began * @param queryReady * The time when the query finished exeuting * @param queryRSFetched * The time when the result set had been completely fetched * @param queryRSProcessed * The time when the result set had been completely processed * @param rows * The number of rows in the result set * @param cols * The number of columns in the result set * @param model * The table model for the results * @param outParams * The output parameters defined for this SQL statement */ private void reportStats(String sqlStatement, java.util.Date connAsk, java.util.Date connGot, java.util.Date stmtGot, java.util.Date queryStart, java.util.Date queryReady, java.util.Date queryRSFetched, java.util.Date queryRSProcessed, long rows, int cols, TableModel model, List<Object> outParams) { Runtime runtime; String runStats; PrintWriter out; boolean firstEntry; final String valueNotApplicable = "\"" + Resources.getString("proValueNotApplicable") + "\","; runStats = ""; out = null; firstEntry = false; if (fileLogStats.isSelected()) { // Identify whether file exists, if not create and add header row try { new FileReader(DBSTATS_NAME).close(); } catch (Exception any) { firstEntry = true; } try { out = new PrintWriter(new FileWriter(DBSTATS_NAME, true)); } catch (Exception any) { LOGGER.error("Failed to write the statistics file [" + DBSTATS_NAME + "]", any); messageOut(Resources.getString("errFailWriteStatsFile", DBSTATS_NAME, any.getMessage()), STYLE_RED); } } // Make sure it is always safe to write to "out" -- simplifies logic if (out == null) { out = new PrintWriter(new StringWriter()); } // Header, if needed if (firstEntry) { out.print(Resources.getString("proQueryStatsExportHeader")); if (outParams != null && outParams.size() > 0) { for (int param = 0; param < outParams.size(); ++param) { out.print(Resources.getString("proQueryStatsExportHeaderParam", param + "")); } } out.println(); } // Output Query Index Number out.print(querySelection.getSelectedIndex() + ","); // Output SQL, replacing quotes with apostrophes out.print("\"" + sqlStatement.replace('"', '\'') + "\","); // Output timestamp out.print(Utility.formattedDate(new java.util.Date()) + ","); // Output time required to get connection to database if (connAsk != null && connGot != null) { runStats += Resources.getString("proTimeConnOpen", (connGot.getTime() - connAsk.getTime()) + ""); runStats += " "; out.print((connGot.getTime() - connAsk.getTime()) + ","); } else { out.print(valueNotApplicable); } // Output time required to get statement object if (connGot != null && stmtGot != null) { runStats += Resources.getString("proTimeStmtAccess", (stmtGot.getTime() - connGot.getTime()) + ""); runStats += " "; out.print((stmtGot.getTime() - connGot.getTime()) + ","); } else { out.print(valueNotApplicable); } // Time it took to configure statement if (queryStart != null && stmtGot != null) { runStats += Resources.getString("proTimeStmtSetup", (queryStart.getTime() - stmtGot.getTime()) + ""); runStats += " "; out.print((queryStart.getTime() - stmtGot.getTime()) + ","); } else { out.print(valueNotApplicable); } runStats += "\n "; // Output time DB took to execute query if (queryStart != null && queryReady != null) { runStats += Resources.getString("proTimeDBExecute", (queryReady.getTime() - queryStart.getTime()) + ""); runStats += " "; out.print((queryReady.getTime() - queryStart.getTime()) + ","); } else { out.print(valueNotApplicable); } // Output time it took to fetch all results if (queryReady != null && queryRSFetched != null) { runStats += Resources.getString("proTimeResultsFetch", (queryRSFetched.getTime() - queryReady.getTime()) + ""); runStats += " "; out.print((queryRSFetched.getTime() - queryReady.getTime()) + ","); } else { out.print(valueNotApplicable); } // Output time it took to process all results if (queryReady != null && queryRSProcessed != null) { runStats += Resources.getString("proTimeResultSet", (queryRSProcessed.getTime() - queryReady.getTime()) + ""); runStats += " "; out.print((queryRSProcessed.getTime() - queryReady.getTime()) + ","); } else { out.print(valueNotApplicable); } if (runStats.length() > 0) { messageOut(Resources.getString("proTimeDBStats") + " ", STYLE_SUBTLE, false); messageOut(runStats, STYLE_NORMAL, false); runStats = ""; } // Output total time it took to obtain connection, execute SQL and obtain // results if (connAsk != null && queryRSFetched != null) { runStats += Resources.getString("proTimeTotal", (queryRSFetched.getTime() - connAsk.getTime()) + ""); runStats += " "; out.print((queryRSFetched.getTime() - connAsk.getTime()) + ","); } else if (connAsk != null && queryRSProcessed != null) { runStats += Resources.getString("proTimeTotal", (queryRSProcessed.getTime() - connAsk.getTime()) + ""); runStats += " "; out.print((queryRSProcessed.getTime() - connAsk.getTime()) + ","); } else if (connAsk != null && queryReady != null) { runStats += Resources.getString("proTimeTotal", (queryReady.getTime() - connAsk.getTime()) + ""); runStats += " "; out.print((queryReady.getTime() - connAsk.getTime()) + ","); } else { out.print(valueNotApplicable); } messageOut(runStats, STYLE_BOLD, true); // Output number of columns in resultset out.print(cols + ","); // Output number of rows returned or modified out.print(rows + "," + maxRows.getSelectedItem().toString() + ","); runtime = Runtime.getRuntime(); // Output environment information out.print(runtime.totalMemory() + "," + runtime.freeMemory() + "," + (runtime.totalMemory() - runtime.freeMemory()) + "," + runtime.maxMemory() + "," + runtime.availableProcessors()); if (configDisplayClientInfo.isSelected()) { runStats = Resources.getString("proMemAlloc", runtime.totalMemory() + ""); runStats += " " + Resources.getString("proMemFree", runtime.freeMemory() + ""); runStats += " " + Resources.getString("proMemUsed", (runtime.totalMemory() - runtime.freeMemory()) + ""); runStats += " " + Resources.getString("proMemMax", runtime.maxMemory() + ""); runStats += " " + Resources.getString("proProcessors", runtime.availableProcessors() + ""); messageOut(Resources.getString("proClientEnv") + " ", STYLE_SUBTLE, false); messageOut(runStats); } if (poolConnect.isSelected()) { messageOut(Resources.getString("msgPoolStats") + " ", STYLE_SUBTLE, false); messageOut(Resources.getString("msgPoolStatsCount", getDBPool().getNumActive() + "", getDBPool().getNumIdle() + "")); } // If output parameters, list them if (outParams != null && outParams.size() > 0) { for (int param = 0; param < outParams.size(); ++param) { out.print(","); if (outParams.get(param) instanceof String) { out.print("\""); } out.print(outParams.get(param)); if (outParams.get(param) instanceof String) { out.print("\""); } } } // If model given, output describe content if (model != null) { for (int row = 1; row < model.getRowCount(); ++row) { out.print(",\""); // Column Name out.print(model.getValueAt(row, 0)); // Type out.print(" " + model.getValueAt(row, 1)); // Size out.print(" " + model.getValueAt(row, 2)); // Precision out.print(" (" + model.getValueAt(row, 3) + "," + model.getValueAt(row, 4) + ")"); out.print("\""); } } out.println(); out.close(); }
From source file:us.daveread.basicquery.BasicQuery.java
/** * Gets the column name for the column that is being selected in the table * /* w ww .j a va2 s. c o m*/ * @return columns A string array with the Column Names and Values */ private String[][] getColumnNamesForTable() { String[][] columns; TableModel model; model = table.getModel(); if (modeOfCurrentTable == Query.MODE_DESCRIBE) { columns = new String[model.getRowCount()][3]; for (int i = 0; i < model.getRowCount(); ++i) { columns[i][0] = model.getValueAt(i, 0).toString(); columns[i][1] = model.getValueAt(i, 1).toString(); // Type if (table.isRowSelected(i)) { columns[i - 1][2] = "Selected"; } else { columns[i - 1][2] = null; } } } else { columns = new String[model.getColumnCount()][3]; for (int i = 0; i < model.getColumnCount(); ++i) { columns[i][0] = model.getColumnName(i); // Remove type if present if (columns[i][0].indexOf("[") > -1) { columns[i][1] = columns[i][0].substring(columns[i][0].indexOf("[") + 1); columns[i][0] = columns[i][0].substring(0, columns[i][0].indexOf("[")).trim(); } else { /** * Todo: change column name/type design so that we can easily get the * column type. */ columns[i][1] = "Number"; } if (table.isColumnSelected(i)) { columns[i][2] = "Selected"; } else { columns[i][2] = null; } } } return columns; }
From source file:us.daveread.basicquery.BasicQuery.java
/** * Writes the data onto a file that is specified by the filePath * /*from ww w. j a va 2 s . com*/ * @param query * The SQL statement * @param model * The model for the current results * @param filePath * A String that denotes the filepath * @param append * Whether to append the current results into the file * * @todo Make this handle other data types (especially Date/Time) better * for cleaner import to spreadsheet. */ private void writeDataAsCSV(String query, TableModel model, String filePath, boolean append) { PrintWriter out; int row, col; boolean[] quote; boolean quoteThis; String temp; Object value; out = null; this.setCursor(new Cursor(Cursor.WAIT_CURSOR)); (flashRunIndicator = new Thread( new FlashForeground(runIndicator, Color.red.brighter(), Color.lightGray, 5))).start(); (timeRunIndicator = new Thread(new InsertTime(timeIndicator, new java.util.Date().getTime(), QUERY_EXECUTION_TIMER_UPDATE_DELAY_MS))).start(); try { out = new PrintWriter(new FileWriter(filePath, append)); messageOut(""); messageOut(Resources.getString("msgStartExportToFile", filePath)); // Output query if (!fileExportsRaw.isSelected()) { // Make it look like a comment using hash comment character out.print("#,"); out.print("\""); } // out.print(getQuery().getSQL()); out.print(query.replaceAll("\n", " ")); if (!fileExportsRaw.isSelected()) { out.print("\""); } out.println(); // Setup array to hold which columns need to be quoted quote = new boolean[model.getColumnCount()]; // Output column headings - determine if column needs quotes for (col = 0; col < model.getColumnCount(); ++col) { if (col > 0) { out.print(","); } out.print("\"" + model.getColumnName(col) + "\""); /** * todo: use column type to set need for quotes */ quote[col] = false; } out.println(); // Output data for (row = 0; row < model.getRowCount(); ++row) { for (col = 0; col < model.getColumnCount(); ++col) { if (col > 0) { out.print(","); } // Get the field content try { value = model.getValueAt(row, col); if (value == null) { temp = ""; } else if (value instanceof java.sql.Timestamp) { temp = Utility.formattedDate((java.sql.Timestamp) value); } else { temp = model.getValueAt(row, col).toString(); if (!fileExportsRaw.isSelected()) { temp = temp.replace('"', '\''); temp = temp.replace('\n', '~'); } } } catch (Exception any) { LOGGER.error("Failed to export data", any); // Display error and move on messageOut(Resources.getString("errFailDuringExport", any.getMessage()), STYLE_RED); temp = ""; } // Decide if quotes are needed: // -If the row is a known character type // -If this field contains a comma quoteThis = !fileExportsRaw.isSelected() && (quote[col] || temp.indexOf(",") > -1); // Output the field if (quoteThis) { out.print("\""); } out.print(temp); if (quoteThis) { out.print("\""); } } if (!fileNoCRAddedToExportRows.isSelected()) { out.println(); } } // Assume that if writing multiple resultsets to file the // user would appreciate a separation line between them. if (append) { out.println("\n********"); } messageOut(Resources.getString("msgEndExportToFile")); } catch (Exception any) { LOGGER.error("Unable to write data to file", any); messageOut(Resources.getString("errFailDataSave", any.toString()), STYLE_RED); } finally { if (out != null) { try { out.close(); } catch (Exception any) { LOGGER.error("Failed while writing data to CSV file", any); } } } flashRunIndicator.interrupt(); flashRunIndicator = null; timeRunIndicator.interrupt(); timeRunIndicator = null; this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); }
From source file:vacationscheduler.UpcomingReservations.java
public void jTableToExcel() { try {/*from w w w. j a va 2s. c o m*/ String fileName = "./excelAttempt.xls"; TableModel model = jtable_upcomingReservations.getModel(); FileWriter file = new FileWriter(fileName); for (int column = 0; column < model.getColumnCount(); column++) { file.write(model.getColumnName(column) + "\t"); } file.write("\n"); for (int i = 0; i < model.getRowCount(); i++) { for (int j = 0; j < model.getColumnCount(); j++) { file.write(model.getValueAt(i, j).toString() + "\t"); } file.write("\n"); } file.close(); File file_file = new File(fileName); Desktop.getDesktop().open(file_file); } catch (IOException ex) { Logger.getLogger(UpcomingReservations.class.getName()).log(Level.SEVERE, null, ex); } }