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);
+    }
+}

Reply via email to