Revision: 5744
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=5744&view=rev
Author: manningr
Date: 2010-07-20 22:42:11 +0000 (Tue, 20 Jul 2010)
Log Message:
-----------
Added alternate constructor to CreateDataScriptCommand which allows calling methods to provide an implementation of IAbortController rather than choose the one that creates automatically. This is primarily for running DialectExternalTest in a head-less environment.
Modified Paths:
--------------
trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/AbortController.java
trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/CreateDataScriptCommand.java
trunk/sql12/test/external/net/sourceforge/squirrel_sql/fw/dialects/DialectExternalTest.java
Added Paths:
-----------
trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/IAbortController.java
Modified: trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/AbortController.java
===================================================================
--- trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/AbortController.java 2010-07-20 00:07:07 UTC (rev 5743)
+++ trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/AbortController.java 2010-07-20 22:42:11 UTC (rev 5744)
@@ -10,7 +10,7 @@
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
-public class AbortController
+public class AbortController implements IAbortController
{
private static final StringManager s_stringMgr =
StringManagerFactory.getStringManager(AbortController.class);
@@ -46,16 +46,25 @@
});
}
+ /**
+ * @see net.sourceforge.squirrel_sql.plugins.sqlscript.table_script.IAbortController#isStop()
+ */
public boolean isStop()
{
return _stop;
}
+ /**
+ * @see net.sourceforge.squirrel_sql.plugins.sqlscript.table_script.IAbortController#isVisble()
+ */
public boolean isVisble()
{
return _dlg.isVisible();
}
+ /**
+ * @see net.sourceforge.squirrel_sql.plugins.sqlscript.table_script.IAbortController#setVisible(boolean)
+ */
public void setVisible(final boolean b)
{
GUIUtils.processOnSwingEventThread
Modified: trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/CreateDataScriptCommand.java
===================================================================
--- trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/CreateDataScriptCommand.java 2010-07-20 00:07:07 UTC (rev 5743)
+++ trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/CreateDataScriptCommand.java 2010-07-20 22:42:11 UTC (rev 5744)
@@ -33,9 +33,8 @@
import net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI;
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.fw.dialects.DialectFactory;
+import net.sourceforge.squirrel_sql.fw.dialects.DialectUtils;
import net.sourceforge.squirrel_sql.fw.dialects.HibernateDialect;
-import net.sourceforge.squirrel_sql.fw.dialects.CreateScriptPreferences;
-import net.sourceforge.squirrel_sql.fw.dialects.DialectUtils;
import net.sourceforge.squirrel_sql.fw.sql.IDatabaseObjectInfo;
import net.sourceforge.squirrel_sql.fw.sql.ISQLConnection;
import net.sourceforge.squirrel_sql.fw.sql.ISQLDatabaseMetaData;
@@ -59,7 +58,7 @@
/** flag that gets set when the first timestamp column is encountered */
private Boolean dialectSupportsSubSecondTimestamps = null;
- protected AbortController _abortController;
+ protected IAbortController _abortController;
/**
* Current session.
@@ -84,6 +83,19 @@
_abortController = new AbortController(_session.getApplication());
}
+ /**
+ * Ctor specifying the current session and IAbortController.
+ */
+ public CreateDataScriptCommand(ISession session, IAbortController abortController, SQLScriptPlugin plugin,
+ boolean templateScriptOnly)
+ {
+ super();
+ _session = session;
+ _plugin = plugin;
+ _templateScriptOnly = templateScriptOnly;
+ _abortController = abortController;
+ }
+
protected void showAbortFrame()
{
if (false == _abortController.isVisble())
Added: trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/IAbortController.java
===================================================================
--- trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/IAbortController.java (rev 0)
+++ trunk/sql12/plugins/sqlscript/src/net/sourceforge/squirrel_sql/plugins/sqlscript/table_script/IAbortController.java 2010-07-20 22:42:11 UTC (rev 5744)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2009 Rob Manning
+ * man...@us...
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.sqlscript.table_script;
+
+/**
+ * AbortController is a widget for allowing the user to express their desire to interrupt the current
+ * (possibly) long-running process. This interface describes the operations that an AbortController must
+ * support.
+ */
+public interface IAbortController
+{
+
+
+ /**
+ * @return true if the user has indicated their desire to stop the long-running process; false otherwise.
+ */
+ public abstract boolean isStop();
+
+ /**
+ * @return true if the widget has been displayed and is visible to the user.
+ */
+ public abstract boolean isVisble();
+
+
+ /**
+ * Sets whether or not the widget should become visible or should hide.
+ *
+ * @param b true displays the widget; false causes the widget to hide.
+ */
+ public abstract void setVisible(final boolean b);
+
+}
\ No newline at end of file
Modified: trunk/sql12/test/external/net/sourceforge/squirrel_sql/fw/dialects/DialectExternalTest.java
===================================================================
--- trunk/sql12/test/external/net/sourceforge/squirrel_sql/fw/dialects/DialectExternalTest.java 2010-07-20 00:07:07 UTC (rev 5743)
+++ trunk/sql12/test/external/net/sourceforge/squirrel_sql/fw/dialects/DialectExternalTest.java 2010-07-20 22:42:11 UTC (rev 5744)
@@ -77,11 +77,13 @@
import net.sourceforge.squirrel_sql.plugins.refactoring.gui.IMergeTableDialogFactory;
import net.sourceforge.squirrel_sql.plugins.sqlscript.SQLScriptPlugin;
import net.sourceforge.squirrel_sql.plugins.sqlscript.table_script.CreateDataScriptCommand;
+import net.sourceforge.squirrel_sql.plugins.sqlscript.table_script.IAbortController;
import org.easymock.EasyMock;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mockito;
import utils.EasyMockHelper;
@@ -299,6 +301,8 @@
private static int testsRun = 0;
+ private final IAbortController mockAbortController = Mockito.mock(IAbortController.class);
+
@Before
public void setup() throws Exception
{
@@ -2422,7 +2426,7 @@
final String timestampTypeName = dialect.getTypeName(Types.TIMESTAMP, 5, 5, 5);
- final CreateDataScriptHelper command = new CreateDataScriptHelper(session, null, false);
+ final CreateDataScriptHelper command = new CreateDataScriptHelper(session, mockAbortController, null, false);
dropTable(session, testTimestampTable);
runSQL(session, "create table " + testTimestampTable + " ( mytime " + timestampTypeName + " )");
@@ -2946,9 +2950,9 @@
private class CreateDataScriptHelper extends CreateDataScriptCommand
{
- public CreateDataScriptHelper(ISession session, SQLScriptPlugin plugin, boolean templateScriptOnly)
+ public CreateDataScriptHelper(ISession session, IAbortController abortController, SQLScriptPlugin plugin, boolean templateScriptOnly)
{
- super(session, plugin, templateScriptOnly);
+ super(session, abortController, plugin, templateScriptOnly);
}
public StringBuffer getSQL(String tableName) throws SQLException
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|