isql-alpha Mailing List for iSQL-Viewer
Brought to you by:
mkobold
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
|
Mar
(8) |
Apr
(5) |
May
(4) |
Jun
(9) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
(14) |
Apr
(9) |
May
(7) |
Jun
(22) |
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <mk...@us...> - 2007-08-08 01:14:32
|
Revision: 86 http://isql.svn.sourceforge.net/isql/?rev=86&view=rev Author: mkobold Date: 2007-08-07 18:14:34 -0700 (Tue, 07 Aug 2007) Log Message: ----------- * merged with the 3.0.2 Modified Paths: -------------- isql-core/branches/3.1.0-development/.classpath isql-core/branches/3.1.0-development/.externalToolBuilders/External Resource Copier.launch isql-core/branches/3.1.0-development/.project isql-core/branches/3.1.0-development/src/org/isqlviewer/sql/ResultSetRenderer.java isql-core/branches/3.1.0-development/src/org/isqlviewer/util/IsqlToolkit.java isql-core/branches/3.1.0-development/src/org/isqlviewer/util/NullResultSetViewer.java isql-core/branches/3.1.0-development/src/org/isqlviewer/util/QueryExecutor.java Added Paths: ----------- isql-core/branches/3.1.0-development/src/org/isqlviewer/sql/QueryMetadata.java Modified: isql-core/branches/3.1.0-development/.classpath =================================================================== --- isql-core/branches/3.1.0-development/.classpath 2007-08-08 01:14:18 UTC (rev 85) +++ isql-core/branches/3.1.0-development/.classpath 2007-08-08 01:14:34 UTC (rev 86) @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="src" path="test"/> - <classpathentry exported="true" kind="var" path="JUNIT_HOME/junit.jar" sourcepath="/JUNIT_SRC_HOME/junitsrc.zip"/> <classpathentry exported="true" kind="lib" path="lib/log4j.jar"/> <classpathentry exported="true" kind="lib" path="lib/derby.jar"/> + <classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="output" path="bin"/> </classpath> Modified: isql-core/branches/3.1.0-development/.externalToolBuilders/External Resource Copier.launch =================================================================== --- isql-core/branches/3.1.0-development/.externalToolBuilders/External Resource Copier.launch 2007-08-08 01:14:18 UTC (rev 85) +++ isql-core/branches/3.1.0-development/.externalToolBuilders/External Resource Copier.launch 2007-08-08 01:14:34 UTC (rev 86) @@ -1,15 +1,22 @@ <?xml version="1.0" encoding="UTF-8"?> <launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> -<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> -<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> -<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/> <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="eclipse-setup,"/> -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,"/> +<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="eclipse-setup,"/> <booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/> -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/isql-core}"/> +<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> <booleanAttribute key="org.eclipse.ant.uiSET_INPUTHANDLER" value="false"/> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/isql-core/build.xml"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> -<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> +<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> +<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/isql-core/build.xml}"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/isql-core}"/> </launchConfiguration> Modified: isql-core/branches/3.1.0-development/.project =================================================================== --- isql-core/branches/3.1.0-development/.project 2007-08-08 01:14:18 UTC (rev 85) +++ isql-core/branches/3.1.0-development/.project 2007-08-08 01:14:34 UTC (rev 86) @@ -12,7 +12,7 @@ </buildCommand> <buildCommand> <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> - <triggers>full,</triggers> + <triggers>full,incremental,</triggers> <arguments> <dictionary> <key>LaunchConfigHandle</key> Copied: isql-core/branches/3.1.0-development/src/org/isqlviewer/sql/QueryMetadata.java (from rev 84, isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/QueryMetadata.java) =================================================================== --- isql-core/branches/3.1.0-development/src/org/isqlviewer/sql/QueryMetadata.java (rev 0) +++ isql-core/branches/3.1.0-development/src/org/isqlviewer/sql/QueryMetadata.java 2007-08-08 01:14:34 UTC (rev 86) @@ -0,0 +1,87 @@ +/* + * The contents of this file are subject to the Mozilla Public License + * Version 1.1 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * + * The Original Code is iSQL-Viewer, A Mutli-Platform Database Tool. + * + * The Initial Developer of the Original Code is iSQL-Viewer, A Mutli-Platform Database Tool. + * Portions created by Mark A. Kobold are Copyright (C) 2000-2007. All Rights Reserved. + * + * Contributor(s): + * Mark A. Kobold [mkobold <at> isqlviewer <dot> com]. + * + * If you didn't download this code from the following link, you should check + * if you aren't using an obsolete version: http://www.isqlviewer.com + */ +package org.isqlviewer.sql; + +import org.isqlviewer.history.HistoricalCommand; + +/** + * Simple meta-data object for collecting query execution metrics within iSQL-Viewer. + * <p> + * + * @author Mark A. Kobold <mkobold at isqlviewer dot com> + * @version 1.0 + */ +public class QueryMetadata { + + private long userTime = 0; + private String service = null; + private HistoricalCommand command = null; + + /** + * @return the command + */ + public HistoricalCommand getCommand() { + + return command; + } + + /** + * @param command the command to set + */ + public void setCommand(HistoricalCommand command) { + + this.command = command; + } + + /** + * @return the service + */ + public String getService() { + + return service; + } + + /** + * @param service the service to set + */ + public void setService(String service) { + + this.service = service; + } + + /** + * @return the userTime + */ + public long getUserTime() { + + return userTime; + } + + /** + * @param userTime the userTime to set + */ + public void setUserTime(long userTime) { + + this.userTime = userTime; + } +} Modified: isql-core/branches/3.1.0-development/src/org/isqlviewer/sql/ResultSetRenderer.java =================================================================== --- isql-core/branches/3.1.0-development/src/org/isqlviewer/sql/ResultSetRenderer.java 2007-08-08 01:14:18 UTC (rev 85) +++ isql-core/branches/3.1.0-development/src/org/isqlviewer/sql/ResultSetRenderer.java 2007-08-08 01:14:34 UTC (rev 86) @@ -177,7 +177,7 @@ * * @param stmtID unqiue identifier for the statement that was cancelled. */ - public void finalizeStatement(String stmtID); + public void finalizeStatement(String stmtID, QueryMetadata metaData); /** * Statement warnings from a resultset can be delegated here. Modified: isql-core/branches/3.1.0-development/src/org/isqlviewer/util/IsqlToolkit.java =================================================================== --- isql-core/branches/3.1.0-development/src/org/isqlviewer/util/IsqlToolkit.java 2007-08-08 01:14:18 UTC (rev 85) +++ isql-core/branches/3.1.0-development/src/org/isqlviewer/util/IsqlToolkit.java 2007-08-08 01:14:34 UTC (rev 86) @@ -69,7 +69,7 @@ * Build number or patch level version of the iSQL-Viewer code base. * <p> */ - public static final int VERSION_BUILD = 0; + public static final int VERSION_BUILD = 2; /** * System property for determining if the iSQL-Viewer MRJ Adapter is installed. */ Modified: isql-core/branches/3.1.0-development/src/org/isqlviewer/util/NullResultSetViewer.java =================================================================== --- isql-core/branches/3.1.0-development/src/org/isqlviewer/util/NullResultSetViewer.java 2007-08-08 01:14:18 UTC (rev 85) +++ isql-core/branches/3.1.0-development/src/org/isqlviewer/util/NullResultSetViewer.java 2007-08-08 01:14:34 UTC (rev 86) @@ -27,6 +27,7 @@ import java.sql.SQLWarning; import java.sql.Statement; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.sql.ResultSetRenderer; class NullResultSetViewer implements ResultSetRenderer { @@ -39,7 +40,7 @@ } - public void finalizeStatement(String stmtID) { + public void finalizeStatement(String stmtID, QueryMetadata metaData) { } Modified: isql-core/branches/3.1.0-development/src/org/isqlviewer/util/QueryExecutor.java =================================================================== --- isql-core/branches/3.1.0-development/src/org/isqlviewer/util/QueryExecutor.java 2007-08-08 01:14:18 UTC (rev 85) +++ isql-core/branches/3.1.0-development/src/org/isqlviewer/util/QueryExecutor.java 2007-08-08 01:14:34 UTC (rev 86) @@ -46,6 +46,7 @@ import org.isqlviewer.sql.ConnectionProfile; import org.isqlviewer.sql.JdbcService; import org.isqlviewer.sql.JdbcUtilities; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.sql.ResultSetRenderer; /** @@ -68,6 +69,7 @@ private ResultSetRenderer renderer = null; private String statement = null; private JdbcService service = null; + private boolean logHistory = true; public QueryExecutor(JdbcService service, ResultSetRenderer renderer, String statement) { @@ -80,6 +82,11 @@ this.statement = statement; } + public void setLogHistory(boolean logHistory) { + + this.logHistory = logHistory; + } + public void run() { if (service == null) { @@ -111,13 +118,17 @@ boolean logBatch = statements.length > 1; for (int i = 0; i < statements.length; i++) { String userQuery = statements[i].trim(); + QueryMetadata metadata = new QueryMetadata(); + metadata.setService(service.getName()); if (userQuery.length() > 0) { try { renderer.initialize(); String substitutedQuery = doVariableSubstitutions(userQuery); String nativeSQL = getNativeSql(connection, substitutedQuery); Date queryTime = new Date(); + long userTime = System.currentTimeMillis(); doQuery(connection, localID, nativeSQL); + metadata.setUserTime(System.currentTimeMillis() - userTime); if (logBatch && commandLogger != null) { HistoricalCommand subCommand = new HistoricalCommand(); subCommand.setCommandText(userQuery); @@ -126,8 +137,9 @@ subCommand.setTransactionId(executionHistory.getTransactionId()); getTypeForQuery(subCommand, userQuery); executionHistory.addSubcommand(subCommand); + metadata.setCommand(subCommand); } else { - logCommandHistory(commandLogger, userQuery, queryTime); + metadata.setCommand(logCommandHistory(commandLogger, userQuery, queryTime)); } } catch (ParseException e) { error("ERR:", e); @@ -141,12 +153,14 @@ } catch (Exception e) { error("ERR:", e); } finally { - renderer.finalizeStatement(localID); + renderer.finalizeStatement(localID, metadata); } } } - if (commandLogger != null && logBatch) { - commandLogger.logCommand(executionHistory); + if (logHistory) { + if (commandLogger != null && logBatch) { + commandLogger.logCommand(executionHistory); + } } } finally { info(messages.getMessage("queryexecutor.finished")); @@ -155,16 +169,18 @@ } - private void logCommandHistory(JdbcCommandLogger commandLogger, String userQuery, Date queryTime) { + private HistoricalCommand logCommandHistory(JdbcCommandLogger commandLogger, String userQuery, Date queryTime) { - if (commandLogger != null) { + if (logHistory && commandLogger != null) { HistoricalCommand command = new HistoricalCommand(); command.setCommandText(userQuery); command.setQueryTime(queryTime); command.setService(service.getName()); getTypeForQuery(command, userQuery); commandLogger.logCommand(command); + return command; } + return null; } private void getTypeForQuery(HistoricalCommand command, String userQuery) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-08-08 01:14:18
|
Revision: 85 http://isql.svn.sourceforge.net/isql/?rev=85&view=rev Author: mkobold Date: 2007-08-07 18:14:18 -0700 (Tue, 07 Aug 2007) Log Message: ----------- * merged with the 3.0.2 Modified Paths: -------------- isql-swing/branches/3.1.0-development/src/org/isqlviewer/model/JdbcSchemaTreeModel.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/swing/EnhancedTable.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/DataGrid.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/ResourceBundle.properties isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandEditor.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java Property Changed: ---------------- isql-swing/branches/3.1.0-development/ Property changes on: isql-swing/branches/3.1.0-development ___________________________________________________________________ Name: svn:ignore - bin classes + bin classes isql-swing.jar isql-swing-src.zip Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/model/JdbcSchemaTreeModel.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/model/JdbcSchemaTreeModel.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/model/JdbcSchemaTreeModel.java 2007-08-08 01:14:18 UTC (rev 85) @@ -27,11 +27,15 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; +import java.text.MessageFormat; +import java.util.Arrays; import java.util.Collection; import java.util.TreeSet; import javax.swing.tree.DefaultTreeModel; +import org.apache.log4j.Logger; +import org.isqlviewer.util.IsqlToolkit; import org.isqlviewer.util.LocalMessages; /** @@ -47,6 +51,8 @@ private static final String RESOURCE_BUNDLE = "org.isqlviewer.model.ResourceBundle"; private static final LocalMessages messages = new LocalMessages(RESOURCE_BUNDLE); + private Logger logger = IsqlToolkit.getApplicationLogger(); + private DatabaseMetaData jdbcMetadata = null; private String catalog = null; private String schema = null; @@ -236,6 +242,7 @@ protected void initializeDefaultNodes(boolean showDataTypes, boolean showTableTypes, boolean showStoredProcedures) { String nodeText = null; + if (showDataTypes) { SchemaNode schemaNode = null; @@ -271,7 +278,7 @@ tableTypes.add(resultSet.getString("TABLE_TYPE")); } } catch (SQLException sqle) { - // TODO Do Something here... + logger.debug("DatabaseMetadata.getTableTypes();", sqle); } finally { if (resultSet != null) { try { @@ -292,6 +299,12 @@ insertNodeInto(tabletypeNode, rootNode, 0); } } catch (SQLException sqle) { + Object[] arguments = new Object[3]; + arguments[0] = catalog; + arguments[1] = schema; + arguments[2] = Arrays.toString(typeSet); + String message = MessageFormat.format("DatabaseMetadata.getTables({0}, {1}, null, {2})", arguments); + logger.debug(message, sqle); } finally { if (resultSet != null) { try { @@ -319,6 +332,11 @@ SchemaNode procedureNode = new SchemaNode(nodeText, false, SchemaNodeType.PROCEDURE_SET); procedureNode.setHasError(true); insertNodeInto(procedureNode, rootNode, 0); + Object[] arguments = new Object[2]; + arguments[0] = catalog; + arguments[1] = schema; + String message = MessageFormat.format("DatabaseMetadata.getProcedures({0}, {1}, null)", arguments); + logger.debug(message, sqle); } finally { if (resultSet != null) { try { @@ -351,6 +369,12 @@ } } catch (SQLException sqle) { tabletypeNode.setHasError(true); + Object[] arguments = new Object[3]; + arguments[0] = catalog; + arguments[1] = schema; + arguments[2] = tableType; + String message = MessageFormat.format("DatabaseMetadata.getTables({0}, {1}, null, {2})", arguments); + logger.debug(message, sqle); } finally { if (resultSet != null) { try { @@ -375,6 +399,7 @@ insertNodeInto(tableNode, typesetNode, 0); } } catch (SQLException sqle) { + logger.debug("DatabaseMetadata.getTypeInfo()", sqle); typesetNode.setHasError(true); } finally { if (resultSet != null) { @@ -400,6 +425,12 @@ insertNodeInto(tableNode, usertypesetNode, 0); } } catch (SQLException sqle) { + Object[] arguments = new Object[3]; + arguments[0] = catalog; + arguments[1] = schema; + arguments[2] = type; + String message = MessageFormat.format("DatabaseMetadata.getUDT({0}, {1}, null, {2})", arguments); + logger.debug(message, sqle); usertypesetNode.setHasError(true); } finally { if (resultSet != null) { @@ -425,6 +456,11 @@ insertNodeInto(tableNode, procedureNode, 0); } } catch (SQLException sqle) { + Object[] arguments = new Object[2]; + arguments[0] = catalog; + arguments[1] = schema; + String message = MessageFormat.format("DatabaseMetadata.getProcedures({0}, {1}, null)", arguments); + logger.debug(message, sqle); procedureNode.setHasError(true); } finally { if (resultSet != null) { @@ -637,6 +673,12 @@ insertNodeInto(columnNameNode, columnNode, 0); } } catch (SQLException sqle) { + Object[] arguments = new Object[3]; + arguments[0] = catalog; + arguments[1] = schema; + arguments[2] = tableName; + String message = MessageFormat.format("DatabaseMetadata.getColumns({0}, {1}, {2}, null)", arguments); + logger.debug(message, sqle); columnNode.setHasError(true); } finally { if (resultSet != null) { @@ -648,4 +690,4 @@ reload(columnNode); } } -} +} \ No newline at end of file Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/swing/EnhancedTable.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/swing/EnhancedTable.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/swing/EnhancedTable.java 2007-08-08 01:14:18 UTC (rev 85) @@ -58,6 +58,7 @@ import javax.swing.JComponent; import javax.swing.JPopupMenu; import javax.swing.JTable; +import javax.swing.JToolTip; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; import javax.swing.UIDefaults; @@ -97,6 +98,7 @@ protected boolean selectionToggle = true; protected DnDSupport dndHandler = new DnDSupport(this); protected DragGestureRecognizer dndRecognizer = null; + protected JToolTip customToolTip = null; public EnhancedTable(TableModel model) { @@ -125,24 +127,6 @@ setGridColor(EnhancedTableCellRenderer.gridColor); } - @Override - protected void createDefaultRenderers() { - - defaultRenderersByColumnClass = new UIDefaults(); - - // Numbers - setLazyRenderer(Number.class, "org.isqlviewer.ui.laf.EnhancedNumberCellRenderer"); - // Doubles and Floats - setLazyRenderer(Float.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRenderer"); - setLazyRenderer(Double.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRendererr"); - // Dates - setLazyRenderer(Date.class, "org.isqlviewer.ui.laf.EnhancedDateCellRenderer"); - // Booleans - setLazyRenderer(Boolean.class, "org.isqlviewer.ui.laf.EnhancedBooleanCellRenderer"); - // Everything else - setLazyRenderer(Object.class, "org.isqlviewer.ui.laf.EnhancedTableCellRenderer"); - } - public void refreshSorted() { Sortable mdl = null; @@ -160,6 +144,11 @@ } } + public void setCustomTooltip(JToolTip customToolTip) { + + this.customToolTip = customToolTip; + } + public EnhancedTableModel getSelectedSubModel() { int[] rows = null; @@ -306,6 +295,15 @@ } @Override + public JToolTip createToolTip() { + + if (customToolTip == null) { + return super.createToolTip(); + } + return customToolTip; + } + + @Override public boolean getDragEnabled() { return (dndRecognizer == null); @@ -346,6 +344,24 @@ super.columnAdded(event); } + @Override + protected void createDefaultRenderers() { + + defaultRenderersByColumnClass = new UIDefaults(); + + // Numbers + setLazyRenderer(Number.class, "org.isqlviewer.ui.laf.EnhancedNumberCellRenderer"); + // Doubles and Floats + setLazyRenderer(Float.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRenderer"); + setLazyRenderer(Double.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRendererr"); + // Dates + setLazyRenderer(Date.class, "org.isqlviewer.ui.laf.EnhancedDateCellRenderer"); + // Booleans + setLazyRenderer(Boolean.class, "org.isqlviewer.ui.laf.EnhancedBooleanCellRenderer"); + // Everything else + setLazyRenderer(Object.class, "org.isqlviewer.ui.laf.EnhancedTableCellRenderer"); + } + /** Sizes the columns with the max size of the header and the columns data. */ private void setColumnSizes(int from, int to) { Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/DataGrid.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/DataGrid.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/DataGrid.java 2007-08-08 01:14:18 UTC (rev 85) @@ -22,190 +22,177 @@ */ package org.isqlviewer.ui; -import java.awt.Component; +import java.awt.BorderLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.text.NumberFormat; +import java.text.MessageFormat; import java.util.prefs.Preferences; import javax.swing.BorderFactory; import javax.swing.Box; -import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JMenuBar; +import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; -import javax.swing.ScrollPaneConstants; -import javax.swing.SwingConstants; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import org.isqlviewer.history.HistoricalCommand; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.swing.EnhancedTable; import org.isqlviewer.swing.SwingUtilities; import org.isqlviewer.swing.action.SwingEventManager; import org.isqlviewer.swing.table.EnhancedTableModel; -import org.isqlviewer.swing.table.ResultSetTableModel; -import org.isqlviewer.ui.laf.SortableHeaderRenderer; import org.isqlviewer.util.LocalMessages; +import org.isqlviewer.util.StringUtilities; /** * @author Mark A. Kobold <mkobold at isqlviewer dot com> * @version 1.0 */ -public class DataGrid extends AbstractApplicationView implements ListSelectionListener, ActionListener, - DocumentListener { +public class DataGrid extends AbstractApplicationView implements ListSelectionListener, DocumentListener { - private NumberFormat nf = NumberFormat.getIntegerInstance(); + private static final MessageFormat cursorFormat = new MessageFormat("{0}/{1}"); + private LocalMessages messages = new LocalMessages("org.isqlviewer.ui.ResourceBundle"); + private EnhancedTable table = null; - private JTextField txtFilter = new JTextField(); + private EnhancedTableModel model = null; + private HistoricalCommand queryReference = null; + private JLabel lblFilter = new JLabel(); - private JScrollPane jspTable = null; - private Component glue = Box.createHorizontalGlue(); - private JLabel lblLocatr = new JLabel(); - private JLabel lblSearch = new JLabel(SwingUtilities.loadIconResource("search", 16)); - private JButton btnHider = new JButton(); - private JButton actionPageUp = new JButton(""); - private JButton actionPageDown = new JButton(""); - private LocalMessages messages = new LocalMessages("org.isqlviewer.ui.ResourceBundle"); + private JLabel cursorLabel = new JLabel(SwingUtilities.loadIconResource("table", 16)); + private JLabel serviceLabel = new JLabel(SwingUtilities.loadIconResource("service", 16)); + private JLabel timeLabel = new JLabel(SwingUtilities.loadIconResource("history", 16)); + private JTextField searchText = new JTextField(8); + public void configureMenubar(JMenuBar menuBar) { - // TODO Auto-generated method stub - } public void disposeView(Preferences preferences) { - // TODO Auto-generated method stub - } public void initializeView() { - // TODO Auto-generated method stub - } public void doLayout(JComponent parentComponent, Preferences preferences, SwingEventManager eventManager) { table = new EnhancedTable(); - // TODO table.setDropTarget(new DropTarget(table, workbench.bookmarkDropper)); - table.setFont(table.getFont().deriveFont(10f)); - // table.putClientProperty(EnhancedTable.CLIENT_JPOPUP_MENU, workbench.tablePopupMenu); table.setDragEnabled(true); table.getSelectionModel().addListSelectionListener(this); - jspTable = new JScrollPane(table); - lblLocatr.setBorder(BorderFactory.createEtchedBorder()); - btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.NORTH, 4)); - btnHider.setBorderPainted(false); - btnHider.setFocusPainted(false); - btnHider.addActionListener(this); - // btnHider.setToolTipText(BasicUtilities.getString("Filter_Hide_Tip")); - actionPageUp.addActionListener(this); - actionPageUp.setBorderPainted(false); - actionPageUp.setFocusPainted(false); - // actionPageUp.setToolTipText(BasicUtilities.getString("View_Prev")); - actionPageDown.addActionListener(this); - actionPageDown.setBorderPainted(false); - actionPageDown.setFocusPainted(false); - // actionPageDown.setToolTipText(BasicUtilities.getString("View_Next")); - // txtFilter.setToolTipText(BasicUtilities.getString("Filter_Input_Tip")); - txtFilter.getDocument().addDocumentListener(this); - lblFilter.setFont(lblFilter.getFont().deriveFont(9.0f)); + searchText.getDocument().addDocumentListener(this); + cursorLabel.setBorder(BorderFactory.createEtchedBorder()); + cursorLabel.setToolTipText(messages.format("DataGrid.current_position_of_selection")); + timeLabel.setBorder(BorderFactory.createEtchedBorder()); + timeLabel.setToolTipText(messages.format("DataGrid.time_spent_aquiring_these_results")); + serviceLabel.setBorder(BorderFactory.createEtchedBorder()); + serviceLabel.setToolTipText(messages.format("DataGrid.service_these_results_came_from")); + + JScrollPane dataScrollPanel = new JScrollPane(table); Object UI_CONSTRAINT = null; - parentComponent.setLayout(new GridBagLayout()); + JPanel searchBar = new JPanel(new GridBagLayout()); UI_CONSTRAINT = constrain(0, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); - parentComponent.add(glue, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL); - parentComponent.add(lblSearch, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.35, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL); - parentComponent.add(txtFilter, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE); - parentComponent.add(btnHider, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(2, 1, 2, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE); - parentComponent.add(lblFilter, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(0, 2, 4, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH); - parentComponent.add(jspTable, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(1, 3, 4, 1, 1.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE); - parentComponent.add(lblLocatr, UI_CONSTRAINT); + searchBar.add(Box.createHorizontalGlue(), UI_CONSTRAINT); + UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + JLabel searchLabel = new JLabel(SwingUtilities.loadIconResource("search", 16)); + searchBar.add(searchLabel, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + searchBar.add(searchText, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + searchBar.add(Box.createHorizontalStrut(10), UI_CONSTRAINT); + UI_CONSTRAINT = constrain(2, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE); + searchBar.add(lblFilter, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(3, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + searchBar.add(Box.createHorizontalStrut(10), UI_CONSTRAINT); + + JPanel statusBar = new JPanel(new GridBagLayout()); + UI_CONSTRAINT = constrain(3, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + statusBar.add(Box.createHorizontalGlue(), UI_CONSTRAINT); + UI_CONSTRAINT = constrain(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE); + statusBar.add(timeLabel, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE); + statusBar.add(serviceLabel, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE); + statusBar.add(cursorLabel, UI_CONSTRAINT); + + parentComponent.setLayout(new BorderLayout()); + parentComponent.add(searchBar, BorderLayout.NORTH); + parentComponent.add(dataScrollPanel, BorderLayout.CENTER); + parentComponent.add(statusBar, BorderLayout.SOUTH); } - public void setModel(EnhancedTableModel model) { + public void changedUpdate(DocumentEvent e) { - table.setModel(model); - if (model.getTrueRowCount() >= 1) { - table.setRowSelectionInterval(0, 0); - } + } - if (model.getPageCount() > 1) { - jspTable.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); - jspTable.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); - jspTable.setCorner(ScrollPaneConstants.UPPER_RIGHT_CORNER, actionPageUp); - jspTable.setCorner(ScrollPaneConstants.LOWER_RIGHT_CORNER, actionPageDown); - } else { - jspTable.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - jspTable.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); - jspTable.setCorner(ScrollPaneConstants.UPPER_RIGHT_CORNER, Box.createHorizontalStrut(0)); - jspTable.setCorner(ScrollPaneConstants.LOWER_RIGHT_CORNER, Box.createHorizontalStrut(0)); + public void insertUpdate(DocumentEvent e) { + + doFiltering(); + } + + public void removeUpdate(DocumentEvent e) { + + doFiltering(); + } + + public void valueChanged(ListSelectionEvent e) { + + Object[] arguments = new Object[2]; + arguments[0] = Integer.toString(table.getSelectedRow() + 1); + arguments[1] = Integer.toString(table.getRowCount()); + synchronized (cursorLabel) { + cursorLabel.setText(cursorFormat.format(arguments)); } } - public EnhancedTable getTable() { + public void setMetadata(QueryMetadata metadata) { - return table; + this.queryReference = metadata.getCommand(); + serviceLabel.setText(metadata.getService()); + timeLabel.setText(StringUtilities.getHumanReadableTime(metadata.getUserTime())); } - public void clearFiltering() { + public void setModel(EnhancedTableModel model) { - if (table != null) { - ResultSetTableModel model = (ResultSetTableModel) table.getModel(); - model.clearFilter(); + this.model = model; + table.setModel(model); + if (model.getTrueRowCount() >= 1) { + table.setRowSelectionInterval(0, 0); } - txtFilter.setText(null); - lblFilter.setText(null); } - /* - * (non-Javadoc) - * - * @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent) - */ - public void changedUpdate(DocumentEvent e) { + public EnhancedTable getTable() { + return table; } - /* - * (non-Javadoc) - * - * @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent) - */ - public void insertUpdate(DocumentEvent e) { + public HistoricalCommand getQueryReference() { - doFiltering(); + return queryReference; } - /* - * (non-Javadoc) - * - * @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent) - */ - public void removeUpdate(DocumentEvent e) { + public void clearFiltering() { - doFiltering(); + if (model != null) { + model.clearFilter(); + } + searchText.setText(null); + lblFilter.setText(null); } private synchronized void doFiltering() { - if (table != null) { - EnhancedTableModel model = (EnhancedTableModel) table.getModel(); - String filter = txtFilter.getText().trim(); + if (model != null) { + String filter = searchText.getText().trim(); int found = model.applyFilter(filter); if (found >= 1) { String txt = messages.format("datagrid.found_matches", Integer.toString(found)); @@ -222,50 +209,5 @@ } table.invalidate(); } - } - - /* - * (non-Javadoc) - * - * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) - */ - public void actionPerformed(ActionEvent e) { - - Object src = e.getSource(); - if (src == btnHider) { - txtFilter.setVisible(!txtFilter.isVisible()); - lblFilter.setVisible(!lblFilter.isVisible()); - lblSearch.setVisible(!lblSearch.isVisible()); - glue.setVisible(!glue.isVisible()); - if (txtFilter.isVisible()) { - btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.NORTH, 4)); - // btnHider.setToolTipText(BasicUtilities.getString("Filter_Hide_Tip")); - } else { - btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.SOUTH, 4)); - // btnHider.setToolTipText(BasicUtilities.getString("Filter_Show_Tip")); - } - btnHider.getParent().validate(); - btnHider.getParent().repaint(); - } else if (src == actionPageDown) { - EnhancedTableModel model = (EnhancedTableModel) table.getModel(); - model.pageDown(); - } else if (src == actionPageUp) { - EnhancedTableModel model = (EnhancedTableModel) table.getModel(); - model.pageUp(); - } - } - - public void valueChanged(ListSelectionEvent e) { - - EnhancedTableModel model = (EnhancedTableModel) table.getModel(); - String str = nf.format(model.translateRow(table.getSelectedRow()) + 1); - str = str.concat("/"); - str = str.concat(nf.format(model.getTrueRowCount())); - str = str.concat(" ["); - str = str.concat(nf.format(model.getPageOffset() + 1)); - str = str.concat("/"); - str = str.concat(nf.format(model.getPageCount())); - lblLocatr.setText(" ".concat(str).concat("] ")); - } } \ No newline at end of file Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-08-08 01:14:18 UTC (rev 85) @@ -195,6 +195,7 @@ int id = event.getID(); switch (id) { case SharedActions.REFRESH_SELECTED_RESULTS : + refreshSelectedTab(); break; case SharedActions.NAVIGATE_LEFT_TAB : navigateLeftTab(); @@ -304,6 +305,21 @@ } } + private void refreshSelectedTab() { + + JComponent component = (JComponent) centerTabbedPane.getSelectedComponent(); + DataGrid dataGrid = (DataGrid) component.getClientProperty("x"); + HistoricalCommand command = dataGrid.getQueryReference(); + String statement = command.getCommandText(); + boolean connected = checkConnection(); + if (connected) { + TabbedResultsetRenderer renderer = new TabbedResultsetRenderer(centerTabbedPane); + QueryExecutor executor = new QueryExecutor(currentService, renderer, statement); + executor.setLogHistory(false); + executor.run(); + } + } + public void doLayout(JComponent parentComponent, Preferences userPreferences, SwingEventManager swingEventManager) { preferences = userPreferences.node("views/jdbc-workbench"); @@ -1081,7 +1097,6 @@ ca = new CustomAction("refresh-current-view", SharedActions.REFRESH_SELECTED_RESULTS, manager); acclerator = messages.format("menu.refresh_selected_view.accelerator"); - ca.setEnabled(false); ca.putValue(CustomAction.ICON_NAME, "reload"); ca.putValue(Action.ACCELERATOR_KEY, SwingUtilities.getKeyStroke(acclerator)); ca.putValue(Action.DEFAULT, messages.getMessage("menu.refresh_selected_view.title")); @@ -1584,8 +1599,8 @@ row.add(entry.getValue()); model.addRow(row); } + dataGrid.setModel(model); - centerTabbedPane.addTab(messages.format("JdbcWorkbench.database_metadata"), view); index = centerTabbedPane.indexOfComponent(view); centerTabbedPane.setClosableTab(index, true); Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/ResourceBundle.properties =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/ResourceBundle.properties 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/ResourceBundle.properties 2007-08-08 01:14:18 UTC (rev 85) @@ -57,6 +57,9 @@ datagrid.no_matches=No match datagrid.found_matches=Found {0} matche(s). +DataGrid.current_position_of_selection=The row that is currently selected out of all of the rows. +DataGrid.time_spent_aquiring_these_results=Time spent aquiring these results. +DataGrid.service_these_results_came_from=The service used to aquire these results. bookmarkeditor.created-date.title=Created On bookmarkeditor.created-date.tip=The date and time this bookmark was created. Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandEditor.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandEditor.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandEditor.java 2007-08-08 01:14:18 UTC (rev 85) @@ -34,6 +34,7 @@ import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; +import java.util.TooManyListenersException; import java.util.prefs.Preferences; import javax.swing.AbstractAction; @@ -145,13 +146,15 @@ commandEditor.addFocusListener(this); commandEditor.addCaretListener(this); - - DropTarget dropTarget = new TextComponentDropTarget(commandEditor); - dropTarget.setActive(true); + commandEditor.setDragEnabled(true); + DropTarget dropTarget = commandEditor.getDropTarget(); dropTarget.setDefaultActions(DnDConstants.ACTION_COPY_OR_MOVE); - commandEditor.setDropTarget(dropTarget); + try { + dropTarget.addDropTargetListener(new TextComponentDropTarget(commandEditor)); + } catch (TooManyListenersException ignored) { + debug("addDropTargetListener()", ignored); + } - commandEditor.setDragEnabled(true); commandEditor.getDocument().addUndoableEditListener(this); localizeTextComponent(commandEditor, undoManager); } Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java 2007-08-08 01:14:18 UTC (rev 85) @@ -53,6 +53,7 @@ */ private Position.Bias[] bias = new Position.Bias[1]; + @Override public void mouseClicked(MouseEvent e) { JEditorPane editor = (JEditorPane) e.getSource(); @@ -69,6 +70,7 @@ } } + @Override public void mouseMoved(MouseEvent e) { JEditorPane editor = (JEditorPane) e.getSource(); @@ -152,6 +154,7 @@ super(url); } + @Override public void connect() { } Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-08-08 01:14:18 UTC (rev 85) @@ -47,6 +47,7 @@ import javax.swing.JProgressBar; import org.apache.log4j.Logger; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.sql.ResultSetRenderer; import org.isqlviewer.swing.EnhancedTabbedPane; import org.isqlviewer.swing.SwingUtilities; @@ -160,7 +161,7 @@ logger.info(messages.format("tabbedresultsetrenderer.rows_affected", new Integer(updateCount))); } - public void finalizeStatement(String stmtID) { + public void finalizeStatement(String stmtID, QueryMetadata metadata) { eyeCandy.updateStatus(messages.format("TabbedResultsetRenderer.finalize_statement", stmtID)); @@ -181,6 +182,9 @@ componentView.removeAll(); dataGrid.doLayout(componentView, null, null); dataGrid.setModel(eyeCandy.getQueryData()); + dataGrid.setMetadata(metadata); + componentView.putClientProperty("x", dataGrid); + tabbedPane.setToolTipTextAt(index, html); tabbedPane.setTitleAt(index, str); tabbedPane.setComponentAt(index, componentView); @@ -360,4 +364,5 @@ return componentView; } } + } \ No newline at end of file Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java 2007-08-08 01:14:18 UTC (rev 85) @@ -32,6 +32,7 @@ import org.isqlviewer.model.JdbcSchemaTreeModel; import org.isqlviewer.model.SchemaNode; import org.isqlviewer.model.SchemaNodeType; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.sql.ResultSetRenderer; import org.isqlviewer.util.LoggableObject; @@ -173,7 +174,7 @@ nodeRenderer.recieveResultsetWarnings(set, set.getWarnings()); } } finally { - nodeRenderer.finalizeStatement(""); + nodeRenderer.finalizeStatement("", new QueryMetadata()); try { if (set != null) { set.close(); Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java 2007-08-07 23:56:25 UTC (rev 84) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java 2007-08-08 01:14:18 UTC (rev 85) @@ -26,8 +26,10 @@ import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnDConstants; -import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetDragEvent; import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetEvent; +import java.awt.dnd.DropTargetListener; import java.io.IOException; import javax.swing.text.BadLocationException; @@ -42,7 +44,7 @@ * @author Mark A. Kobold <mkobold at isqlviewer dot com> * @version 1.0 */ -public class TextComponentDropTarget extends DropTarget { +public class TextComponentDropTarget implements DropTargetListener { private static final long serialVersionUID = 4496993389366518143L; private JTextComponent editor = null; @@ -51,9 +53,8 @@ this.editor = editor; } - public void drop(DropTargetDropEvent event) { - + boolean successful = false; try { if (event.isDataFlavorSupported(DataFlavor.stringFlavor)) { @@ -85,4 +86,36 @@ event.dropComplete(successful); } } + /* (non-Javadoc) + * @see java.awt.dnd.DropTargetListener#dragEnter(java.awt.dnd.DropTargetDragEvent) + */ + public void dragEnter(DropTargetDragEvent dtde) { + + // TODO Auto-generated method stub + + } + /* (non-Javadoc) + * @see java.awt.dnd.DropTargetListener#dragExit(java.awt.dnd.DropTargetEvent) + */ + public void dragExit(DropTargetEvent dte) { + + // TODO Auto-generated method stub + + } + /* (non-Javadoc) + * @see java.awt.dnd.DropTargetListener#dragOver(java.awt.dnd.DropTargetDragEvent) + */ + public void dragOver(DropTargetDragEvent dtde) { + + // TODO Auto-generated method stub + + } + /* (non-Javadoc) + * @see java.awt.dnd.DropTargetListener#dropActionChanged(java.awt.dnd.DropTargetDragEvent) + */ + public void dropActionChanged(DropTargetDragEvent dtde) { + + // TODO Auto-generated method stub + + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-08-07 23:56:24
|
Revision: 84 http://isql.svn.sourceforge.net/isql/?rev=84&view=rev Author: mkobold Date: 2007-08-07 16:56:25 -0700 (Tue, 07 Aug 2007) Log Message: ----------- * model/JdbcSchemaTreeModel.java ** Added support for debugging meta data loading to provide information in resolving issues with the schema browser. ** Other minor updates to handle query meta data. Modified Paths: -------------- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/model/JdbcSchemaTreeModel.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/swing/EnhancedTable.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/DataGrid.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/JdbcWorkbench.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/ResourceBundle.properties isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/SqlCommandEditor.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/TabbedResultsetRenderer.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/model/JdbcSchemaTreeModel.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/model/JdbcSchemaTreeModel.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/model/JdbcSchemaTreeModel.java 2007-08-07 23:56:25 UTC (rev 84) @@ -27,11 +27,15 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; +import java.text.MessageFormat; +import java.util.Arrays; import java.util.Collection; import java.util.TreeSet; import javax.swing.tree.DefaultTreeModel; +import org.apache.log4j.Logger; +import org.isqlviewer.util.IsqlToolkit; import org.isqlviewer.util.LocalMessages; /** @@ -47,6 +51,8 @@ private static final String RESOURCE_BUNDLE = "org.isqlviewer.model.ResourceBundle"; private static final LocalMessages messages = new LocalMessages(RESOURCE_BUNDLE); + private Logger logger = IsqlToolkit.getApplicationLogger(); + private DatabaseMetaData jdbcMetadata = null; private String catalog = null; private String schema = null; @@ -236,6 +242,7 @@ protected void initializeDefaultNodes(boolean showDataTypes, boolean showTableTypes, boolean showStoredProcedures) { String nodeText = null; + if (showDataTypes) { SchemaNode schemaNode = null; @@ -271,7 +278,7 @@ tableTypes.add(resultSet.getString("TABLE_TYPE")); } } catch (SQLException sqle) { - // TODO Do Something here... + logger.debug("DatabaseMetadata.getTableTypes();", sqle); } finally { if (resultSet != null) { try { @@ -292,6 +299,12 @@ insertNodeInto(tabletypeNode, rootNode, 0); } } catch (SQLException sqle) { + Object[] arguments = new Object[3]; + arguments[0] = catalog; + arguments[1] = schema; + arguments[2] = Arrays.toString(typeSet); + String message = MessageFormat.format("DatabaseMetadata.getTables({0}, {1}, null, {2})", arguments); + logger.debug(message, sqle); } finally { if (resultSet != null) { try { @@ -319,6 +332,11 @@ SchemaNode procedureNode = new SchemaNode(nodeText, false, SchemaNodeType.PROCEDURE_SET); procedureNode.setHasError(true); insertNodeInto(procedureNode, rootNode, 0); + Object[] arguments = new Object[2]; + arguments[0] = catalog; + arguments[1] = schema; + String message = MessageFormat.format("DatabaseMetadata.getProcedures({0}, {1}, null)", arguments); + logger.debug(message, sqle); } finally { if (resultSet != null) { try { @@ -351,6 +369,12 @@ } } catch (SQLException sqle) { tabletypeNode.setHasError(true); + Object[] arguments = new Object[3]; + arguments[0] = catalog; + arguments[1] = schema; + arguments[2] = tableType; + String message = MessageFormat.format("DatabaseMetadata.getTables({0}, {1}, null, {2})", arguments); + logger.debug(message, sqle); } finally { if (resultSet != null) { try { @@ -375,6 +399,7 @@ insertNodeInto(tableNode, typesetNode, 0); } } catch (SQLException sqle) { + logger.debug("DatabaseMetadata.getTypeInfo()", sqle); typesetNode.setHasError(true); } finally { if (resultSet != null) { @@ -400,6 +425,12 @@ insertNodeInto(tableNode, usertypesetNode, 0); } } catch (SQLException sqle) { + Object[] arguments = new Object[3]; + arguments[0] = catalog; + arguments[1] = schema; + arguments[2] = type; + String message = MessageFormat.format("DatabaseMetadata.getUDT({0}, {1}, null, {2})", arguments); + logger.debug(message, sqle); usertypesetNode.setHasError(true); } finally { if (resultSet != null) { @@ -425,6 +456,11 @@ insertNodeInto(tableNode, procedureNode, 0); } } catch (SQLException sqle) { + Object[] arguments = new Object[2]; + arguments[0] = catalog; + arguments[1] = schema; + String message = MessageFormat.format("DatabaseMetadata.getProcedures({0}, {1}, null)", arguments); + logger.debug(message, sqle); procedureNode.setHasError(true); } finally { if (resultSet != null) { @@ -637,6 +673,12 @@ insertNodeInto(columnNameNode, columnNode, 0); } } catch (SQLException sqle) { + Object[] arguments = new Object[3]; + arguments[0] = catalog; + arguments[1] = schema; + arguments[2] = tableName; + String message = MessageFormat.format("DatabaseMetadata.getColumns({0}, {1}, {2}, null)", arguments); + logger.debug(message, sqle); columnNode.setHasError(true); } finally { if (resultSet != null) { @@ -648,4 +690,4 @@ reload(columnNode); } } -} +} \ No newline at end of file Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/swing/EnhancedTable.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/swing/EnhancedTable.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/swing/EnhancedTable.java 2007-08-07 23:56:25 UTC (rev 84) @@ -58,6 +58,7 @@ import javax.swing.JComponent; import javax.swing.JPopupMenu; import javax.swing.JTable; +import javax.swing.JToolTip; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; import javax.swing.UIDefaults; @@ -97,6 +98,7 @@ protected boolean selectionToggle = true; protected DnDSupport dndHandler = new DnDSupport(this); protected DragGestureRecognizer dndRecognizer = null; + protected JToolTip customToolTip = null; public EnhancedTable(TableModel model) { @@ -125,24 +127,6 @@ setGridColor(EnhancedTableCellRenderer.gridColor); } - @Override - protected void createDefaultRenderers() { - - defaultRenderersByColumnClass = new UIDefaults(); - - // Numbers - setLazyRenderer(Number.class, "org.isqlviewer.ui.laf.EnhancedNumberCellRenderer"); - // Doubles and Floats - setLazyRenderer(Float.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRenderer"); - setLazyRenderer(Double.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRendererr"); - // Dates - setLazyRenderer(Date.class, "org.isqlviewer.ui.laf.EnhancedDateCellRenderer"); - // Booleans - setLazyRenderer(Boolean.class, "org.isqlviewer.ui.laf.EnhancedBooleanCellRenderer"); - // Everything else - setLazyRenderer(Object.class, "org.isqlviewer.ui.laf.EnhancedTableCellRenderer"); - } - public void refreshSorted() { Sortable mdl = null; @@ -160,6 +144,11 @@ } } + public void setCustomTooltip(JToolTip customToolTip) { + + this.customToolTip = customToolTip; + } + public EnhancedTableModel getSelectedSubModel() { int[] rows = null; @@ -306,6 +295,15 @@ } @Override + public JToolTip createToolTip() { + + if (customToolTip == null) { + return super.createToolTip(); + } + return customToolTip; + } + + @Override public boolean getDragEnabled() { return (dndRecognizer == null); @@ -346,6 +344,24 @@ super.columnAdded(event); } + @Override + protected void createDefaultRenderers() { + + defaultRenderersByColumnClass = new UIDefaults(); + + // Numbers + setLazyRenderer(Number.class, "org.isqlviewer.ui.laf.EnhancedNumberCellRenderer"); + // Doubles and Floats + setLazyRenderer(Float.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRenderer"); + setLazyRenderer(Double.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRendererr"); + // Dates + setLazyRenderer(Date.class, "org.isqlviewer.ui.laf.EnhancedDateCellRenderer"); + // Booleans + setLazyRenderer(Boolean.class, "org.isqlviewer.ui.laf.EnhancedBooleanCellRenderer"); + // Everything else + setLazyRenderer(Object.class, "org.isqlviewer.ui.laf.EnhancedTableCellRenderer"); + } + /** Sizes the columns with the max size of the header and the columns data. */ private void setColumnSizes(int from, int to) { Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/DataGrid.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/DataGrid.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/DataGrid.java 2007-08-07 23:56:25 UTC (rev 84) @@ -22,190 +22,177 @@ */ package org.isqlviewer.ui; -import java.awt.Component; +import java.awt.BorderLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.text.NumberFormat; +import java.text.MessageFormat; import java.util.prefs.Preferences; import javax.swing.BorderFactory; import javax.swing.Box; -import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JMenuBar; +import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; -import javax.swing.ScrollPaneConstants; -import javax.swing.SwingConstants; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import org.isqlviewer.history.HistoricalCommand; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.swing.EnhancedTable; import org.isqlviewer.swing.SwingUtilities; import org.isqlviewer.swing.action.SwingEventManager; import org.isqlviewer.swing.table.EnhancedTableModel; -import org.isqlviewer.swing.table.ResultSetTableModel; -import org.isqlviewer.ui.laf.SortableHeaderRenderer; import org.isqlviewer.util.LocalMessages; +import org.isqlviewer.util.StringUtilities; /** * @author Mark A. Kobold <mkobold at isqlviewer dot com> * @version 1.0 */ -public class DataGrid extends AbstractApplicationView implements ListSelectionListener, ActionListener, - DocumentListener { +public class DataGrid extends AbstractApplicationView implements ListSelectionListener, DocumentListener { - private NumberFormat nf = NumberFormat.getIntegerInstance(); + private static final MessageFormat cursorFormat = new MessageFormat("{0}/{1}"); + private LocalMessages messages = new LocalMessages("org.isqlviewer.ui.ResourceBundle"); + private EnhancedTable table = null; - private JTextField txtFilter = new JTextField(); + private EnhancedTableModel model = null; + private HistoricalCommand queryReference = null; + private JLabel lblFilter = new JLabel(); - private JScrollPane jspTable = null; - private Component glue = Box.createHorizontalGlue(); - private JLabel lblLocatr = new JLabel(); - private JLabel lblSearch = new JLabel(SwingUtilities.loadIconResource("search", 16)); - private JButton btnHider = new JButton(); - private JButton actionPageUp = new JButton(""); - private JButton actionPageDown = new JButton(""); - private LocalMessages messages = new LocalMessages("org.isqlviewer.ui.ResourceBundle"); + private JLabel cursorLabel = new JLabel(SwingUtilities.loadIconResource("table", 16)); + private JLabel serviceLabel = new JLabel(SwingUtilities.loadIconResource("service", 16)); + private JLabel timeLabel = new JLabel(SwingUtilities.loadIconResource("history", 16)); + private JTextField searchText = new JTextField(8); + public void configureMenubar(JMenuBar menuBar) { - // TODO Auto-generated method stub - } public void disposeView(Preferences preferences) { - // TODO Auto-generated method stub - } public void initializeView() { - // TODO Auto-generated method stub - } public void doLayout(JComponent parentComponent, Preferences preferences, SwingEventManager eventManager) { table = new EnhancedTable(); - // TODO table.setDropTarget(new DropTarget(table, workbench.bookmarkDropper)); - table.setFont(table.getFont().deriveFont(10f)); - // table.putClientProperty(EnhancedTable.CLIENT_JPOPUP_MENU, workbench.tablePopupMenu); table.setDragEnabled(true); table.getSelectionModel().addListSelectionListener(this); - jspTable = new JScrollPane(table); - lblLocatr.setBorder(BorderFactory.createEtchedBorder()); - btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.NORTH, 4)); - btnHider.setBorderPainted(false); - btnHider.setFocusPainted(false); - btnHider.addActionListener(this); - // btnHider.setToolTipText(BasicUtilities.getString("Filter_Hide_Tip")); - actionPageUp.addActionListener(this); - actionPageUp.setBorderPainted(false); - actionPageUp.setFocusPainted(false); - // actionPageUp.setToolTipText(BasicUtilities.getString("View_Prev")); - actionPageDown.addActionListener(this); - actionPageDown.setBorderPainted(false); - actionPageDown.setFocusPainted(false); - // actionPageDown.setToolTipText(BasicUtilities.getString("View_Next")); - // txtFilter.setToolTipText(BasicUtilities.getString("Filter_Input_Tip")); - txtFilter.getDocument().addDocumentListener(this); - lblFilter.setFont(lblFilter.getFont().deriveFont(9.0f)); + searchText.getDocument().addDocumentListener(this); + cursorLabel.setBorder(BorderFactory.createEtchedBorder()); + cursorLabel.setToolTipText(messages.format("DataGrid.current_position_of_selection")); + timeLabel.setBorder(BorderFactory.createEtchedBorder()); + timeLabel.setToolTipText(messages.format("DataGrid.time_spent_aquiring_these_results")); + serviceLabel.setBorder(BorderFactory.createEtchedBorder()); + serviceLabel.setToolTipText(messages.format("DataGrid.service_these_results_came_from")); + + JScrollPane dataScrollPanel = new JScrollPane(table); Object UI_CONSTRAINT = null; - parentComponent.setLayout(new GridBagLayout()); + JPanel searchBar = new JPanel(new GridBagLayout()); UI_CONSTRAINT = constrain(0, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); - parentComponent.add(glue, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL); - parentComponent.add(lblSearch, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.35, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL); - parentComponent.add(txtFilter, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE); - parentComponent.add(btnHider, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(2, 1, 2, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE); - parentComponent.add(lblFilter, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(0, 2, 4, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH); - parentComponent.add(jspTable, UI_CONSTRAINT); - UI_CONSTRAINT = constrain(1, 3, 4, 1, 1.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE); - parentComponent.add(lblLocatr, UI_CONSTRAINT); + searchBar.add(Box.createHorizontalGlue(), UI_CONSTRAINT); + UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + JLabel searchLabel = new JLabel(SwingUtilities.loadIconResource("search", 16)); + searchBar.add(searchLabel, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + searchBar.add(searchText, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + searchBar.add(Box.createHorizontalStrut(10), UI_CONSTRAINT); + UI_CONSTRAINT = constrain(2, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE); + searchBar.add(lblFilter, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(3, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + searchBar.add(Box.createHorizontalStrut(10), UI_CONSTRAINT); + + JPanel statusBar = new JPanel(new GridBagLayout()); + UI_CONSTRAINT = constrain(3, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); + statusBar.add(Box.createHorizontalGlue(), UI_CONSTRAINT); + UI_CONSTRAINT = constrain(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE); + statusBar.add(timeLabel, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE); + statusBar.add(serviceLabel, UI_CONSTRAINT); + UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE); + statusBar.add(cursorLabel, UI_CONSTRAINT); + + parentComponent.setLayout(new BorderLayout()); + parentComponent.add(searchBar, BorderLayout.NORTH); + parentComponent.add(dataScrollPanel, BorderLayout.CENTER); + parentComponent.add(statusBar, BorderLayout.SOUTH); } - public void setModel(EnhancedTableModel model) { + public void changedUpdate(DocumentEvent e) { - table.setModel(model); - if (model.getTrueRowCount() >= 1) { - table.setRowSelectionInterval(0, 0); - } + } - if (model.getPageCount() > 1) { - jspTable.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); - jspTable.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); - jspTable.setCorner(ScrollPaneConstants.UPPER_RIGHT_CORNER, actionPageUp); - jspTable.setCorner(ScrollPaneConstants.LOWER_RIGHT_CORNER, actionPageDown); - } else { - jspTable.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - jspTable.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); - jspTable.setCorner(ScrollPaneConstants.UPPER_RIGHT_CORNER, Box.createHorizontalStrut(0)); - jspTable.setCorner(ScrollPaneConstants.LOWER_RIGHT_CORNER, Box.createHorizontalStrut(0)); + public void insertUpdate(DocumentEvent e) { + + doFiltering(); + } + + public void removeUpdate(DocumentEvent e) { + + doFiltering(); + } + + public void valueChanged(ListSelectionEvent e) { + + Object[] arguments = new Object[2]; + arguments[0] = Integer.toString(table.getSelectedRow() + 1); + arguments[1] = Integer.toString(table.getRowCount()); + synchronized (cursorLabel) { + cursorLabel.setText(cursorFormat.format(arguments)); } } - public EnhancedTable getTable() { + public void setMetadata(QueryMetadata metadata) { - return table; + this.queryReference = metadata.getCommand(); + serviceLabel.setText(metadata.getService()); + timeLabel.setText(StringUtilities.getHumanReadableTime(metadata.getUserTime())); } - public void clearFiltering() { + public void setModel(EnhancedTableModel model) { - if (table != null) { - ResultSetTableModel model = (ResultSetTableModel) table.getModel(); - model.clearFilter(); + this.model = model; + table.setModel(model); + if (model.getTrueRowCount() >= 1) { + table.setRowSelectionInterval(0, 0); } - txtFilter.setText(null); - lblFilter.setText(null); } - /* - * (non-Javadoc) - * - * @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent) - */ - public void changedUpdate(DocumentEvent e) { + public EnhancedTable getTable() { + return table; } - /* - * (non-Javadoc) - * - * @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent) - */ - public void insertUpdate(DocumentEvent e) { + public HistoricalCommand getQueryReference() { - doFiltering(); + return queryReference; } - /* - * (non-Javadoc) - * - * @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent) - */ - public void removeUpdate(DocumentEvent e) { + public void clearFiltering() { - doFiltering(); + if (model != null) { + model.clearFilter(); + } + searchText.setText(null); + lblFilter.setText(null); } private synchronized void doFiltering() { - if (table != null) { - EnhancedTableModel model = (EnhancedTableModel) table.getModel(); - String filter = txtFilter.getText().trim(); + if (model != null) { + String filter = searchText.getText().trim(); int found = model.applyFilter(filter); if (found >= 1) { String txt = messages.format("datagrid.found_matches", Integer.toString(found)); @@ -222,50 +209,5 @@ } table.invalidate(); } - } - - /* - * (non-Javadoc) - * - * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) - */ - public void actionPerformed(ActionEvent e) { - - Object src = e.getSource(); - if (src == btnHider) { - txtFilter.setVisible(!txtFilter.isVisible()); - lblFilter.setVisible(!lblFilter.isVisible()); - lblSearch.setVisible(!lblSearch.isVisible()); - glue.setVisible(!glue.isVisible()); - if (txtFilter.isVisible()) { - btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.NORTH, 4)); - // btnHider.setToolTipText(BasicUtilities.getString("Filter_Hide_Tip")); - } else { - btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.SOUTH, 4)); - // btnHider.setToolTipText(BasicUtilities.getString("Filter_Show_Tip")); - } - btnHider.getParent().validate(); - btnHider.getParent().repaint(); - } else if (src == actionPageDown) { - EnhancedTableModel model = (EnhancedTableModel) table.getModel(); - model.pageDown(); - } else if (src == actionPageUp) { - EnhancedTableModel model = (EnhancedTableModel) table.getModel(); - model.pageUp(); - } - } - - public void valueChanged(ListSelectionEvent e) { - - EnhancedTableModel model = (EnhancedTableModel) table.getModel(); - String str = nf.format(model.translateRow(table.getSelectedRow()) + 1); - str = str.concat("/"); - str = str.concat(nf.format(model.getTrueRowCount())); - str = str.concat(" ["); - str = str.concat(nf.format(model.getPageOffset() + 1)); - str = str.concat("/"); - str = str.concat(nf.format(model.getPageCount())); - lblLocatr.setText(" ".concat(str).concat("] ")); - } } \ No newline at end of file Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/JdbcWorkbench.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-08-07 23:56:25 UTC (rev 84) @@ -195,6 +195,7 @@ int id = event.getID(); switch (id) { case SharedActions.REFRESH_SELECTED_RESULTS : + refreshSelectedTab(); break; case SharedActions.NAVIGATE_LEFT_TAB : navigateLeftTab(); @@ -304,6 +305,21 @@ } } + private void refreshSelectedTab() { + + JComponent component = (JComponent) centerTabbedPane.getSelectedComponent(); + DataGrid dataGrid = (DataGrid) component.getClientProperty("x"); + HistoricalCommand command = dataGrid.getQueryReference(); + String statement = command.getCommandText(); + boolean connected = checkConnection(); + if (connected) { + TabbedResultsetRenderer renderer = new TabbedResultsetRenderer(centerTabbedPane); + QueryExecutor executor = new QueryExecutor(currentService, renderer, statement); + executor.setLogHistory(false); + executor.run(); + } + } + public void doLayout(JComponent parentComponent, Preferences userPreferences, SwingEventManager swingEventManager) { preferences = userPreferences.node("views/jdbc-workbench"); @@ -1081,7 +1097,6 @@ ca = new CustomAction("refresh-current-view", SharedActions.REFRESH_SELECTED_RESULTS, manager); acclerator = messages.format("menu.refresh_selected_view.accelerator"); - ca.setEnabled(false); ca.putValue(CustomAction.ICON_NAME, "reload"); ca.putValue(Action.ACCELERATOR_KEY, SwingUtilities.getKeyStroke(acclerator)); ca.putValue(Action.DEFAULT, messages.getMessage("menu.refresh_selected_view.title")); @@ -1584,8 +1599,8 @@ row.add(entry.getValue()); model.addRow(row); } + dataGrid.setModel(model); - centerTabbedPane.addTab(messages.format("JdbcWorkbench.database_metadata"), view); index = centerTabbedPane.indexOfComponent(view); centerTabbedPane.setClosableTab(index, true); Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/ResourceBundle.properties =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/ResourceBundle.properties 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/ResourceBundle.properties 2007-08-07 23:56:25 UTC (rev 84) @@ -57,6 +57,9 @@ datagrid.no_matches=No match datagrid.found_matches=Found {0} matche(s). +DataGrid.current_position_of_selection=The row that is currently selected out of all of the rows. +DataGrid.time_spent_aquiring_these_results=Time spent aquiring these results. +DataGrid.service_these_results_came_from=The service used to aquire these results. bookmarkeditor.created-date.title=Created On bookmarkeditor.created-date.tip=The date and time this bookmark was created. Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/SqlCommandEditor.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/SqlCommandEditor.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/SqlCommandEditor.java 2007-08-07 23:56:25 UTC (rev 84) @@ -34,6 +34,7 @@ import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; +import java.util.TooManyListenersException; import java.util.prefs.Preferences; import javax.swing.AbstractAction; @@ -145,13 +146,15 @@ commandEditor.addFocusListener(this); commandEditor.addCaretListener(this); - - DropTarget dropTarget = new TextComponentDropTarget(commandEditor); - dropTarget.setActive(true); + commandEditor.setDragEnabled(true); + DropTarget dropTarget = commandEditor.getDropTarget(); dropTarget.setDefaultActions(DnDConstants.ACTION_COPY_OR_MOVE); - commandEditor.setDropTarget(dropTarget); + try { + dropTarget.addDropTargetListener(new TextComponentDropTarget(commandEditor)); + } catch (TooManyListenersException ignored) { + debug("addDropTargetListener()", ignored); + } - commandEditor.setDragEnabled(true); commandEditor.getDocument().addUndoableEditListener(this); localizeTextComponent(commandEditor, undoManager); } Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java 2007-08-07 23:56:25 UTC (rev 84) @@ -53,6 +53,7 @@ */ private Position.Bias[] bias = new Position.Bias[1]; + @Override public void mouseClicked(MouseEvent e) { JEditorPane editor = (JEditorPane) e.getSource(); @@ -69,6 +70,7 @@ } } + @Override public void mouseMoved(MouseEvent e) { JEditorPane editor = (JEditorPane) e.getSource(); @@ -152,6 +154,7 @@ super(url); } + @Override public void connect() { } Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/TabbedResultsetRenderer.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-08-07 23:56:25 UTC (rev 84) @@ -47,6 +47,7 @@ import javax.swing.JProgressBar; import org.apache.log4j.Logger; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.sql.ResultSetRenderer; import org.isqlviewer.swing.EnhancedTabbedPane; import org.isqlviewer.swing.SwingUtilities; @@ -160,7 +161,7 @@ logger.info(messages.format("tabbedresultsetrenderer.rows_affected", new Integer(updateCount))); } - public void finalizeStatement(String stmtID) { + public void finalizeStatement(String stmtID, QueryMetadata metadata) { eyeCandy.updateStatus(messages.format("TabbedResultsetRenderer.finalize_statement", stmtID)); @@ -181,6 +182,9 @@ componentView.removeAll(); dataGrid.doLayout(componentView, null, null); dataGrid.setModel(eyeCandy.getQueryData()); + dataGrid.setMetadata(metadata); + componentView.putClientProperty("x", dataGrid); + tabbedPane.setToolTipTextAt(index, html); tabbedPane.setTitleAt(index, str); tabbedPane.setComponentAt(index, componentView); @@ -360,4 +364,5 @@ return componentView; } } + } \ No newline at end of file Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java 2007-08-07 23:56:25 UTC (rev 84) @@ -32,6 +32,7 @@ import org.isqlviewer.model.JdbcSchemaTreeModel; import org.isqlviewer.model.SchemaNode; import org.isqlviewer.model.SchemaNodeType; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.sql.ResultSetRenderer; import org.isqlviewer.util.LoggableObject; @@ -173,7 +174,7 @@ nodeRenderer.recieveResultsetWarnings(set, set.getWarnings()); } } finally { - nodeRenderer.finalizeStatement(""); + nodeRenderer.finalizeStatement("", new QueryMetadata()); try { if (set != null) { set.close(); Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java 2007-08-07 23:54:49 UTC (rev 83) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java 2007-08-07 23:56:25 UTC (rev 84) @@ -26,8 +26,10 @@ import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnDConstants; -import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetDragEvent; import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetEvent; +import java.awt.dnd.DropTargetListener; import java.io.IOException; import javax.swing.text.BadLocationException; @@ -42,7 +44,7 @@ * @author Mark A. Kobold <mkobold at isqlviewer dot com> * @version 1.0 */ -public class TextComponentDropTarget extends DropTarget { +public class TextComponentDropTarget implements DropTargetListener { private static final long serialVersionUID = 4496993389366518143L; private JTextComponent editor = null; @@ -51,9 +53,8 @@ this.editor = editor; } - public void drop(DropTargetDropEvent event) { - + boolean successful = false; try { if (event.isDataFlavorSupported(DataFlavor.stringFlavor)) { @@ -85,4 +86,36 @@ event.dropComplete(successful); } } + /* (non-Javadoc) + * @see java.awt.dnd.DropTargetListener#dragEnter(java.awt.dnd.DropTargetDragEvent) + */ + public void dragEnter(DropTargetDragEvent dtde) { + + // TODO Auto-generated method stub + + } + /* (non-Javadoc) + * @see java.awt.dnd.DropTargetListener#dragExit(java.awt.dnd.DropTargetEvent) + */ + public void dragExit(DropTargetEvent dte) { + + // TODO Auto-generated method stub + + } + /* (non-Javadoc) + * @see java.awt.dnd.DropTargetListener#dragOver(java.awt.dnd.DropTargetDragEvent) + */ + public void dragOver(DropTargetDragEvent dtde) { + + // TODO Auto-generated method stub + + } + /* (non-Javadoc) + * @see java.awt.dnd.DropTargetListener#dropActionChanged(java.awt.dnd.DropTargetDragEvent) + */ + public void dropActionChanged(DropTargetDragEvent dtde) { + + // TODO Auto-generated method stub + + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-08-07 23:54:49
|
Revision: 83 http://isql.svn.sourceforge.net/isql/?rev=83&view=rev Author: mkobold Date: 2007-08-07 16:54:49 -0700 (Tue, 07 Aug 2007) Log Message: ----------- * Added initial support for providing query meta data that contains metrics on the query execution. * Updated .classpath to use eclipse europa. Modified Paths: -------------- isql-core/branches/3.0.0-maintenance/.classpath isql-core/branches/3.0.0-maintenance/.externalToolBuilders/External Resource Copier.launch isql-core/branches/3.0.0-maintenance/.project isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/ResultSetRenderer.java isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/IsqlToolkit.java isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/NullResultSetViewer.java isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/QueryExecutor.java Added Paths: ----------- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/QueryMetadata.java Modified: isql-core/branches/3.0.0-maintenance/.classpath =================================================================== --- isql-core/branches/3.0.0-maintenance/.classpath 2007-06-12 22:50:01 UTC (rev 82) +++ isql-core/branches/3.0.0-maintenance/.classpath 2007-08-07 23:54:49 UTC (rev 83) @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="src" path="test"/> - <classpathentry exported="true" kind="var" path="JUNIT_HOME/junit.jar" sourcepath="/JUNIT_SRC_HOME/junitsrc.zip"/> <classpathentry exported="true" kind="lib" path="lib/log4j.jar"/> <classpathentry exported="true" kind="lib" path="lib/derby.jar"/> + <classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="output" path="bin"/> </classpath> Modified: isql-core/branches/3.0.0-maintenance/.externalToolBuilders/External Resource Copier.launch =================================================================== --- isql-core/branches/3.0.0-maintenance/.externalToolBuilders/External Resource Copier.launch 2007-06-12 22:50:01 UTC (rev 82) +++ isql-core/branches/3.0.0-maintenance/.externalToolBuilders/External Resource Copier.launch 2007-08-07 23:54:49 UTC (rev 83) @@ -1,15 +1,22 @@ <?xml version="1.0" encoding="UTF-8"?> <launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> -<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> -<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> -<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/> <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="eclipse-setup,"/> -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,"/> +<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="eclipse-setup,"/> <booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/> -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/isql-core}"/> +<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> <booleanAttribute key="org.eclipse.ant.uiSET_INPUTHANDLER" value="false"/> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/isql-core/build.xml"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> -<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> +<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> +<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/isql-core/build.xml}"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/isql-core}"/> </launchConfiguration> Modified: isql-core/branches/3.0.0-maintenance/.project =================================================================== --- isql-core/branches/3.0.0-maintenance/.project 2007-06-12 22:50:01 UTC (rev 82) +++ isql-core/branches/3.0.0-maintenance/.project 2007-08-07 23:54:49 UTC (rev 83) @@ -12,7 +12,7 @@ </buildCommand> <buildCommand> <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> - <triggers>full,</triggers> + <triggers>full,incremental,</triggers> <arguments> <dictionary> <key>LaunchConfigHandle</key> Added: isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/QueryMetadata.java =================================================================== --- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/QueryMetadata.java (rev 0) +++ isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/QueryMetadata.java 2007-08-07 23:54:49 UTC (rev 83) @@ -0,0 +1,87 @@ +/* + * The contents of this file are subject to the Mozilla Public License + * Version 1.1 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * + * The Original Code is iSQL-Viewer, A Mutli-Platform Database Tool. + * + * The Initial Developer of the Original Code is iSQL-Viewer, A Mutli-Platform Database Tool. + * Portions created by Mark A. Kobold are Copyright (C) 2000-2007. All Rights Reserved. + * + * Contributor(s): + * Mark A. Kobold [mkobold <at> isqlviewer <dot> com]. + * + * If you didn't download this code from the following link, you should check + * if you aren't using an obsolete version: http://www.isqlviewer.com + */ +package org.isqlviewer.sql; + +import org.isqlviewer.history.HistoricalCommand; + +/** + * Simple meta-data object for collecting query execution metrics within iSQL-Viewer. + * <p> + * + * @author Mark A. Kobold <mkobold at isqlviewer dot com> + * @version 1.0 + */ +public class QueryMetadata { + + private long userTime = 0; + private String service = null; + private HistoricalCommand command = null; + + /** + * @return the command + */ + public HistoricalCommand getCommand() { + + return command; + } + + /** + * @param command the command to set + */ + public void setCommand(HistoricalCommand command) { + + this.command = command; + } + + /** + * @return the service + */ + public String getService() { + + return service; + } + + /** + * @param service the service to set + */ + public void setService(String service) { + + this.service = service; + } + + /** + * @return the userTime + */ + public long getUserTime() { + + return userTime; + } + + /** + * @param userTime the userTime to set + */ + public void setUserTime(long userTime) { + + this.userTime = userTime; + } +} Modified: isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/ResultSetRenderer.java =================================================================== --- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/ResultSetRenderer.java 2007-06-12 22:50:01 UTC (rev 82) +++ isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/sql/ResultSetRenderer.java 2007-08-07 23:54:49 UTC (rev 83) @@ -177,7 +177,7 @@ * * @param stmtID unqiue identifier for the statement that was cancelled. */ - public void finalizeStatement(String stmtID); + public void finalizeStatement(String stmtID, QueryMetadata metaData); /** * Statement warnings from a resultset can be delegated here. Modified: isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/IsqlToolkit.java =================================================================== --- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/IsqlToolkit.java 2007-06-12 22:50:01 UTC (rev 82) +++ isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/IsqlToolkit.java 2007-08-07 23:54:49 UTC (rev 83) @@ -69,7 +69,7 @@ * Build number or patch level version of the iSQL-Viewer code base. * <p> */ - public static final int VERSION_BUILD = 0; + public static final int VERSION_BUILD = 2; /** * System property for determining if the iSQL-Viewer MRJ Adapter is installed. */ Modified: isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/NullResultSetViewer.java =================================================================== --- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/NullResultSetViewer.java 2007-06-12 22:50:01 UTC (rev 82) +++ isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/NullResultSetViewer.java 2007-08-07 23:54:49 UTC (rev 83) @@ -27,6 +27,7 @@ import java.sql.SQLWarning; import java.sql.Statement; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.sql.ResultSetRenderer; class NullResultSetViewer implements ResultSetRenderer { @@ -39,7 +40,7 @@ } - public void finalizeStatement(String stmtID) { + public void finalizeStatement(String stmtID, QueryMetadata metaData) { } Modified: isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/QueryExecutor.java =================================================================== --- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/QueryExecutor.java 2007-06-12 22:50:01 UTC (rev 82) +++ isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/QueryExecutor.java 2007-08-07 23:54:49 UTC (rev 83) @@ -46,6 +46,7 @@ import org.isqlviewer.sql.ConnectionProfile; import org.isqlviewer.sql.JdbcService; import org.isqlviewer.sql.JdbcUtilities; +import org.isqlviewer.sql.QueryMetadata; import org.isqlviewer.sql.ResultSetRenderer; /** @@ -68,6 +69,7 @@ private ResultSetRenderer renderer = null; private String statement = null; private JdbcService service = null; + private boolean logHistory = true; public QueryExecutor(JdbcService service, ResultSetRenderer renderer, String statement) { @@ -80,6 +82,11 @@ this.statement = statement; } + public void setLogHistory(boolean logHistory) { + + this.logHistory = logHistory; + } + public void run() { if (service == null) { @@ -111,13 +118,17 @@ boolean logBatch = statements.length > 1; for (int i = 0; i < statements.length; i++) { String userQuery = statements[i].trim(); + QueryMetadata metadata = new QueryMetadata(); + metadata.setService(service.getName()); if (userQuery.length() > 0) { try { renderer.initialize(); String substitutedQuery = doVariableSubstitutions(userQuery); String nativeSQL = getNativeSql(connection, substitutedQuery); Date queryTime = new Date(); + long userTime = System.currentTimeMillis(); doQuery(connection, localID, nativeSQL); + metadata.setUserTime(System.currentTimeMillis() - userTime); if (logBatch && commandLogger != null) { HistoricalCommand subCommand = new HistoricalCommand(); subCommand.setCommandText(userQuery); @@ -126,8 +137,9 @@ subCommand.setTransactionId(executionHistory.getTransactionId()); getTypeForQuery(subCommand, userQuery); executionHistory.addSubcommand(subCommand); + metadata.setCommand(subCommand); } else { - logCommandHistory(commandLogger, userQuery, queryTime); + metadata.setCommand(logCommandHistory(commandLogger, userQuery, queryTime)); } } catch (ParseException e) { error("ERR:", e); @@ -141,12 +153,14 @@ } catch (Exception e) { error("ERR:", e); } finally { - renderer.finalizeStatement(localID); + renderer.finalizeStatement(localID, metadata); } } } - if (commandLogger != null && logBatch) { - commandLogger.logCommand(executionHistory); + if (logHistory) { + if (commandLogger != null && logBatch) { + commandLogger.logCommand(executionHistory); + } } } finally { info(messages.getMessage("queryexecutor.finished")); @@ -155,16 +169,18 @@ } - private void logCommandHistory(JdbcCommandLogger commandLogger, String userQuery, Date queryTime) { + private HistoricalCommand logCommandHistory(JdbcCommandLogger commandLogger, String userQuery, Date queryTime) { - if (commandLogger != null) { + if (logHistory && commandLogger != null) { HistoricalCommand command = new HistoricalCommand(); command.setCommandText(userQuery); command.setQueryTime(queryTime); command.setService(service.getName()); getTypeForQuery(command, userQuery); commandLogger.logCommand(command); + return command; } + return null; } private void getTypeForQuery(HistoricalCommand command, String userQuery) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:49:59
|
Revision: 82 http://svn.sourceforge.net/isql/?rev=82&view=rev Author: mkobold Date: 2007-06-12 15:50:01 -0700 (Tue, 12 Jun 2007) Log Message: ----------- Tagged version of iSQL-Viewer 3.0.1 This version addresses some minor issues with variable substituion and a bug with saving a large SQL query to the preferences when the application closes. Added Paths: ----------- isql-swing/tags/iSQL-Viewer-3.0.1/ Copied: isql-swing/tags/iSQL-Viewer-3.0.1 (from rev 81, isql-swing/branches/3.0.0-maintenance) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:49:45
|
Revision: 81 http://svn.sourceforge.net/isql/?rev=81&view=rev Author: mkobold Date: 2007-06-12 15:49:47 -0700 (Tue, 12 Jun 2007) Log Message: ----------- Tagged version of iSQL-Viewer 3.0.1 This version addresses some minor issues with variable substituion and a bug with saving a large SQL query to the preferences when the application closes. Added Paths: ----------- isql-mrj/tags/iSQL-Viewer-3.0.1/ Copied: isql-mrj/tags/iSQL-Viewer-3.0.1 (from rev 80, isql-mrj/branches/3.0.0-maintenance) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:49:31
|
Revision: 80 http://svn.sourceforge.net/isql/?rev=80&view=rev Author: mkobold Date: 2007-06-12 15:49:33 -0700 (Tue, 12 Jun 2007) Log Message: ----------- Tagged version of iSQL-Viewer 3.0.1 This version addresses some minor issues with variable substituion and a bug with saving a large SQL query to the preferences when the application closes. Added Paths: ----------- isql-core/tags/iSQL-Viewer-3.0.1/ Copied: isql-core/tags/iSQL-Viewer-3.0.1 (from rev 79, isql-core/branches/3.0.0-maintenance) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:49:15
|
Revision: 79 http://svn.sourceforge.net/isql/?rev=79&view=rev Author: mkobold Date: 2007-06-12 15:49:16 -0700 (Tue, 12 Jun 2007) Log Message: ----------- * Synchronized with the 3.1.0-development branch Modified Paths: -------------- isql-swing/branches/3.0.0-maintenance/build.xml Property Changed: ---------------- isql-swing/branches/3.0.0-maintenance/ Property changes on: isql-swing/branches/3.0.0-maintenance ___________________________________________________________________ Name: svn:ignore - bin classes + bin classes isql-swing.jar isql-swing-src.zip Modified: isql-swing/branches/3.0.0-maintenance/build.xml =================================================================== --- isql-swing/branches/3.0.0-maintenance/build.xml 2007-06-12 22:48:26 UTC (rev 78) +++ isql-swing/branches/3.0.0-maintenance/build.xml 2007-06-12 22:49:16 UTC (rev 79) @@ -147,7 +147,10 @@ <attribute name="Project-Version" value="${project.version}" /> </manifest> </jar> - <zip zipfile="${basedir}/${project.name}-src.zip" basedir="${src.dir}" /> + <zip destfile="${basedir}/${project.name}-src.zip"> + <fileset dir="${src.dir}" /> + <fileset dir="${basedir}" includes="build.xml" /> + </zip> </target> <target name="compile-tests" if="junit.compile"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:48:26
|
Revision: 78 http://svn.sourceforge.net/isql/?rev=78&view=rev Author: mkobold Date: 2007-06-12 15:48:26 -0700 (Tue, 12 Jun 2007) Log Message: ----------- * Synchronized with the 3.1.0-development branch Modified Paths: -------------- isql-core/branches/3.0.0-maintenance/build.xml isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/resource/driver.properties Modified: isql-core/branches/3.0.0-maintenance/build.xml =================================================================== --- isql-core/branches/3.0.0-maintenance/build.xml 2007-06-12 22:38:12 UTC (rev 77) +++ isql-core/branches/3.0.0-maintenance/build.xml 2007-06-12 22:48:26 UTC (rev 78) @@ -145,7 +145,11 @@ <attribute name="Project-Version" value="${project.version}" /> </manifest> </jar> - <zip zipfile="${basedir}/${project.name}-src.zip" basedir="${src.dir}" /> + + <zip destfile="${basedir}/${project.name}-src.zip"> + <fileset dir="${src.dir}" /> + <fileset dir="${basedir}" includes="build.xml" /> + </zip> </target> <target name="compile-tests" if="junit.compile"> Modified: isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/resource/driver.properties =================================================================== --- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/resource/driver.properties 2007-06-12 22:38:12 UTC (rev 77) +++ isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/resource/driver.properties 2007-06-12 22:48:26 UTC (rev 78) @@ -26,3 +26,5 @@ sun.jdbc.odbc.JdbcOdbcDriver=jdbc\:odbc\:odbcDataSource uk.co.thinksql.ThinkSQLDriver=jdbc\:thinksql\://hostname\:9075 weblogic.jdbc.mssqlserver4.Driver=weblogic\:mssqlserver4\:hostname\:1433 +com.j_spaces.jdbc.driver.GDriver=jdbc:gigaspaces:url:rmi://<hostname>/./myCache +nl.cwi.monetdb.jdbc.MonetDriver=jdbc:monetdb://localhost/database This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:38:10
|
Revision: 77 http://svn.sourceforge.net/isql/?rev=77&view=rev Author: mkobold Date: 2007-06-12 15:38:12 -0700 (Tue, 12 Jun 2007) Log Message: ----------- * Fixed build script to include the ant script with source packages Modified Paths: -------------- isql-core/branches/3.1.0-development/build.xml Modified: isql-core/branches/3.1.0-development/build.xml =================================================================== --- isql-core/branches/3.1.0-development/build.xml 2007-06-12 22:38:07 UTC (rev 76) +++ isql-core/branches/3.1.0-development/build.xml 2007-06-12 22:38:12 UTC (rev 77) @@ -145,7 +145,11 @@ <attribute name="Project-Version" value="${project.version}" /> </manifest> </jar> - <zip zipfile="${basedir}/${project.name}-src.zip" basedir="${src.dir}" /> + + <zip destfile="${basedir}/${project.name}-src.zip"> + <fileset dir="${src.dir}" /> + <fileset dir="${basedir}" includes="build.xml" /> + </zip> </target> <target name="compile-tests" if="junit.compile"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:38:06
|
Revision: 76 http://svn.sourceforge.net/isql/?rev=76&view=rev Author: mkobold Date: 2007-06-12 15:38:07 -0700 (Tue, 12 Jun 2007) Log Message: ----------- * Fixed build script to include the ant script with source packages Modified Paths: -------------- isql-mrj/branches/3.0.0-maintenance/build.xml Modified: isql-mrj/branches/3.0.0-maintenance/build.xml =================================================================== --- isql-mrj/branches/3.0.0-maintenance/build.xml 2007-06-12 22:37:55 UTC (rev 75) +++ isql-mrj/branches/3.0.0-maintenance/build.xml 2007-06-12 22:38:07 UTC (rev 76) @@ -147,7 +147,10 @@ <attribute name="Project-Version" value="${project.version}" /> </manifest> </jar> - <zip zipfile="${basedir}/${project.name}-src.zip" basedir="${src.dir}" /> + <zip destfile="${basedir}/${project.name}-src.zip"> + <fileset dir="${src.dir}" /> + <fileset dir="${basedir}" includes="build.xml" /> + </zip> </target> <target name="compile-tests" if="junit.compile"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:37:54
|
Revision: 75 http://svn.sourceforge.net/isql/?rev=75&view=rev Author: mkobold Date: 2007-06-12 15:37:55 -0700 (Tue, 12 Jun 2007) Log Message: ----------- * Fixed build script to include the ant script with source packages Modified Paths: -------------- isql-swing/branches/3.1.0-development/build.xml Modified: isql-swing/branches/3.1.0-development/build.xml =================================================================== --- isql-swing/branches/3.1.0-development/build.xml 2007-06-12 22:26:27 UTC (rev 74) +++ isql-swing/branches/3.1.0-development/build.xml 2007-06-12 22:37:55 UTC (rev 75) @@ -147,7 +147,10 @@ <attribute name="Project-Version" value="${project.version}" /> </manifest> </jar> - <zip zipfile="${basedir}/${project.name}-src.zip" basedir="${src.dir}" /> + <zip destfile="${basedir}/${project.name}-src.zip"> + <fileset dir="${src.dir}" /> + <fileset dir="${basedir}" includes="build.xml" /> + </zip> </target> <target name="compile-tests" if="junit.compile"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-12 22:26:28
|
Revision: 74 http://svn.sourceforge.net/isql/?rev=74&view=rev Author: mkobold Date: 2007-06-12 15:26:27 -0700 (Tue, 12 Jun 2007) Log Message: ----------- * Corrected query processing for variable substitutions. * Added MonetDB and Gigaspaces drives to the default list of drivers. Modified Paths: -------------- isql-core/branches/3.1.0-development/src/org/isqlviewer/resource/driver.properties isql-core/branches/3.1.0-development/src/org/isqlviewer/util/QueryExecutor.java Modified: isql-core/branches/3.1.0-development/src/org/isqlviewer/resource/driver.properties =================================================================== --- isql-core/branches/3.1.0-development/src/org/isqlviewer/resource/driver.properties 2007-06-07 02:03:11 UTC (rev 73) +++ isql-core/branches/3.1.0-development/src/org/isqlviewer/resource/driver.properties 2007-06-12 22:26:27 UTC (rev 74) @@ -26,3 +26,5 @@ sun.jdbc.odbc.JdbcOdbcDriver=jdbc\:odbc\:odbcDataSource uk.co.thinksql.ThinkSQLDriver=jdbc\:thinksql\://hostname\:9075 weblogic.jdbc.mssqlserver4.Driver=weblogic\:mssqlserver4\:hostname\:1433 +com.j_spaces.jdbc.driver.GDriver=jdbc:gigaspaces:url:rmi://<hostname>/./myCache +nl.cwi.monetdb.jdbc.MonetDriver=jdbc:monetdb://localhost/database Modified: isql-core/branches/3.1.0-development/src/org/isqlviewer/util/QueryExecutor.java =================================================================== --- isql-core/branches/3.1.0-development/src/org/isqlviewer/util/QueryExecutor.java 2007-06-07 02:03:11 UTC (rev 73) +++ isql-core/branches/3.1.0-development/src/org/isqlviewer/util/QueryExecutor.java 2007-06-12 22:26:27 UTC (rev 74) @@ -110,10 +110,10 @@ executionHistory.setType(CommandType.BATCH_QUERY); boolean logBatch = statements.length > 1; for (int i = 0; i < statements.length; i++) { - renderer.initialize(); String userQuery = statements[i].trim(); if (userQuery.length() > 0) { try { + renderer.initialize(); String substitutedQuery = doVariableSubstitutions(userQuery); String nativeSQL = getNativeSql(connection, substitutedQuery); Date queryTime = new Date(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-07 02:03:09
|
Revision: 73 http://svn.sourceforge.net/isql/?rev=73&view=rev Author: mkobold Date: 2007-06-06 19:03:11 -0700 (Wed, 06 Jun 2007) Log Message: ----------- * Synchronized and merges changes to the 3.0.0-maintenance branch. Modified Paths: -------------- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ConfirmDeleteService.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ConfirmNewService.java isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ResourceBundle.properties Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-06-07 02:01:28 UTC (rev 72) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-06-07 02:03:11 UTC (rev 73) @@ -172,7 +172,6 @@ private ButtonGroup schemaSelection = new ButtonGroup(); private JdbcService currentService = null; - private TabbedResultsetRenderer tabRenderer; private EnhancedTabbedPane rhsTabbedPane = new EnhancedTabbedPane(EnhancedTabbedPane.TOP); private EnhancedTabbedPane lhsTabbedPane = new EnhancedTabbedPane(EnhancedTabbedPane.TOP); @@ -281,7 +280,8 @@ String statement = event.getActionCommand(); boolean connected = checkConnection(); if (connected) { - QueryExecutor executor = new QueryExecutor(currentService, tabRenderer, statement); + TabbedResultsetRenderer renderer = new TabbedResultsetRenderer(centerTabbedPane); + QueryExecutor executor = new QueryExecutor(currentService, renderer, statement); executor.run(); } break; @@ -307,7 +307,6 @@ public void doLayout(JComponent parentComponent, Preferences userPreferences, SwingEventManager swingEventManager) { preferences = userPreferences.node("views/jdbc-workbench"); - tabRenderer = new TabbedResultsetRenderer(centerTabbedPane); this.eventManager = swingEventManager; this.eventManager.addActionListener(this); @@ -465,7 +464,9 @@ clientProperty = (Boolean) bookmarkView.getClientProperty(BOOKMARK_VISIBLE); preferences.putBoolean(BOOKMARK_VISIBLE, clientProperty.booleanValue()); - preferences.put(SESSION_TEXT, commandEditor.getText()); + String queryText = commandEditor.getText(); + queryText = StringUtilities.trimToSize(queryText, Preferences.MAX_VALUE_LENGTH); + preferences.put(SESSION_TEXT, queryText); unlocalizeTextComponent(console, undoManager); } @@ -932,6 +933,7 @@ action.putValue(CustomAction.ICON_NAME, "information"); addButton(toolbar, manager, action); + TabbedResultsetRenderer tabRenderer = new TabbedResultsetRenderer(centerTabbedPane); SchemaTreeListener listener = new SchemaTreeListener(schemaModel, tabRenderer, manager); schemaModel.setTablesEnabled(true); schemaView.setCellRenderer(new JDBCTreeCellRenderer()); @@ -1070,7 +1072,7 @@ if (preferences.getBoolean(SCHEMA_VISIBLE, false)) { action.actionPerformed(new ActionEvent(this, 0, "")); } else { - schemaView.putClientProperty(SCHEMA_VISIBLE, Boolean.TRUE); + schemaView.putClientProperty(SCHEMA_VISIBLE, Boolean.FALSE); } addMenuItem(viewMenu, action); @@ -1300,6 +1302,7 @@ } break; } + return component; } @@ -1516,10 +1519,9 @@ private void closeSelectedResult() { - EnhancedTabbedPane tabbedPane = tabRenderer.getTabbedPane(); int index = centerTabbedPane.getSelectedIndex(); if (index >= 0) { - tabbedPane.remove(index); + centerTabbedPane.remove(index); } } @@ -1583,11 +1585,11 @@ model.addRow(row); } dataGrid.setModel(model); - EnhancedTabbedPane tabbedPane = tabRenderer.getTabbedPane(); - tabbedPane.addTab(messages.format("JdbcWorkbench.database_metadata"), view); - index = tabbedPane.indexOfComponent(view); - tabbedPane.setClosableTab(index, true); - tabbedPane.setIconAt(index, SwingUtilities.loadIconResource("information", 16)); + + centerTabbedPane.addTab(messages.format("JdbcWorkbench.database_metadata"), view); + index = centerTabbedPane.indexOfComponent(view); + centerTabbedPane.setClosableTab(index, true); + centerTabbedPane.setIconAt(index, SwingUtilities.loadIconResource("information", 16)); } private boolean checkConnection() { @@ -1642,6 +1644,13 @@ public void actionPerformed(ActionEvent e) { viewComponent = workbench.toggleView(view, viewComponent); + String jre = System.getProperty("java.specification.version"); + if (viewComponent != null && "1.5".equals(jre)) { + Window windowOwner = javax.swing.SwingUtilities.getWindowAncestor(viewComponent); + if (windowOwner != null) { + windowOwner.validate(); + } + } } } } Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-06-07 02:01:28 UTC (rev 72) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-06-07 02:03:11 UTC (rev 73) @@ -91,7 +91,6 @@ synchronized (isCancelled) { isCancelled.set(false); } - currentSubstitutions.clear(); JPanel componentView = new JPanel(); eyeCandy = new BusyQueryIndicator(isCancelled); eyeCandy.doLayout(componentView, null, null); Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ConfirmDeleteService.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ConfirmDeleteService.java 2007-06-07 02:01:28 UTC (rev 72) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ConfirmDeleteService.java 2007-06-07 02:03:11 UTC (rev 73) @@ -33,12 +33,11 @@ import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; -import javax.swing.JSeparator; import javax.swing.JTextField; -import javax.swing.SwingConstants; import javax.swing.text.Document; import org.isqlviewer.ServiceReference; +import org.isqlviewer.sql.JdbcService; import org.isqlviewer.sql.embedded.EmbeddedDatabase; import org.isqlviewer.swing.SwingUtilities; import org.isqlviewer.swing.action.SharedActions; @@ -55,6 +54,8 @@ private Document nameDocument = null; private Document urlDocument = null; private Document classDocument = null; + private Document jdbcDriverDocument = null; + private Document jdbcURLDocument = null; public boolean isFirst() { @@ -92,10 +93,15 @@ public void activate(WizardContext context) { ServiceReference service = (ServiceReference) context.getAttribute(ServiceWizard.ATTRIBUTE_SERVICE_REFERENCE); + JdbcService jdbcService = (JdbcService) context.getAttribute(ServiceWizard.ATTRIBUTE_SERVICE); if (service != null) { SwingUtilities.replaceDocumentContent(nameDocument, service.getName()); SwingUtilities.replaceDocumentContent(urlDocument, service.getCreatedOn().toString()); SwingUtilities.replaceDocumentContent(classDocument, service.getResourceURL().toExternalForm()); + if (jdbcService != null) { + SwingUtilities.replaceDocumentContent(jdbcURLDocument, jdbcService.getUrl()); + SwingUtilities.replaceDocumentContent(jdbcDriverDocument, jdbcService.getDriverClass()); + } } } @@ -104,7 +110,7 @@ setTitle(messages.getMessage("ConfirmDeleteService.title")); setComment(messages.getMessage("ConfirmDeleteService.comment")); - setImage(SwingUtilities.loadIconResource(ServiceWizard.class, "ok", 22)); + setImage(SwingUtilities.loadIconResource(ServiceWizard.class, "db_delete", 22)); JPanel panel = new JPanel(new GridBagLayout()); setView(panel); @@ -130,8 +136,8 @@ GridBagConstraints.HORIZONTAL); panel.add(component, constraint); - title = messages.format("newservicewizard.jdbcdriver.title"); - tip = messages.format("newservicewizard.jdbcdriver.tip"); + title = messages.format("ConfirmDeleteService.service-file.title"); + tip = messages.format("ConfirmDeleteService.service-file.tip"); component = new JTextField(32); component.setToolTipText(tip); component.setFont(component.getFont().deriveFont(Font.BOLD)); @@ -145,8 +151,8 @@ GridBagConstraints.HORIZONTAL); panel.add(component, constraint); - title = messages.format("newservicewizard.jdbcurl.title"); - tip = messages.format("newservicewizard.jdbcurl.tip"); + title = messages.format("ConfirmDeleteService.created-on.title"); + tip = messages.format("ConfirmDeleteService.created-on.tip"); component = new JTextField(32); component.setToolTipText(tip); component.setFont(component.getFont().deriveFont(Font.BOLD)); @@ -160,18 +166,38 @@ GridBagConstraints.HORIZONTAL); panel.add(component, constraint); - constraint = ServiceWizard.constrain(0, 3, 2, 1, 1.0d, 0.0d, GridBagConstraints.CENTER, + title = messages.format("ConfirmDeleteService.driver-class.title"); + tip = messages.format("ConfirmDeleteService.driver-class.tip"); + component = new JTextField(32); + component.setToolTipText(tip); + component.setFont(component.getFont().deriveFont(Font.BOLD)); + ((JTextField) component).setEditable(false); + jdbcDriverDocument = ((JTextField) component).getDocument(); + constraint = ServiceWizard.constrain(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE); + label = new JLabel(title); + label.setLabelFor(component); + panel.add(label, constraint); + constraint = ServiceWizard.constrain(1, 3, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); - panel.add(new JSeparator(SwingConstants.HORIZONTAL), constraint); - panel.add(Box.createVerticalStrut(32), constraint); + panel.add(component, constraint); - title = messages.format("newservicewizard.compatability_info"); - component = new JLabel(title); - constraint = ServiceWizard.constrain(0, 4, 2, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE); + title = messages.format("ConfirmDeleteService.jdbc-url.title"); + tip = messages.format("ConfirmDeleteService.jdbc-url.tip"); + component = new JTextField(32); + component.setToolTipText(tip); + component.setFont(component.getFont().deriveFont(Font.BOLD)); + ((JTextField) component).setEditable(false); + jdbcURLDocument = ((JTextField) component).getDocument(); + constraint = ServiceWizard.constrain(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE); + label = new JLabel(title); + label.setLabelFor(component); + panel.add(label, constraint); + constraint = ServiceWizard.constrain(1, 4, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, + GridBagConstraints.HORIZONTAL); panel.add(component, constraint); component = (JComponent) Box.createVerticalGlue(); - constraint = ServiceWizard.constrain(0, 7, 2, 1, 0.0, 1.0, GridBagConstraints.CENTER, + constraint = ServiceWizard.constrain(0, 5, 2, 1, 0.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.VERTICAL); panel.add(component, constraint); } Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ConfirmNewService.java =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ConfirmNewService.java 2007-06-07 02:01:28 UTC (rev 72) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ConfirmNewService.java 2007-06-07 02:03:11 UTC (rev 73) @@ -141,7 +141,7 @@ setTitle(messages.getMessage("newservicewizard.finalize-service.title")); setComment(messages.getMessage("newservicewizard.finalize-service.tip")); - setImage(SwingUtilities.loadIconResource(ServiceWizard.class, "ok", 22)); + setImage(SwingUtilities.loadIconResource(ServiceWizard.class, "db_insert", 22)); JPanel panel = new JPanel(new GridBagLayout()); setView(panel); Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ResourceBundle.properties =================================================================== --- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ResourceBundle.properties 2007-06-07 02:01:28 UTC (rev 72) +++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/wizards/service/ResourceBundle.properties 2007-06-07 02:03:11 UTC (rev 73) @@ -45,6 +45,8 @@ newservicewizard.compatability.tip=Save this service in format that is compatible with previous versions of iSQL-Viewer. newservicewizard.connect_on_finish=Connect to this Service newservicewizard.connect_on_finish.tip=Connect to this new service after this wizard is complete. +newservicewizard.add-resources.tip=Click here to add a new service resource (JAR, Zip, Directory). +newservicewizard.delete-resources.tip=Click here to remove the selected resource from this service. SelectServiceStep.title=Select Service SelectServiceStep.comment=Select an existing iSQL-Viewer service. @@ -60,6 +62,16 @@ ConfirmUpdateService.failed_to_remove_old_service_file=Failed to remove existing service file:''{0}''; this file will need to be removed manually. ConfirmDeleteService.internal_sql_error=Failed to remove service:''{0}'' due to an internal error. +ConfirmDeleteService.title=Confirm Service Deletion +ConfirmDeleteService.comment=Confirm permanent service deletion. +ConfirmDeleteService.service-file.title=Service File +ConfirmDeleteService.service-file.tip=This file will be removed from the local file-system. +ConfirmDeleteService.created-on.title=Created On +ConfirmDeleteService.created-on.tip=Date when this service was originally added to iSQL-Viewer. +ConfirmDeleteService.driver-class.title=Driver Class +ConfirmDeleteService.driver-class.tip=Fully qualified Java class name for the driver of this service. +ConfirmDeleteService.jdbc-url.title=JDBC URL +ConfirmDeleteService.jdbc-url.tip=The JDBC URL used to connect this service to the database. SelectServiceFunctionStep.title=Select service function SelectServiceFunctionStep.comment=Choose from one of the following actions you wish to perform. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-07 02:01:29
|
Revision: 72 http://svn.sourceforge.net/isql/?rev=72&view=rev Author: mkobold Date: 2007-06-06 19:01:28 -0700 (Wed, 06 Jun 2007) Log Message: ----------- * util/Queryexecutor.java ** Corrected an issue where blank statements would cause a 'stale' tab to be created that could only be closed with CTRL/CMD+W key. Modified Paths: -------------- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/QueryExecutor.java Modified: isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/QueryExecutor.java =================================================================== --- isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/QueryExecutor.java 2007-06-07 02:00:25 UTC (rev 71) +++ isql-core/branches/3.0.0-maintenance/src/org/isqlviewer/util/QueryExecutor.java 2007-06-07 02:01:28 UTC (rev 72) @@ -110,10 +110,10 @@ executionHistory.setType(CommandType.BATCH_QUERY); boolean logBatch = statements.length > 1; for (int i = 0; i < statements.length; i++) { - renderer.initialize(); String userQuery = statements[i].trim(); if (userQuery.length() > 0) { try { + renderer.initialize(); String substitutedQuery = doVariableSubstitutions(userQuery); String nativeSQL = getNativeSql(connection, substitutedQuery); Date queryTime = new Date(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-07 02:00:25
|
Revision: 71 http://svn.sourceforge.net/isql/?rev=71&view=rev Author: mkobold Date: 2007-06-06 19:00:25 -0700 (Wed, 06 Jun 2007) Log Message: ----------- * ui/JdbcWorkbench.java ** Corrected an issue where the schema view would be visible on application startup when it should not be. ** Addressed bug #1732394 about storing big queries into the preferences sub-system. It is now trimed to the maximum size allowed by the preferences implementation. ** Added component validation code for JRE 1.5 so that when bookmarks, schema, or history or open the are visible. ** Modified usage with TabbedResultSet renderer instances, to a variable substitution problem. * ui/TabbedResultsetRenderer.java ** Removed clear call so that variable substituions that are repeated in the same query or in batch queries the user is not prompted to substitute values they have already substituted. * ui/wizards/service ** Corrected some missing resource strings ** Updated and corrected the confirm delete service pages Modified Paths: -------------- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/JdbcWorkbench.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/TabbedResultsetRenderer.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ConfirmDeleteService.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ConfirmNewService.java isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ResourceBundle.properties Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/JdbcWorkbench.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-06-03 16:44:33 UTC (rev 70) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-06-07 02:00:25 UTC (rev 71) @@ -172,7 +172,6 @@ private ButtonGroup schemaSelection = new ButtonGroup(); private JdbcService currentService = null; - private TabbedResultsetRenderer tabRenderer; private EnhancedTabbedPane rhsTabbedPane = new EnhancedTabbedPane(EnhancedTabbedPane.TOP); private EnhancedTabbedPane lhsTabbedPane = new EnhancedTabbedPane(EnhancedTabbedPane.TOP); @@ -281,7 +280,8 @@ String statement = event.getActionCommand(); boolean connected = checkConnection(); if (connected) { - QueryExecutor executor = new QueryExecutor(currentService, tabRenderer, statement); + TabbedResultsetRenderer renderer = new TabbedResultsetRenderer(centerTabbedPane); + QueryExecutor executor = new QueryExecutor(currentService, renderer, statement); executor.run(); } break; @@ -307,7 +307,6 @@ public void doLayout(JComponent parentComponent, Preferences userPreferences, SwingEventManager swingEventManager) { preferences = userPreferences.node("views/jdbc-workbench"); - tabRenderer = new TabbedResultsetRenderer(centerTabbedPane); this.eventManager = swingEventManager; this.eventManager.addActionListener(this); @@ -465,7 +464,9 @@ clientProperty = (Boolean) bookmarkView.getClientProperty(BOOKMARK_VISIBLE); preferences.putBoolean(BOOKMARK_VISIBLE, clientProperty.booleanValue()); - preferences.put(SESSION_TEXT, commandEditor.getText()); + String queryText = commandEditor.getText(); + queryText = StringUtilities.trimToSize(queryText, Preferences.MAX_VALUE_LENGTH); + preferences.put(SESSION_TEXT, queryText); unlocalizeTextComponent(console, undoManager); } @@ -932,6 +933,7 @@ action.putValue(CustomAction.ICON_NAME, "information"); addButton(toolbar, manager, action); + TabbedResultsetRenderer tabRenderer = new TabbedResultsetRenderer(centerTabbedPane); SchemaTreeListener listener = new SchemaTreeListener(schemaModel, tabRenderer, manager); schemaModel.setTablesEnabled(true); schemaView.setCellRenderer(new JDBCTreeCellRenderer()); @@ -1070,7 +1072,7 @@ if (preferences.getBoolean(SCHEMA_VISIBLE, false)) { action.actionPerformed(new ActionEvent(this, 0, "")); } else { - schemaView.putClientProperty(SCHEMA_VISIBLE, Boolean.TRUE); + schemaView.putClientProperty(SCHEMA_VISIBLE, Boolean.FALSE); } addMenuItem(viewMenu, action); @@ -1300,6 +1302,7 @@ } break; } + return component; } @@ -1516,10 +1519,9 @@ private void closeSelectedResult() { - EnhancedTabbedPane tabbedPane = tabRenderer.getTabbedPane(); int index = centerTabbedPane.getSelectedIndex(); if (index >= 0) { - tabbedPane.remove(index); + centerTabbedPane.remove(index); } } @@ -1583,11 +1585,11 @@ model.addRow(row); } dataGrid.setModel(model); - EnhancedTabbedPane tabbedPane = tabRenderer.getTabbedPane(); - tabbedPane.addTab(messages.format("JdbcWorkbench.database_metadata"), view); - index = tabbedPane.indexOfComponent(view); - tabbedPane.setClosableTab(index, true); - tabbedPane.setIconAt(index, SwingUtilities.loadIconResource("information", 16)); + + centerTabbedPane.addTab(messages.format("JdbcWorkbench.database_metadata"), view); + index = centerTabbedPane.indexOfComponent(view); + centerTabbedPane.setClosableTab(index, true); + centerTabbedPane.setIconAt(index, SwingUtilities.loadIconResource("information", 16)); } private boolean checkConnection() { @@ -1642,6 +1644,13 @@ public void actionPerformed(ActionEvent e) { viewComponent = workbench.toggleView(view, viewComponent); + String jre = System.getProperty("java.specification.version"); + if (viewComponent != null && "1.5".equals(jre)) { + Window windowOwner = javax.swing.SwingUtilities.getWindowAncestor(viewComponent); + if (windowOwner != null) { + windowOwner.validate(); + } + } } } } Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/TabbedResultsetRenderer.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-06-03 16:44:33 UTC (rev 70) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-06-07 02:00:25 UTC (rev 71) @@ -91,7 +91,6 @@ synchronized (isCancelled) { isCancelled.set(false); } - currentSubstitutions.clear(); JPanel componentView = new JPanel(); eyeCandy = new BusyQueryIndicator(isCancelled); eyeCandy.doLayout(componentView, null, null); Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ConfirmDeleteService.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ConfirmDeleteService.java 2007-06-03 16:44:33 UTC (rev 70) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ConfirmDeleteService.java 2007-06-07 02:00:25 UTC (rev 71) @@ -33,12 +33,11 @@ import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; -import javax.swing.JSeparator; import javax.swing.JTextField; -import javax.swing.SwingConstants; import javax.swing.text.Document; import org.isqlviewer.ServiceReference; +import org.isqlviewer.sql.JdbcService; import org.isqlviewer.sql.embedded.EmbeddedDatabase; import org.isqlviewer.swing.SwingUtilities; import org.isqlviewer.swing.action.SharedActions; @@ -55,6 +54,8 @@ private Document nameDocument = null; private Document urlDocument = null; private Document classDocument = null; + private Document jdbcDriverDocument = null; + private Document jdbcURLDocument = null; public boolean isFirst() { @@ -92,10 +93,15 @@ public void activate(WizardContext context) { ServiceReference service = (ServiceReference) context.getAttribute(ServiceWizard.ATTRIBUTE_SERVICE_REFERENCE); + JdbcService jdbcService = (JdbcService) context.getAttribute(ServiceWizard.ATTRIBUTE_SERVICE); if (service != null) { SwingUtilities.replaceDocumentContent(nameDocument, service.getName()); SwingUtilities.replaceDocumentContent(urlDocument, service.getCreatedOn().toString()); SwingUtilities.replaceDocumentContent(classDocument, service.getResourceURL().toExternalForm()); + if (jdbcService != null) { + SwingUtilities.replaceDocumentContent(jdbcURLDocument, jdbcService.getUrl()); + SwingUtilities.replaceDocumentContent(jdbcDriverDocument, jdbcService.getDriverClass()); + } } } @@ -104,7 +110,7 @@ setTitle(messages.getMessage("ConfirmDeleteService.title")); setComment(messages.getMessage("ConfirmDeleteService.comment")); - setImage(SwingUtilities.loadIconResource(ServiceWizard.class, "ok", 22)); + setImage(SwingUtilities.loadIconResource(ServiceWizard.class, "db_delete", 22)); JPanel panel = new JPanel(new GridBagLayout()); setView(panel); @@ -130,8 +136,8 @@ GridBagConstraints.HORIZONTAL); panel.add(component, constraint); - title = messages.format("newservicewizard.jdbcdriver.title"); - tip = messages.format("newservicewizard.jdbcdriver.tip"); + title = messages.format("ConfirmDeleteService.service-file.title"); + tip = messages.format("ConfirmDeleteService.service-file.tip"); component = new JTextField(32); component.setToolTipText(tip); component.setFont(component.getFont().deriveFont(Font.BOLD)); @@ -145,8 +151,8 @@ GridBagConstraints.HORIZONTAL); panel.add(component, constraint); - title = messages.format("newservicewizard.jdbcurl.title"); - tip = messages.format("newservicewizard.jdbcurl.tip"); + title = messages.format("ConfirmDeleteService.created-on.title"); + tip = messages.format("ConfirmDeleteService.created-on.tip"); component = new JTextField(32); component.setToolTipText(tip); component.setFont(component.getFont().deriveFont(Font.BOLD)); @@ -160,18 +166,38 @@ GridBagConstraints.HORIZONTAL); panel.add(component, constraint); - constraint = ServiceWizard.constrain(0, 3, 2, 1, 1.0d, 0.0d, GridBagConstraints.CENTER, + title = messages.format("ConfirmDeleteService.driver-class.title"); + tip = messages.format("ConfirmDeleteService.driver-class.tip"); + component = new JTextField(32); + component.setToolTipText(tip); + component.setFont(component.getFont().deriveFont(Font.BOLD)); + ((JTextField) component).setEditable(false); + jdbcDriverDocument = ((JTextField) component).getDocument(); + constraint = ServiceWizard.constrain(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE); + label = new JLabel(title); + label.setLabelFor(component); + panel.add(label, constraint); + constraint = ServiceWizard.constrain(1, 3, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL); - panel.add(new JSeparator(SwingConstants.HORIZONTAL), constraint); - panel.add(Box.createVerticalStrut(32), constraint); + panel.add(component, constraint); - title = messages.format("newservicewizard.compatability_info"); - component = new JLabel(title); - constraint = ServiceWizard.constrain(0, 4, 2, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE); + title = messages.format("ConfirmDeleteService.jdbc-url.title"); + tip = messages.format("ConfirmDeleteService.jdbc-url.tip"); + component = new JTextField(32); + component.setToolTipText(tip); + component.setFont(component.getFont().deriveFont(Font.BOLD)); + ((JTextField) component).setEditable(false); + jdbcURLDocument = ((JTextField) component).getDocument(); + constraint = ServiceWizard.constrain(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE); + label = new JLabel(title); + label.setLabelFor(component); + panel.add(label, constraint); + constraint = ServiceWizard.constrain(1, 4, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, + GridBagConstraints.HORIZONTAL); panel.add(component, constraint); component = (JComponent) Box.createVerticalGlue(); - constraint = ServiceWizard.constrain(0, 7, 2, 1, 0.0, 1.0, GridBagConstraints.CENTER, + constraint = ServiceWizard.constrain(0, 5, 2, 1, 0.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.VERTICAL); panel.add(component, constraint); } Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ConfirmNewService.java =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ConfirmNewService.java 2007-06-03 16:44:33 UTC (rev 70) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ConfirmNewService.java 2007-06-07 02:00:25 UTC (rev 71) @@ -141,7 +141,7 @@ setTitle(messages.getMessage("newservicewizard.finalize-service.title")); setComment(messages.getMessage("newservicewizard.finalize-service.tip")); - setImage(SwingUtilities.loadIconResource(ServiceWizard.class, "ok", 22)); + setImage(SwingUtilities.loadIconResource(ServiceWizard.class, "db_insert", 22)); JPanel panel = new JPanel(new GridBagLayout()); setView(panel); Modified: isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ResourceBundle.properties =================================================================== --- isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ResourceBundle.properties 2007-06-03 16:44:33 UTC (rev 70) +++ isql-swing/branches/3.0.0-maintenance/src/org/isqlviewer/ui/wizards/service/ResourceBundle.properties 2007-06-07 02:00:25 UTC (rev 71) @@ -45,6 +45,8 @@ newservicewizard.compatability.tip=Save this service in format that is compatible with previous versions of iSQL-Viewer. newservicewizard.connect_on_finish=Connect to this Service newservicewizard.connect_on_finish.tip=Connect to this new service after this wizard is complete. +newservicewizard.add-resources.tip=Click here to add a new service resource (JAR, Zip, Directory). +newservicewizard.delete-resources.tip=Click here to remove the selected resource from this service. SelectServiceStep.title=Select Service SelectServiceStep.comment=Select an existing iSQL-Viewer service. @@ -60,6 +62,16 @@ ConfirmUpdateService.failed_to_remove_old_service_file=Failed to remove existing service file:''{0}''; this file will need to be removed manually. ConfirmDeleteService.internal_sql_error=Failed to remove service:''{0}'' due to an internal error. +ConfirmDeleteService.title=Confirm Service Deletion +ConfirmDeleteService.comment=Confirm permanent service deletion. +ConfirmDeleteService.service-file.title=Service File +ConfirmDeleteService.service-file.tip=This file will be removed from the local file-system. +ConfirmDeleteService.created-on.title=Created On +ConfirmDeleteService.created-on.tip=Date when this service was originally added to iSQL-Viewer. +ConfirmDeleteService.driver-class.title=Driver Class +ConfirmDeleteService.driver-class.tip=Fully qualified Java class name for the driver of this service. +ConfirmDeleteService.jdbc-url.title=JDBC URL +ConfirmDeleteService.jdbc-url.tip=The JDBC URL used to connect this service to the database. SelectServiceFunctionStep.title=Select service function SelectServiceFunctionStep.comment=Choose from one of the following actions you wish to perform. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:44:31
|
Revision: 70 http://svn.sourceforge.net/isql/?rev=70&view=rev Author: mkobold Date: 2007-06-03 09:44:33 -0700 (Sun, 03 Jun 2007) Log Message: ----------- iSQL-Viewer 3.1.0 development branch Added Paths: ----------- isql-mrj/branches/3.1.0-development/ Copied: isql-mrj/branches/3.1.0-development (from rev 69, isql-mrj/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:44:20
|
Revision: 69 http://svn.sourceforge.net/isql/?rev=69&view=rev Author: mkobold Date: 2007-06-03 09:44:22 -0700 (Sun, 03 Jun 2007) Log Message: ----------- iSQL-Viewer 3.1.0 development branch Added Paths: ----------- isql-swing/branches/3.1.0-development/ Copied: isql-swing/branches/3.1.0-development (from rev 68, isql-swing/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:44:08
|
Revision: 68 http://svn.sourceforge.net/isql/?rev=68&view=rev Author: mkobold Date: 2007-06-03 09:44:09 -0700 (Sun, 03 Jun 2007) Log Message: ----------- iSQL-Viewer 3.1.0 development branch Added Paths: ----------- isql-core/branches/3.1.0-development/ Copied: isql-core/branches/3.1.0-development (from rev 67, isql-core/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:43:26
|
Revision: 67 http://svn.sourceforge.net/isql/?rev=67&view=rev Author: mkobold Date: 2007-06-03 09:43:28 -0700 (Sun, 03 Jun 2007) Log Message: ----------- iSQL-Viewer 3.0.0 maintenance branch Added Paths: ----------- isql-mrj/branches/3.0.0-maintenance/ Copied: isql-mrj/branches/3.0.0-maintenance (from rev 66, isql-mrj/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:43:12
|
Revision: 66 http://svn.sourceforge.net/isql/?rev=66&view=rev Author: mkobold Date: 2007-06-03 09:43:14 -0700 (Sun, 03 Jun 2007) Log Message: ----------- iSQL-Viewer 3.0.0 maintenance branch Added Paths: ----------- isql-swing/branches/3.0.0-maintenance/ Copied: isql-swing/branches/3.0.0-maintenance (from rev 65, isql-swing/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:43:01
|
Revision: 65 http://svn.sourceforge.net/isql/?rev=65&view=rev Author: mkobold Date: 2007-06-03 09:43:02 -0700 (Sun, 03 Jun 2007) Log Message: ----------- iSQL-Viewer 3.0.0 maintenance branch Added Paths: ----------- isql-core/branches/3.0.0-maintenance/ Copied: isql-core/branches/3.0.0-maintenance (from rev 64, isql-core/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:41:28
|
Revision: 64 http://svn.sourceforge.net/isql/?rev=64&view=rev Author: mkobold Date: 2007-06-03 09:41:30 -0700 (Sun, 03 Jun 2007) Log Message: ----------- Tagged version of iSQL-Viewer version 3.0.0 Added Paths: ----------- isql-swing/tags/iSQL-Viewer-3.0.0/ Copied: isql-swing/tags/iSQL-Viewer-3.0.0 (from rev 63, isql-swing/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:40:26
|
Revision: 63 http://svn.sourceforge.net/isql/?rev=63&view=rev Author: mkobold Date: 2007-06-03 09:40:28 -0700 (Sun, 03 Jun 2007) Log Message: ----------- Tagged version of iSQL-Viewer version 3.0.0 Added Paths: ----------- isql-mrj/tags/iSQL-Viewer-3.0.0/ Copied: isql-mrj/tags/iSQL-Viewer-3.0.0 (from rev 62, isql-mrj/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mk...@us...> - 2007-06-03 16:40:11
|
Revision: 62 http://svn.sourceforge.net/isql/?rev=62&view=rev Author: mkobold Date: 2007-06-03 09:40:13 -0700 (Sun, 03 Jun 2007) Log Message: ----------- Tagged version of iSQL-Viewer version 3.0.0 Added Paths: ----------- isql-core/tags/iSQL-Viewer-3.0.0/ Copied: isql-core/tags/iSQL-Viewer-3.0.0 (from rev 61, isql-core/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |