Code Generator for Eclipse Code
Brought to you by:
hotzst
--- a +++ b/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/ExtendablePseudoDBPage.java @@ -0,0 +1,32 @@ +package ch.sahits.codegen.java.internal.wizards; + +import ch.sahits.codegen.extensions.InputDBConnection; +import ch.sahits.codegen.internal.wizards.PseudoDBDefinitionPage; +import ch.sahits.codegen.java.model.IDBConnectionModelGenerator; +import ch.sahits.codegen.java.model.IExtendedDBDefinitionPage; +/** + * Pseudo database definition page for headless construction + * @author Andi Hotz, Sahits GmbH + * @since 2.1.0 + * + */ +public final class ExtendablePseudoDBPage extends PseudoDBDefinitionPage implements + IExtendedDBDefinitionPage { + + public ExtendablePseudoDBPage(String dbProduct, String host, String dbName, + String port, String user) { + super(dbProduct, host, dbName, port, user); + } + + /** + * Retrieve the model generator for a definition page. Basically any implementation + * of this class should also be implemented as static method since when calling this + * method the calling wizard may be unknown in the calling class + * @param dbProduct Vendor name of the database product. + * @return Model generator for a connection + */ + public IDBConnectionModelGenerator getModelConnectionGenerator(String dbProduct){ + return (IDBConnectionModelGenerator) InputDBConnection.getParser(dbProduct); + } + +}
--- a/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/HeadlessGeneratedClassDelegateGenerator.java +++ b/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/HeadlessGeneratedClassDelegateGenerator.java @@ -90,6 +90,8 @@ model = HeadlessJavaModelFactory.createModelWithoutDB(definition,getInputFilePath(),monitor); break; default: + ExtendablePseudoDBPage dbPage = new ExtendablePseudoDBPage(getDbProduct(), getDbHost(), getDbName(), getDbPort(), getDbUser()); + HeadlessJavaModelFactory.setCurrentDBDefinitionPage(dbPage); model = HeadlessJavaModelFactory.createModelWithDBConnection(definition, getDbProduct(), getDbHost(), getDbPort(), getDbName(), getDbUser(), getDbPassword(), getDbTableName(),getPackageName(),getClassName(),monitor,getDbSchema()); HeadlessJavaModelFactory.setCurrentDBDefinitionPage(null); break;