Revision: 3132
Author: mike892
Date: Mon Jul 27 15:08:43 2009
Log: Updated the UserPrompterFactory so it was not necessary to pass in a
DatasourceCollection when using a user prompter factory. This is because
most places these prompts are called they don't need a user prompter
factory. Instead there is a separate method for prompting the user to open
a user prompter factory. This helped avoid an error in architect because
architect only has JDBCDataSources and it seems the UserPrompterFactory
only works for SPDataSources, this error will popup again if the architect
ever wants to display this dialog. Will try to fix that problem separately.
Furthermore the WabitSession did not extend the UserPrompterFactory but
should have, instead it just used the method separately and delegated. Also
deleted a class that was essentially a duplicate that I put it stupidly.
http://code.google.com/p/power-architect/source/detail?r=3132
Modified:
/trunk/regress/ca/sqlpower/architect/TestingArchitectSession.java
/trunk/regress/ca/sqlpower/architect/swingui/TestingArchitectSwingSession.java
/trunk/src/ca/sqlpower/architect/ArchitectSessionImpl.java
/trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSessionImpl.java
=======================================
--- /trunk/regress/ca/sqlpower/architect/TestingArchitectSession.java Fri
May 29 07:57:16 2009
+++ /trunk/regress/ca/sqlpower/architect/TestingArchitectSession.java Mon
Jul 27 15:08:43 2009
@@ -37,7 +37,9 @@
import ca.sqlpower.architect.ddl.DDLGenerator;
import ca.sqlpower.architect.olap.OLAPRootObject;
import ca.sqlpower.architect.profile.ProfileManager;
+import ca.sqlpower.sql.DataSourceCollection;
import ca.sqlpower.sql.JDBCDataSource;
+import ca.sqlpower.sql.SPDataSource;
import ca.sqlpower.sqlobject.SQLDatabase;
import ca.sqlpower.sqlobject.SQLObjectException;
import ca.sqlpower.sqlobject.SQLObjectRoot;
@@ -133,5 +135,12 @@
// TODO Auto-generated method stub
return null;
}
+
+ public UserPrompter createDatabaseUserPrompter(String question,
List<Class<? extends SPDataSource>> dsTypes,
+ UserPromptOptions optionType, UserPromptResponse
defaultResponseType, Object defaultResponse,
+ DataSourceCollection<SPDataSource> dsCollection, String...
buttonNames) {
+ return defaultUPF.createDatabaseUserPrompter(question, dsTypes,
optionType, defaultResponseType,
+ defaultResponse, dsCollection, buttonNames);
+ }
}
=======================================
---
/trunk/regress/ca/sqlpower/architect/swingui/TestingArchitectSwingSession.java
Fri May 29 07:57:16 2009
+++
/trunk/regress/ca/sqlpower/architect/swingui/TestingArchitectSwingSession.java
Mon Jul 27 15:08:43 2009
@@ -42,7 +42,9 @@
import
ca.sqlpower.architect.swingui.ArchitectSwingSessionImpl.ColumnVisibility;
import ca.sqlpower.architect.swingui.olap.OLAPEditSession;
import ca.sqlpower.architect.undo.ArchitectUndoManager;
+import ca.sqlpower.sql.DataSourceCollection;
import ca.sqlpower.sql.JDBCDataSource;
+import ca.sqlpower.sql.SPDataSource;
import ca.sqlpower.sqlobject.SQLDatabase;
import ca.sqlpower.sqlobject.SQLObjectException;
import ca.sqlpower.sqlobject.SQLObjectRoot;
@@ -373,4 +375,12 @@
// TODO Auto-generated method stub
return null;
}
-}
+
+ public UserPrompter createDatabaseUserPrompter(String question,
List<Class<? extends SPDataSource>> dsTypes,
+ UserPromptOptions optionType, UserPromptResponse
defaultResponseType, Object defaultResponse,
+ DataSourceCollection<SPDataSource> dsCollection, String...
buttonNames) {
+ // TODO Auto-generated method stub
+ return new
DefaultUserPrompterFactory().createDatabaseUserPrompter(question, dsTypes,
+ optionType, defaultResponseType, defaultResponse,
dsCollection, buttonNames);
+ }
+}
=======================================
--- /trunk/src/ca/sqlpower/architect/ArchitectSessionImpl.java Fri May 29
07:57:16 2009
+++ /trunk/src/ca/sqlpower/architect/ArchitectSessionImpl.java Mon Jul 27
15:08:43 2009
@@ -25,7 +25,9 @@
import ca.sqlpower.architect.ddl.DDLGenerator;
import ca.sqlpower.architect.ddl.GenericDDLGenerator;
import ca.sqlpower.architect.profile.ProfileManagerImpl;
+import ca.sqlpower.sql.DataSourceCollection;
import ca.sqlpower.sql.JDBCDataSource;
+import ca.sqlpower.sql.SPDataSource;
import ca.sqlpower.sqlobject.SQLDatabase;
import ca.sqlpower.sqlobject.SQLObject;
import ca.sqlpower.sqlobject.SQLObjectException;
@@ -189,6 +191,13 @@
throw new RuntimeException(e);
}
}
+
+ public UserPrompter createDatabaseUserPrompter(String question,
List<Class<? extends SPDataSource>> dsTypes,
+ UserPromptOptions optionType, UserPromptResponse
defaultResponseType, Object defaultResponse,
+ DataSourceCollection<SPDataSource> dsCollection, String...
buttonNames) {
+ return userPrompterFactory.createDatabaseUserPrompter(question,
dsTypes, optionType,
+ defaultResponseType, defaultResponse, dsCollection,
buttonNames);
+ }
}
=======================================
--- /trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSessionImpl.java
Thu Jul 23 08:37:48 2009
+++ /trunk/src/ca/sqlpower/architect/swingui/ArchitectSwingSessionImpl.java
Mon Jul 27 15:08:43 2009
@@ -204,8 +204,8 @@
*/
ArchitectSwingSessionImpl(final ArchitectSwingSessionContext context,
String name)
throws SQLObjectException {
- DataSourceCollection<SPDataSource> connections =
(DataSourceCollection<SPDataSource>) context.getPlDotIni().getConnections();
- swinguiUserPrompterFactory = new SwingUIUserPrompterFactory(frame,
connections);
+
+ swinguiUserPrompterFactory = new SwingUIUserPrompterFactory(frame);
this.isNew = true;
this.context = context;
this.delegateSession = new ArchitectSessionImpl(context, name);
@@ -1007,4 +1007,11 @@
return color;
}
}
-}
+
+ public UserPrompter createDatabaseUserPrompter(String question,
List<Class<? extends SPDataSource>> dsTypes,
+ UserPromptOptions optionType, UserPromptResponse
defaultResponseType, Object defaultResponse,
+ DataSourceCollection<SPDataSource> dsCollection, String...
buttonNames) {
+ return
swinguiUserPrompterFactory.createDatabaseUserPrompter(question, dsTypes,
optionType,
+ defaultResponseType, defaultResponse, dsCollection,
buttonNames);
+ }
+}