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");