Author: jfuerth
Date: Fri Nov  7 13:21:11 2008
New Revision: 2833

Modified:
   branches/release-0.9.12/src/ca/sqlpower/architect/ddl/DDLUtils.java
branches/release-0.9.12/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java

Log:
Merged r2820 - Fixed Bug 1698: Abstract SQL Server DDL generator should not appear in GUI


Modified: branches/release-0.9.12/src/ca/sqlpower/architect/ddl/DDLUtils.java
==============================================================================
--- branches/release-0.9.12/src/ca/sqlpower/architect/ddl/DDLUtils.java (original) +++ branches/release-0.9.12/src/ca/sqlpower/architect/ddl/DDLUtils.java Fri Nov 7 13:21:11 2008
@@ -18,6 +18,7 @@
  */
 package ca.sqlpower.architect.ddl;

+import java.lang.reflect.Modifier;
 import java.util.Vector;

 import org.apache.log4j.Logger;
@@ -148,13 +149,15 @@
* Finds all DDL Generators configured in the given data source collection.
      */
public static Vector<Class<? extends DDLGenerator>> getDDLTypes(DataSourceCollection dsc) {
-        Vector<Class<? extends DDLGenerator>> dbTypeList = new Vector();
+ Vector<Class<? extends DDLGenerator>> dbTypeList = new Vector<Class<? extends DDLGenerator>>();
         for (SPDataSourceType dst : dsc.getDataSourceTypes()) {
             if (dst.getDDLGeneratorClass() != null) {
                 try {
Class<?> loadedClass = Class.forName(dst.getDDLGeneratorClass()); Class<? extends DDLGenerator> ddlgClass = loadedClass.asSubclass(DDLGenerator.class); - if (!dbTypeList.contains(ddlgClass)) dbTypeList.add(ddlgClass); + if ( (!dbTypeList.contains(ddlgClass)) && (!Modifier.isAbstract(ddlgClass.getModifiers())) ) {
+                        dbTypeList.add(ddlgClass);
+                    }
                 } catch (Exception e) {
                     logger.warn(
"Couldn't initialize DDL Generator class " + dst.getDDLGeneratorClass() +

Modified: branches/release-0.9.12/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java
==============================================================================
--- branches/release-0.9.12/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java (original) +++ branches/release-0.9.12/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java Fri Nov 7 13:21:11 2008
@@ -34,8 +34,12 @@
 import ca.sqlpower.architect.SQLRelationship;
 import ca.sqlpower.architect.SQLRelationship.Deferrability;

-
-public class SQLServerDDLGenerator extends GenericDDLGenerator {
+/**
+ * The base class for version-specific SQL Server DDL generators. This class is
+ * marked abstract because it is not appropriate to use it directly on any
+ * version of SQL Server.
+ */
+public abstract class SQLServerDDLGenerator extends GenericDDLGenerator {
        public SQLServerDDLGenerator() throws SQLException {
                super();
        }
@@ -43,10 +47,10 @@
        public static final String GENERATOR_VERSION = "$Revision$";
private static final Logger logger = Logger.getLogger(SQLServerDDLGenerator.class);

-       private static HashSet reservedWords;
+       private static HashSet<String> reservedWords;

        static {
-               reservedWords = new HashSet();
+               reservedWords = new HashSet<String>();
                reservedWords.add("ADD");
                reservedWords.add("ALL");
                reservedWords.add("ALTER");

Reply via email to