Revision: 6700
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6700&view=rev
Author: gerdwagner
Date: 2012-10-25 22:12:13 +0000 (Thu, 25 Oct 2012)
Log Message:
-----------
Hibernate Plugin:
New function in tools pop up and right mouse menu of HQL editor: Copy SQL generated from current HQL to clipboard.
Modified Paths:
--------------
trunk/sql12/doc/src/main/resources/changes.txt
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/HQLEntryPanelManager.java
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/util/HibernateSQLUtil.java
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/viewobjects/ObjectResultTabController.java
trunk/sql12/plugins/hibernate/src/main/resources/net/sourceforge/squirrel_sql/plugins/hibernate/I18NStrings.properties
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2012-10-24 20:52:53 UTC (rev 6699)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2012-10-25 22:12:13 UTC (rev 6700)
@@ -8,6 +8,9 @@
Enhancements:
+Hibernate Plugin:
+ New function in tools pop up and right mouse menu of HQL editor: Copy SQL generated from current HQL to clipboard.
+
Sorting can now be returned to natural order by clicking on a column header a third time. (First time is asc, second time desc and third time natural)
Execution time passed is shown during SQL execution.
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/HQLEntryPanelManager.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/HQLEntryPanelManager.java 2012-10-24 20:52:53 UTC (rev 6699)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/HQLEntryPanelManager.java 2012-10-25 22:12:13 UTC (rev 6700)
@@ -8,6 +8,8 @@
import net.sourceforge.squirrel_sql.fw.util.StringManager;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.plugins.hibernate.completion.HQLCompleteCodeAction;
+import net.sourceforge.squirrel_sql.plugins.hibernate.util.HibernateSQLUtil;
+import net.sourceforge.squirrel_sql.plugins.hibernate.util.HqlQueryErrorUtil;
import javax.swing.*;
import javax.swing.text.JTextComponent;
@@ -25,7 +27,7 @@
private ToolsPopupController _toolsPopupController;
- public HQLEntryPanelManager(ISession session, HibernatePluginResources resources, IHibernateConnectionProvider connectionProvider)
+ public HQLEntryPanelManager(final ISession session, HibernatePluginResources resources, IHibernateConnectionProvider connectionProvider)
{
super(session);
_connectionProvider = connectionProvider;
@@ -80,17 +82,41 @@
// i18n[HQLEntryPanelManager.escapeDate=Escape date]
String strEscapeDate = s_stringMgr.getString("HQLEntryPanelManager.escapeDate");
- AbstractAction escapeDate = new AbstractAction(strUnquote)
+ AbstractAction escapeDate = new AbstractAction(strEscapeDate)
{
public void actionPerformed(ActionEvent e)
{
onEscapeDate();
}
};
- unquoteHql.putValue(Action.SHORT_DESCRIPTION, strEscapeDate);
+ escapeDate.putValue(Action.SHORT_DESCRIPTION, strEscapeDate);
addToSQLEntryAreaMenu(escapeDate, "date");
+
+ String strCopySqlToClip = s_stringMgr.getString("HQLEntryPanelManager.copySqlToClip");
+ AbstractAction copySqlToClip = new AbstractAction(strCopySqlToClip)
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ onCopySqlToClip(session);
+ }
+ };
+ copySqlToClip.putValue(Action.SHORT_DESCRIPTION, strCopySqlToClip);
+ addToSQLEntryAreaMenu(copySqlToClip, "sqltoclip");
}
+ private void onCopySqlToClip(ISession session)
+ {
+ try
+ {
+ HibernateSQLUtil.copySqlToClipboard(_connectionProvider.getHibernateConnection(), getEntryPanel().getSQLToBeExecuted(), session);
+ session.showMessage(s_stringMgr.getString("HQLEntryPanelManager.copySqlToClipSucceeded"));
+ }
+ catch (Throwable t)
+ {
+ HqlQueryErrorUtil.handleHqlQueryError(t, session, true);
+ }
+ }
+
private void onEscapeDate()
{
String str = EditExtrasAccessor.escapeDate(getEntryPanel(), getSession());
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/util/HibernateSQLUtil.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/util/HibernateSQLUtil.java 2012-10-24 20:52:53 UTC (rev 6699)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/util/HibernateSQLUtil.java 2012-10-25 22:12:13 UTC (rev 6700)
@@ -3,7 +3,10 @@
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.util.codereformat.CodeReformator;
import net.sourceforge.squirrel_sql.client.util.codereformat.CodeReformatorConfigFactory;
+import net.sourceforge.squirrel_sql.plugins.hibernate.HibernateConnection;
+import java.awt.*;
+import java.awt.datatransfer.StringSelection;
import java.util.ArrayList;
public class HibernateSQLUtil
@@ -34,4 +37,14 @@
sqls = cr.reformat(sqls) + "\n";
return sqls;
}
+
+ public static void copySqlToClipboard(HibernateConnection con, String hqlQuery, ISession session)
+ {
+ ArrayList<String> sqls = con.generateSQL(hqlQuery);
+
+ String allSqlsString = createAllSqlsString(sqls, session);
+
+ StringSelection ss = new StringSelection(allSqlsString);
+ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, ss);
+ }
}
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/viewobjects/ObjectResultTabController.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/viewobjects/ObjectResultTabController.java 2012-10-24 20:52:53 UTC (rev 6699)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/viewobjects/ObjectResultTabController.java 2012-10-25 22:12:13 UTC (rev 6700)
@@ -7,7 +7,6 @@
import net.sourceforge.squirrel_sql.plugins.hibernate.mapping.MappedClassInfo;
import net.sourceforge.squirrel_sql.plugins.hibernate.HibernatePluginResources;
import net.sourceforge.squirrel_sql.plugins.hibernate.server.MappedClassInfoData;
-import net.sourceforge.squirrel_sql.plugins.hibernate.server.ObjectSubstitute;
import net.sourceforge.squirrel_sql.plugins.hibernate.server.ObjectSubstituteRoot;
import net.sourceforge.squirrel_sql.plugins.hibernate.util.HibernateSQLUtil;
@@ -18,8 +17,6 @@
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
-import java.awt.*;
-import java.awt.datatransfer.StringSelection;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
@@ -130,12 +127,7 @@
private void onCopySqlToClip(HibernateConnection con, String hqlQuery, ISession session)
{
- ArrayList<String> sqls = con.generateSQL(hqlQuery);
-
- String allSqlsString = HibernateSQLUtil.createAllSqlsString(sqls, session);
-
- StringSelection ss = new StringSelection(allSqlsString);
- Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, ss);
+ HibernateSQLUtil.copySqlToClipboard(con, hqlQuery, session);
}
private void initHqlQueryLabel(List objects, String hqlQuery, int numResults, int maxNumResults)
Modified: trunk/sql12/plugins/hibernate/src/main/resources/net/sourceforge/squirrel_sql/plugins/hibernate/I18NStrings.properties
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/resources/net/sourceforge/squirrel_sql/plugins/hibernate/I18NStrings.properties 2012-10-24 20:52:53 UTC (rev 6699)
+++ trunk/sql12/plugins/hibernate/src/main/resources/net/sourceforge/squirrel_sql/plugins/hibernate/I18NStrings.properties 2012-10-25 22:12:13 UTC (rev 6700)
@@ -69,4 +69,7 @@
HQLEntryPanelManager.escapeDate=Escape date
-EditExtrasAccessor.editextrasPluginNeededForEscapeDate=Escape date is only available with the Edit Extras Plugin.\nGet the plugin from www.squirrelsql.org. It's free.
\ No newline at end of file
+EditExtrasAccessor.editextrasPluginNeededForEscapeDate=Escape date is only available with the Edit Extras Plugin.\nGet the plugin from www.squirrelsql.org. It's free.
+
+HQLEntryPanelManager.copySqlToClip=Copy SQL generated from HQL to clipboard
+HQLEntryPanelManager.copySqlToClipSucceeded=SQL generated from HQL successfully copied to clipboard
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|