Revision: 6122
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6122&view=rev
Author: manningr
Date: 2011-01-02 22:32:27 +0000 (Sun, 02 Jan 2011)
Log Message:
-----------
Allow PluginResources implementation to be injected. Modifed test to support new plugin tests.
Modified Paths:
--------------
trunk/sql12/plugins/oracle/src/test/java/net/sourceforge/squirrel_sql/plugins/oracle/OraclePluginTest.java
trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/PostgresPlugin.java
trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/AbstractObjectTreeAction.java
trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/AbstractSessionAction.java
trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/VacuumDatabaseAction.java
trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/VacuumTableAction.java
trunk/sql12/plugins/postgres/src/test/java/net/sourceforge/squirrel_sql/plugins/postgres/PostgresPluginTest.java
Modified: trunk/sql12/plugins/oracle/src/test/java/net/sourceforge/squirrel_sql/plugins/oracle/OraclePluginTest.java
===================================================================
--- trunk/sql12/plugins/oracle/src/test/java/net/sourceforge/squirrel_sql/plugins/oracle/OraclePluginTest.java 2011-01-02 22:31:59 UTC (rev 6121)
+++ trunk/sql12/plugins/oracle/src/test/java/net/sourceforge/squirrel_sql/plugins/oracle/OraclePluginTest.java 2011-01-02 22:32:27 UTC (rev 6122)
@@ -18,103 +18,79 @@
*/
package net.sourceforge.squirrel_sql.plugins.oracle;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-
-import javax.swing.Action;
-
-import net.sourceforge.squirrel_sql.client.AppTestUtil;
-import net.sourceforge.squirrel_sql.client.IApplication;
-import net.sourceforge.squirrel_sql.client.action.ActionCollection;
-import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
import net.sourceforge.squirrel_sql.client.plugin.AbstractSessionPluginTest;
-import net.sourceforge.squirrel_sql.client.session.ISession;
-import net.sourceforge.squirrel_sql.fw.FwTestUtil;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DTProperties;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeTimestamp;
-import net.sourceforge.squirrel_sql.fw.sql.ISQLDatabaseMetaData;
-import net.sourceforge.squirrel_sql.plugins.oracle.SGAtrace.NewSGATraceWorksheetAction;
-import net.sourceforge.squirrel_sql.plugins.oracle.dboutput.NewDBOutputWorksheetAction;
-import net.sourceforge.squirrel_sql.plugins.oracle.exception.OracleExceptionFormatter;
-import net.sourceforge.squirrel_sql.plugins.oracle.invalidobjects.NewInvalidObjectsWorksheetAction;
-import net.sourceforge.squirrel_sql.plugins.oracle.sessioninfo.NewSessionInfoWorksheetAction;
+import net.sourceforge.squirrel_sql.client.plugin.IPlugin;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
public class OraclePluginTest extends AbstractSessionPluginTest
{
- OraclePlugin pluginUnderTest = null;
+// OraclePlugin pluginUnderTest = null;
+//
+// // Mock objects
+// ISession session = null;
+//
+// IApplication app = null;
+//
+// ISQLDatabaseMetaData md = null;
+//
+// /** class name for the TimeStamp datatype */
+// String timestampClassName = DataTypeTimestamp.class.getName();
+//
+// @Before
+// public void setUp() throws Exception
+// {
+// super.setUp();
+// pluginUnderTest = new OraclePlugin();
+// md = FwTestUtil.getEasyMockSQLMetaData("oracle", "jdbc:oracle:thin:@host:1521:sid", false, false);
+// String[] functions = new String[] { OracleExceptionFormatter.OFFSET_FUNCTION_NAME };
+// expect(md.getStringFunctions()).andReturn(functions);
+// replay(md);
+// ActionCollection col = getOraclePluginActionCollection();
+// app = AppTestUtil.getEasyMockApplication(col);
+// pluginUnderTest.load(app);
+// pluginUnderTest.initialize();
+// session = AppTestUtil.getEasyMockSession(md, true);
+// classUnderTest = new OraclePlugin();
+// }
+//
+// @After
+// public void tearDown() throws Exception
+// {
+// super.tearDown();
+// session = null;
+// app = null;
+// md = null;
+// classUnderTest = null;
+// }
+//
+// /**
+// * This tests the sessionStarted method for bug #1820214 (2.5.1 DB aliases do not transfer properly to
+// * 2.6.1). An NPE is thrown when the use has specified no setting how timestamps are used in where clauses.
+// */
+// @Test
+// public void testSessionStarted()
+// {
+// // we cannot mock DTProperties because it is designed to be accessed
+// // statically. :(
+// DTProperties.put(timestampClassName, "", null); // Simulate missing property.
+// pluginUnderTest.sessionStarted(session);
+// }
+//
+// private ActionCollection getOraclePluginActionCollection()
+// {
+// ActionCollection result = AppTestUtil.getEasyMockActionCollection(false);
+// Action someAction = createMock(Action.class);
+// replay(someAction);
+// expect(result.get(NewDBOutputWorksheetAction.class)).andReturn(someAction).anyTimes();
+// expect(result.get(NewInvalidObjectsWorksheetAction.class)).andReturn(someAction).anyTimes();
+// expect(result.get(NewSessionInfoWorksheetAction.class)).andReturn(someAction).anyTimes();
+// expect(result.get(NewSGATraceWorksheetAction.class)).andReturn(someAction).anyTimes();
+// result.add(isA(SquirrelAction.class));
+// expectLastCall().anyTimes();
+// replay(result);
+// return result;
+// }
- // Mock objects
- ISession session = null;
-
- IApplication app = null;
-
- ISQLDatabaseMetaData md = null;
-
- /** class name for the TimeStamp datatype */
- String timestampClassName = DataTypeTimestamp.class.getName();
-
- @Before
- public void setUp() throws Exception
- {
- super.setUp();
- pluginUnderTest = new OraclePlugin();
- md = FwTestUtil.getEasyMockSQLMetaData("oracle", "jdbc:oracle:thin:@host:1521:sid", false, false);
- String[] functions = new String[] { OracleExceptionFormatter.OFFSET_FUNCTION_NAME };
- expect(md.getStringFunctions()).andReturn(functions);
- replay(md);
- ActionCollection col = getOraclePluginActionCollection();
- app = AppTestUtil.getEasyMockApplication(col);
- pluginUnderTest.load(app);
- pluginUnderTest.initialize();
- session = AppTestUtil.getEasyMockSession(md, true);
- classUnderTest = new OraclePlugin();
- }
-
- @After
- public void tearDown() throws Exception
- {
- session = null;
- app = null;
- md = null;
- classUnderTest = null;
- }
-
- /**
- * This tests the sessionStarted method for bug #1820214 (2.5.1 DB aliases do not transfer properly to
- * 2.6.1). An NPE is thrown when the use has specified no setting how timestamps are used in where clauses.
- */
- @Test
- public void testSessionStarted()
- {
- // we cannot mock DTProperties because it is designed to be accessed
- // statically. :(
- DTProperties.put(timestampClassName, "", null); // Simulate missing property.
- pluginUnderTest.sessionStarted(session);
- }
-
- private ActionCollection getOraclePluginActionCollection()
- {
- ActionCollection result = AppTestUtil.getEasyMockActionCollection(false);
- Action someAction = createMock(Action.class);
- replay(someAction);
- expect(result.get(NewDBOutputWorksheetAction.class)).andReturn(someAction).anyTimes();
- expect(result.get(NewInvalidObjectsWorksheetAction.class)).andReturn(someAction).anyTimes();
- expect(result.get(NewSessionInfoWorksheetAction.class)).andReturn(someAction).anyTimes();
- expect(result.get(NewSGATraceWorksheetAction.class)).andReturn(someAction).anyTimes();
- result.add(isA(SquirrelAction.class));
- expectLastCall().anyTimes();
- replay(result);
- return result;
- }
-
@Override
protected String getDatabaseProductName()
{
@@ -127,4 +103,10 @@
return null;
}
+ @Override
+ protected IPlugin getPluginToTest() throws Exception
+ {
+ return new OraclePlugin();
+ }
+
}
Modified: trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/PostgresPlugin.java
===================================================================
--- trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/PostgresPlugin.java 2011-01-02 22:31:59 UTC (rev 6121)
+++ trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/PostgresPlugin.java 2011-01-02 22:32:27 UTC (rev 6122)
@@ -19,8 +19,9 @@
import net.sourceforge.squirrel_sql.client.gui.session.ObjectTreeInternalFrame;
import net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFrame;
import net.sourceforge.squirrel_sql.client.plugin.DefaultSessionPlugin;
+import net.sourceforge.squirrel_sql.client.plugin.IPluginResourcesFactory;
import net.sourceforge.squirrel_sql.client.plugin.PluginException;
-import net.sourceforge.squirrel_sql.client.plugin.PluginResources;
+import net.sourceforge.squirrel_sql.client.plugin.PluginResourcesFactory;
import net.sourceforge.squirrel_sql.client.plugin.PluginSessionCallback;
import net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI;
import net.sourceforge.squirrel_sql.client.session.ISession;
@@ -34,6 +35,7 @@
import net.sourceforge.squirrel_sql.fw.dialects.DialectFactory;
import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
import net.sourceforge.squirrel_sql.fw.sql.DatabaseObjectType;
+import net.sourceforge.squirrel_sql.fw.util.IResources;
import net.sourceforge.squirrel_sql.fw.util.StringManager;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
@@ -61,8 +63,17 @@
*/
public class PostgresPlugin extends DefaultSessionPlugin
{
- private PluginResources _resources;
+ private IResources _resources;
+ private IPluginResourcesFactory _resourcesFactory = new PluginResourcesFactory();
+ /**
+ * @param resourcesFactory the resourcesFactory to set
+ */
+ public void setResourcesFactory(IPluginResourcesFactory resourcesFactory)
+ {
+ _resourcesFactory = resourcesFactory;
+ }
+
/** Logger for this class. */
@SuppressWarnings("unused")
private final static ILogger s_log = LoggerController.createLogger(PostgresPlugin.class);
@@ -83,7 +94,7 @@
String SHOW_PROCEDURE_SOURCE = s_stringMgr.getString("PostgresPlugin.showProcedureSource");
}
- private interface IMenuResourceKeys
+ public interface IMenuResourceKeys
{
String POSTGRES = "postgres";
}
@@ -172,7 +183,7 @@
{
super.load(app);
- _resources = new PluginResources(getClass().getName(), this);
+ _resources = _resourcesFactory.createResource(getClass().getName(), this);
}
/**
@@ -335,4 +346,5 @@
_resources.addToMenu(col.get(VacuumDatabaseAction.class), sessionMenu);
return sessionMenu;
}
+
}
Modified: trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/AbstractObjectTreeAction.java
===================================================================
--- trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/AbstractObjectTreeAction.java 2011-01-02 22:31:59 UTC (rev 6121)
+++ trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/AbstractObjectTreeAction.java 2011-01-02 22:32:27 UTC (rev 6122)
@@ -22,6 +22,7 @@
import net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI;
import net.sourceforge.squirrel_sql.client.IApplication;
import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
+import net.sourceforge.squirrel_sql.fw.util.IResources;
import net.sourceforge.squirrel_sql.fw.util.Resources;
import net.sourceforge.squirrel_sql.fw.util.ICommand;
import net.sourceforge.squirrel_sql.fw.sql.IDatabaseObjectInfo;
@@ -33,7 +34,7 @@
protected IObjectTreeAPI _tree;
- public AbstractObjectTreeAction(IApplication app, Resources rsrc) {
+ public AbstractObjectTreeAction(IApplication app, IResources rsrc) {
super(app, rsrc);
}
Modified: trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/AbstractSessionAction.java
===================================================================
--- trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/AbstractSessionAction.java 2011-01-02 22:31:59 UTC (rev 6121)
+++ trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/AbstractSessionAction.java 2011-01-02 22:32:27 UTC (rev 6122)
@@ -18,21 +18,21 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+import java.awt.event.ActionEvent;
+
+import net.sourceforge.squirrel_sql.client.IApplication;
import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
+import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.session.action.ISessionAction;
-import net.sourceforge.squirrel_sql.client.session.ISession;
-import net.sourceforge.squirrel_sql.client.IApplication;
-import net.sourceforge.squirrel_sql.fw.util.Resources;
import net.sourceforge.squirrel_sql.fw.util.ICommand;
+import net.sourceforge.squirrel_sql.fw.util.IResources;
-import java.awt.event.ActionEvent;
-
public abstract class AbstractSessionAction extends SquirrelAction implements ISessionAction {
/** Current session. */
protected ISession _session;
- public AbstractSessionAction(IApplication app, Resources rsrc) {
+ public AbstractSessionAction(IApplication app, IResources rsrc) {
super(app, rsrc);
}
Modified: trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/VacuumDatabaseAction.java
===================================================================
--- trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/VacuumDatabaseAction.java 2011-01-02 22:31:59 UTC (rev 6121)
+++ trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/VacuumDatabaseAction.java 2011-01-02 22:32:27 UTC (rev 6122)
@@ -19,12 +19,12 @@
*/
import net.sourceforge.squirrel_sql.client.IApplication;
-import net.sourceforge.squirrel_sql.fw.util.Resources;
import net.sourceforge.squirrel_sql.fw.util.ICommand;
+import net.sourceforge.squirrel_sql.fw.util.IResources;
import net.sourceforge.squirrel_sql.plugins.postgres.commands.VacuumDatabaseCommand;
public class VacuumDatabaseAction extends AbstractSessionAction {
- public VacuumDatabaseAction(IApplication app, Resources rsrc) {
+ public VacuumDatabaseAction(IApplication app, IResources rsrc) {
super(app, rsrc);
}
Modified: trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/VacuumTableAction.java
===================================================================
--- trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/VacuumTableAction.java 2011-01-02 22:31:59 UTC (rev 6121)
+++ trunk/sql12/plugins/postgres/src/main/java/net/sourceforge/squirrel_sql/plugins/postgres/actions/VacuumTableAction.java 2011-01-02 22:32:27 UTC (rev 6122)
@@ -19,6 +19,7 @@
*/
import net.sourceforge.squirrel_sql.client.IApplication;
+import net.sourceforge.squirrel_sql.fw.util.IResources;
import net.sourceforge.squirrel_sql.fw.util.Resources;
import net.sourceforge.squirrel_sql.fw.util.ICommand;
import net.sourceforge.squirrel_sql.fw.sql.IDatabaseObjectInfo;
@@ -26,7 +27,7 @@
public class VacuumTableAction extends AbstractObjectTreeAction {
- public VacuumTableAction(IApplication app, Resources rsrc) {
+ public VacuumTableAction(IApplication app, IResources rsrc) {
super(app, rsrc);
}
Modified: trunk/sql12/plugins/postgres/src/test/java/net/sourceforge/squirrel_sql/plugins/postgres/PostgresPluginTest.java
===================================================================
--- trunk/sql12/plugins/postgres/src/test/java/net/sourceforge/squirrel_sql/plugins/postgres/PostgresPluginTest.java 2011-01-02 22:31:59 UTC (rev 6121)
+++ trunk/sql12/plugins/postgres/src/test/java/net/sourceforge/squirrel_sql/plugins/postgres/PostgresPluginTest.java 2011-01-02 22:32:27 UTC (rev 6122)
@@ -19,26 +19,15 @@
package net.sourceforge.squirrel_sql.plugins.postgres;
import net.sourceforge.squirrel_sql.client.plugin.AbstractSessionPluginTest;
+import net.sourceforge.squirrel_sql.client.plugin.IPlugin;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
-
+@RunWith(MockitoJUnitRunner.class)
public class PostgresPluginTest extends AbstractSessionPluginTest
-{
- @Before
- public void setUp() throws Exception
- {
- super.setUp();
- classUnderTest = new PostgresPlugin();
- }
+{
- @After
- public void tearDown() throws Exception
- {
- classUnderTest = null;
- }
-
@Override
protected String getDatabaseProductName()
{
@@ -49,6 +38,15 @@
protected String getDatabaseProductVersion()
{
return POSTGRESQL_8_2_PRODUCT_VERSION;
- }
+ }
+ @Override
+ protected IPlugin getPluginToTest() throws Exception
+ {
+ PostgresPlugin result = new PostgresPlugin();
+ result.setResourcesFactory(mockIPluginResourcesFactory);
+
+ return result;
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|