Revision: 6287
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6287&view=rev
Author: gerdwagner
Date: 2011-06-04 11:19:01 +0000 (Sat, 04 Jun 2011)
Log Message:
-----------
Query Builder clean up
Modified Paths:
--------------
trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EditExtrasExternalService.java
trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EditExtrasExternalServiceImpl.java
trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateAction.java
trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateController.java
trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateFrame.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryFilterController.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryFilterDlg.java
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/I18NStrings.properties
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/I18NStrings.properties
Added Paths:
-----------
trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateListener.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/EditExtrasAccessor.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/EditExtrasExternalService.java
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/calendar.png
Modified: trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EditExtrasExternalService.java
===================================================================
--- trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EditExtrasExternalService.java 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EditExtrasExternalService.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -2,6 +2,8 @@
import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel;
+import java.awt.*;
+
public interface EditExtrasExternalService
{
void quoteSQL(ISQLEntryPanel entryPanel);
@@ -10,4 +12,5 @@
void unquoteSQL(ISQLEntryPanel entryPanel);
+ String getDateEscape(Window parentForDialog);
}
Modified: trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EditExtrasExternalServiceImpl.java
===================================================================
--- trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EditExtrasExternalServiceImpl.java 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EditExtrasExternalServiceImpl.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -2,6 +2,8 @@
import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel;
+import java.awt.*;
+
public class EditExtrasExternalServiceImpl implements EditExtrasExternalService
{
public void quoteSQL(ISQLEntryPanel entryPanel)
@@ -19,4 +21,23 @@
{
RemoveQuotesCommand.unquoteSQL(entryPanel);
}
+
+
+ public String getDateEscape(Window parentForDialog)
+ {
+ final String[] ret = new String[1];
+
+ EscapeDateListener escapeDateListener = new EscapeDateListener()
+ {
+ @Override
+ public void setDateString(String escapedString)
+ {
+ ret[0] = escapedString;
+ }
+ };
+
+ new EscapeDateController(parentForDialog, escapeDateListener, true);
+
+ return ret[0];
+ }
}
Modified: trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateAction.java
===================================================================
--- trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateAction.java 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateAction.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -4,7 +4,6 @@
import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.session.ISQLPanelAPI;
-import net.sourceforge.squirrel_sql.client.session.action.ISessionAction;
import net.sourceforge.squirrel_sql.client.session.action.ISQLPanelAction;
import java.awt.event.ActionEvent;
@@ -21,7 +20,14 @@
public void actionPerformed(ActionEvent e)
{
- new EscapeDateController(_session, getApplication().getMainFrame());
+ new EscapeDateController(getApplication().getMainFrame(), new EscapeDateListener()
+ {
+ @Override
+ public void setDateString(String escapedString)
+ {
+ _session.getSQLPanelAPIOfActiveSessionWindow().getSQLEntryPanel().replaceSelection(escapedString);
+ }
+ }, false);
}
public void setSQLPanel(ISQLPanelAPI panel)
Modified: trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateController.java
===================================================================
--- trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateController.java 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateController.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -4,6 +4,7 @@
import net.sourceforge.squirrel_sql.client.gui.mainframe.MainFrame;
import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
@@ -12,13 +13,14 @@
public class EscapeDateController
{
private EscapeDateFrame _frame;
- private ISession _session;
+ private EscapeDateListener _escapeDateListener;
- public EscapeDateController(ISession session, MainFrame mainFrame)
+ public EscapeDateController(Window parent, EscapeDateListener escapeDateListener, boolean modal)
{
- _session = session;
- _frame = new EscapeDateFrame(mainFrame);
+ _escapeDateListener = escapeDateListener;
+ _frame = new EscapeDateFrame(parent);
+ _frame.setModal(modal);
_frame.btnTimestamp.addActionListener(new ActionListener()
{
@@ -76,7 +78,7 @@
prefixNulls(_frame.txtMinute.getText(), 2) + ":" +
prefixNulls(_frame.txtSecond.getText(),2) + "'}";
- _session.getSQLPanelAPIOfActiveSessionWindow().getSQLEntryPanel().replaceSelection(esc);
+ _escapeDateListener.setDateString(esc);
_frame.setVisible(false);
_frame.dispose();
}
@@ -87,7 +89,7 @@
prefixNulls(_frame.txtMonth.getText(), 2) + "-" +
prefixNulls(_frame.txtDay.getText(), 2) + "'}";
- _session.getSQLPanelAPIOfActiveSessionWindow().getSQLEntryPanel().replaceSelection(esc);
+ _escapeDateListener.setDateString(esc);
_frame.setVisible(false);
_frame.dispose();
}
@@ -101,7 +103,7 @@
prefixNulls(_frame.txtMinute.getText(), 2) + ":" +
prefixNulls(_frame.txtSecond.getText(), 2) + "'}";
- _session.getSQLPanelAPIOfActiveSessionWindow().getSQLEntryPanel().replaceSelection(esc);
+ _escapeDateListener.setDateString(esc);
_frame.setVisible(false);
_frame.dispose();
}
Modified: trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateFrame.java
===================================================================
--- trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateFrame.java 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateFrame.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -28,7 +28,7 @@
// i18n[editextras.time=Time]
JButton btnTime = new JButton(s_stringMgr.getString("editextras.time"));
- public EscapeDateFrame(Frame owner)
+ public EscapeDateFrame(Window owner)
{
// i18n[editextras.escapeDate=Escape date]
super(owner, s_stringMgr.getString("editextras.escapeDate"));
Added: trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateListener.java
===================================================================
--- trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateListener.java (rev 0)
+++ trunk/sql12/plugins/editextras/src/main/java/net/sourceforge/squirrel_sql/plugins/editextras/EscapeDateListener.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -0,0 +1,6 @@
+package net.sourceforge.squirrel_sql.plugins.editextras;
+
+public interface EscapeDateListener
+{
+ void setDateString(String escapedString);
+}
Copied: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/EditExtrasAccessor.java (from rev 6284, trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/EditExtrasAccessor.java)
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/EditExtrasAccessor.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/EditExtrasAccessor.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -0,0 +1,34 @@
+package net.sourceforge.squirrel_sql.plugins.graph;
+
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+
+import javax.swing.*;
+import java.awt.*;
+
+public class EditExtrasAccessor
+{
+ private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(EditExtrasAccessor.class);
+
+ public static String getDateEscape(Window parentForDialog, ISession session)
+ {
+ EditExtrasExternalService si = getService(session, parentForDialog);
+
+ return si.getDateEscape(parentForDialog);
+ }
+
+
+ private static EditExtrasExternalService getService(ISession session, Window parentForDialog)
+ {
+ EditExtrasExternalService si = (EditExtrasExternalService) session.getApplication().getPluginManager().bindExternalPluginService("editextras", EditExtrasExternalService.class);
+ if (null == si)
+ {
+ // i18n[EditExtrasAccessor.editextrasPluginNeeded=Escape date s only available with the Edit Extras Plugin. Get the plugin from www.squirrelsql.org. It's free.]
+ String msg = s_stringMgr.getString("EditExtrasAccessor.editextrasPluginNeeded");
+ JOptionPane.showMessageDialog(parentForDialog, msg);
+ return null;
+ }
+ return si;
+ }
+}
Copied: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/EditExtrasExternalService.java (from rev 6284, trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/EditExtrasExternalService.java)
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/EditExtrasExternalService.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/EditExtrasExternalService.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -0,0 +1,9 @@
+package net.sourceforge.squirrel_sql.plugins.graph;
+
+
+import java.awt.*;
+
+public interface EditExtrasExternalService
+{
+ String getDateEscape(Window parentForDialog);
+}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -44,5 +44,6 @@
String NEW_OR_FOLDER = "neworfolder";
String DELETE_FOLDER = "deletefolder";
String DND = "dnd";
+ String ESCAPE_DATE = "escapedate";
}
}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryFilterController.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryFilterController.java 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryFilterController.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -5,9 +5,7 @@
import net.sourceforge.squirrel_sql.client.session.event.SessionAdapter;
import net.sourceforge.squirrel_sql.client.session.event.SessionEvent;
import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
-import net.sourceforge.squirrel_sql.plugins.graph.ColumnInfo;
-import net.sourceforge.squirrel_sql.plugins.graph.GraphPlugin;
-import net.sourceforge.squirrel_sql.plugins.graph.TableFramesModelChangeType;
+import net.sourceforge.squirrel_sql.plugins.graph.*;
import javax.swing.*;
import java.awt.*;
@@ -22,7 +20,6 @@
private QueryFilterDlg _queryFilterDlg;
private String _tableName;
private ColumnInfo _columnInfo;
- private GraphPlugin _graphPlugin;
private ISession _session;
private QueryFilterListener _queryFilterListener;
@@ -34,7 +31,6 @@
{
_tableName = tableName;
_columnInfo = columnInfo;
- _graphPlugin = graphPlugin;
_session = session;
_sessionAdapter = new SessionAdapter()
@@ -50,7 +46,7 @@
_session.getApplication().getSessionManager().addSessionListener(_sessionAdapter);
_queryFilterListener = queryFilterListener;
- _queryFilterDlg = new QueryFilterDlg(parent, tableName + "." + _columnInfo.toString());
+ _queryFilterDlg = new QueryFilterDlg(parent, new GraphPluginResources(graphPlugin), tableName + "." + _columnInfo.toString());
boolean applyQuotes = Preferences.userRoot().getBoolean(PREF_KEY_QUERY_ALWAYS_APPEND_QUOTES, false);
@@ -95,7 +91,17 @@
}
});
+ _queryFilterDlg._btnEscapeDate.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onEscapeDate();
+ }
+ });
+
+
if (null == columnInfo.getQueryData().getOperator())
{
_queryFilterDlg._cboOperator.setSelectedItem(QueryFilterOperators.EQUAL);
@@ -114,6 +120,16 @@
_queryFilterDlg._txtFilter.requestFocus();
}
+ private void onEscapeDate()
+ {
+ String dateEscape = EditExtrasAccessor.getDateEscape(_queryFilterDlg, _session);
+
+ if (null != dateEscape && 0 < dateEscape.trim().length())
+ {
+ _queryFilterDlg._txtFilter.setText(dateEscape);
+ }
+ }
+
private void onSessionClosing(SessionEvent evt)
{
if (evt.getSession().getIdentifier().equals(_session.getIdentifier()))
@@ -136,10 +152,12 @@
if(QueryFilterOperators.isNoArgOperator(selectedOp))
{
_queryFilterDlg._txtFilter.setEnabled(false);
+ _queryFilterDlg._btnEscapeDate.setEnabled(false);
}
else
{
_queryFilterDlg._txtFilter.setEnabled(true);
+ _queryFilterDlg._btnEscapeDate.setEnabled(true);
}
}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryFilterDlg.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryFilterDlg.java 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryFilterDlg.java 2011-06-04 11:19:01 UTC (rev 6287)
@@ -2,6 +2,7 @@
import net.sourceforge.squirrel_sql.fw.util.StringManager;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+import net.sourceforge.squirrel_sql.plugins.graph.GraphPluginResources;
import javax.swing.*;
import java.awt.*;
@@ -21,12 +22,14 @@
JButton _btnClearFilter;
JCheckBox _chkApplyQuotes;
JComboBox _cboOperator;
+ JButton _btnEscapeDate;
+
private static final String PREF_KEY_QUERY_FILTER_WIDTH = "Squirrel.queryFilterDlg.widht";
private static final String PREF_KEY_QUERY_FILTER_HEIGHT = "Squirrel.queryFilterDlg.height";
- public QueryFilterDlg(Window parent, String qualifiedColumn)
+ public QueryFilterDlg(Window parent, GraphPluginResources rsrc, String qualifiedColumn)
{
super(parent, s_stringMgr.getString("QueryFilterDlg.title"));
@@ -52,8 +55,7 @@
getContentPane().add(new JLabel(s_stringMgr.getString("QueryFilterDlg.filterValue")), gbc);
gbc = new GridBagConstraints(1,2,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5),0,0);
- _txtFilter = new JTextField();
- getContentPane().add(_txtFilter, gbc);
+ getContentPane().add(createFilterPanel(rsrc), gbc);
gbc = new GridBagConstraints(0,3,2,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(30,5,5,5),0,0);
@@ -94,6 +96,21 @@
}
+ private JPanel createFilterPanel(GraphPluginResources rsrc)
+ {
+ JPanel ret = new JPanel(new BorderLayout(5, 0));
+
+ _txtFilter = new JTextField();
+ ret.add(_txtFilter, BorderLayout.CENTER);
+
+ _btnEscapeDate = new JButton(rsrc.getIcon(GraphPluginResources.IKeys.ESCAPE_DATE));
+ _btnEscapeDate.setToolTipText(s_stringMgr.getString("QueryFilterDlg.btnEscapeDate"));
+ _btnEscapeDate.setBorder(BorderFactory.createEmptyBorder());
+ ret.add(_btnEscapeDate, BorderLayout.EAST);
+
+ return ret;
+ }
+
private JPanel createButtonPanel()
{
JPanel ret = new JPanel(new GridBagLayout());
Modified: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties
===================================================================
--- trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties 2011-06-04 11:19:01 UTC (rev 6287)
@@ -40,9 +40,11 @@
sort.image=sort.png
dnd.image=dnd.png
+escapedate.image=calendar.png
+
Modified: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/I18NStrings.properties
===================================================================
--- trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/I18NStrings.properties 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/I18NStrings.properties 2011-06-04 11:19:01 UTC (rev 6287)
@@ -220,4 +220,6 @@
TableFrameController.tableDoesNotExist=The table {0} does not exist anymore in the database but is still used in one or more Graphs. Several Graph functions will not work correctly anymore for these Graph.
-GraphDesktopController.tableDropedFormOtherSession=Tables from one Session can not be dropped at Graphs from another Session.
\ No newline at end of file
+GraphDesktopController.tableDropedFormOtherSession=Tables from one Session can not be dropped at Graphs from another Session.
+
+EditExtrasAccessor.editextrasPluginNeeded=Escape date s only available with the Edit Extras Plugin. Get the plugin from www.squirrelsql.org. It's free.
Added: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/calendar.png
===================================================================
(Binary files differ)
Property changes on: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/calendar.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/I18NStrings.properties
===================================================================
--- trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/I18NStrings.properties 2011-06-04 08:17:45 UTC (rev 6286)
+++ trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/I18NStrings.properties 2011-06-04 11:19:01 UTC (rev 6287)
@@ -9,6 +9,10 @@
QueryFilterDlg.operator=Operator:
QueryFilterDlg.filterValue=Filter value:
+
+
+QueryFilterDlg.btnEscapeDate=Click to create a standard JDBC date/time/timestamp escape string
+
QueryBuilderController.Result=Result
QueryBuilderController.SQL=SQL
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|