Revision: 3542
Author: [email protected]
Date: Mon May 17 15:44:33 2010
Log: The EditColumnAction now respects the default settings defined in the User Preferences (default data type, specifically). When creating a new column in a table in the playpen, the correct default data type is selected instead of the first one.

Also fixed the SQLTypeTreeModel to sort the tree ignoring case sensitivity in domain names.
http://code.google.com/p/power-architect/source/detail?r=3542

Modified:
 /trunk/src/main/java/ca/sqlpower/architect/swingui/SQLTypeTreeModel.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/action/EditColumnAction.java

=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/swingui/SQLTypeTreeModel.java Fri May 14 11:58:04 2010 +++ /trunk/src/main/java/ca/sqlpower/architect/swingui/SQLTypeTreeModel.java Mon May 17 15:44:33 2010
@@ -64,9 +64,9 @@
             }

if (spo1 instanceof UserDefinedSQLType && spo2 instanceof UserDefinedSQLType) { - return Integer.signum(spo1.getName().compareTo(spo2.getName())); + return Integer.signum(spo1.getName().compareToIgnoreCase(spo2.getName())); } else if (spo1 instanceof DomainCategory && spo2 instanceof DomainCategory) { - return Integer.signum(spo1.getName().compareTo(spo2.getName())); + return Integer.signum(spo1.getName().compareToIgnoreCase(spo2.getName()));
             } else if (spo1 instanceof DomainCategory) {
                 return -1;
             } else {
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/swingui/action/EditColumnAction.java Mon May 3 06:53:28 2010 +++ /trunk/src/main/java/ca/sqlpower/architect/swingui/action/EditColumnAction.java Mon May 17 15:44:33 2010
@@ -37,9 +37,10 @@
 import ca.sqlpower.architect.swingui.TablePane;
 import ca.sqlpower.architect.swingui.event.SelectionEvent;
 import ca.sqlpower.architect.swingui.event.SelectionListener;
-import ca.sqlpower.sqlobject.SQLObjectException;
 import ca.sqlpower.sqlobject.SQLColumn;
+import ca.sqlpower.sqlobject.SQLObjectException;
 import ca.sqlpower.sqlobject.SQLTable;
+import ca.sqlpower.sqlobject.UserDefinedSQLType;
 import ca.sqlpower.swingui.DataEntryPanelBuilder;

public class EditColumnAction extends AbstractArchitectAction implements SelectionListener {
@@ -109,7 +110,21 @@
                 column = st.getColumn(colIdx);
                        } else {
                            if (session.getSQLTypes().size() > 0) {
-                               column = new 
SQLColumn(session.getSQLTypes().get(0));
+
+                               // Iterate through the list of SQL Types,
+                               // uses the default one (if defined) from the
+                               // user preferences to create the SQLColumn.
+                               UserDefinedSQLType defaultType = null;
+                               for (UserDefinedSQLType type : 
session.getSQLTypes()) {
+                                   if (type.getType() == 
SQLColumn.getDefaultType()) {
+                                       defaultType = type;
+                                       break;
+                                   }
+                               }
+                               if (defaultType == null) {
+                                   defaultType = session.getSQLTypes().get(0);
+                               }
+                               column = new SQLColumn(defaultType);
                            } else {
                                column = new SQLColumn();
                            }

Reply via email to