Changelog 2.0.0 - Refactoring of the JavaClassGenerationDefinition to introduce a abstract class that implements the input method selection with the database product selection and the input data. - Moving some classes to other packages: - ch.sahits.codegen.java.wizards.AbstractCodeGenWizardPage -> ch.sahits.codegen.wizards.AbstractCodeGenWizardPage - ch.sahits.codegen.java.wizards.BasicCodeGenWizard -> ch.sahits.codegen.wizards.BasicCodeGenWizard - ch.sahits.codegen.java.wizards.BasicDBDefinitionPage -> ch.sahits.codegen.wizards.BasicDBDefinitionPage - ch.sahits.codegen.java.wizards.CodeGenInputDefinitionPage -> ch.sahits.codegen.wizards.CodeGenInputDefinitionPage - ch.sahits.codegen.java.wizards.DynamicDBGenerationCode -> ch.sahits.codegen.wizards.DynamicDBGenerationCode - ch.sahits.codegen.java.wizards.GeneralCodeGenerationWizard -> ch.sahits.codegen.wizards.GeneralCodeGenerationWizard - ch.sahits.codegen.java.wizards.IJavaGenerationDefinitionFocus -> ch.sahits.codegen.wizards.IJavaGenerationDefinitionFocus - ch.sahits.codegen.java.internal.wizards.DBDefinitionPage -> ch.sahits.codegen.internal.wizards.DBDefinitionPage - ch.sahits.codegen.java.input.IDBInputParser.java -> ch.sahits.codegen.input.IDBInputParser - ch.sahits.codegen.java.input.IInputParser -> ch.sahits.codegen.input.IInputParser - ch.sahits.codegen.java.extensions.DBDefintionPage -> ch.sahits.codegen.extensions.DBDefintionPage - ch.sahits.codegen.java.extensions.InputDBConnection -> ch.sahits.codegen.extensions.InputDBConnection - ch.sahits.codegen.java.extensions.InputDBParser -> ch.sahits.codegen.extensions.InputDBParser - ch.sahits.codegen.java.model.ModelFactory -> ch.sahits.codegen.java.model.JavaModelFactory - ch.sahits.codegen.java.extensions.InputParser -> ch.sahits.codegen.extensions.InputParser - ch.sahits.codegen.java.extensions.XMLInputParser -> ch.sahits.codegen.extensions.XMLInputParser - ch.sahits.codegen.java.input.IXMLInputFileParser -> ch.sahits.codegen.java.input.IXMLJavaInputFileParser - ch.sahits.codegen.java.internal.generator.jet.JETEmitterInitializer -> ch.sahits.codegen.internal.jet.JETEmitterInitializer - ch.sahits.codegen.java.IBaseGenerator -> ch.sahits.codegen.generator.IBaseGenerator - ch.sahits.codegen.java.IGenerator -> ch.sahits.codegen.generator.IGenerator - ch.sahits.codegen.model.Config -> ch.sahits.codegen.model.Config - ch.sahits.codegen.java.generator.AbstractGenerator -> ch.sahits.codegen.generator.AbstractGenerator - ch.sahits.codegen.java.generator.JETGateway -> ch.sahits.codegen.generator.JETGateway - ch.sahits.codegen.java.wizards.IJavaCodeGeneratorDelegate -> ch.sahits.codegen.java.wizards.ICodeGeneratorDelegate - ch.sahits.codegen.java.wizards.EGenerationType -> ch.sahits.codegen.wizards.EGenerationType - ch.sahits.codegen.java.wizards.ICodeGeneratorDelegate -> ch.sahits.codegen.wizards.ICodeGeneratorDelegate - ch.sahits.codegen.java.wizards.ECodeGenerationWizard -> ch.sahits.codegen.wizards.ECodeGenerationWizard - ch.sahits.codegen.java.extensions.JETemplate -> ch.sahits.codegen.extensions.JETemplate - ch.sahits.codegen.java.input.XMLJDomParser -> ch.sahits.codegen.input.XMLJDomParser - ch.sahits.codegen.java.generator.IDBAccess -> ch.sahits.codegen.generator.IDBAccess - ch.sahits.codegen.java.generator.AbstractGenerator -> ch.sahits.codegen.generator.AbstracGenerator - ch.sahits.codegen.java.wizards.IXMLSerializer -> ch.sahits.codegen.wizards.IXMLSerializer - New plug-in ch.sahits.codegen that hold the code generation stuff, that is not specificially java source output - Move the moved classes into the new plug-in ch.sahits.codegen - Move the following extension points to ch.sahits.codegen - ch.sahits.codegen.java.connectionpage - ch.sahits.codegen.java.inputdbconnection - ch.sahits.codegen.java.inputdbparser - ch.sahits.codegen.java.inputparser - ch.sahits.codegen.inputxmlparser - ch.sahits.codegen.java.jettemplate - The related helper classes where moved into the package ch.sahits.codegen.extensions - Splitting up from interfaces into subinterfaces where one of the subinterface is implemented. - ch.sahits.codegen.java.model.IDBConnectionModelGenerator is subinterface of ch.sahits.codegen.model.IGeneralDBConnectionModelGenerator - Adding the Methods getConnectionString() and getConnectionDriverClass() to the interface IBasicDBConnectionModelGenerator - Rename method getIterface to newInterface in ch.sahits.codegen.wizards.GeneralCodeGenerationWizard, ch.sahits.codegen.wizards.MinimalArtefactDelegate and ch.sahits.codegen.java.internal.wizards.GeneratedArtefactDelegateGenerator - New icons and header images for the wizards - Added new methods to the BasicDatabaseTable to retrieve indexes of different kinds - Database table models have a new property that indicate if a field is a auto generated key (#2734821) - Filter on the generator Drop down so only the generator classes are displayed that can be used (#2677792) - New wizard to generate arbitrary artefacts (i.e. xml files, sql files, ini files, ...) (#2604767) - Improved the MJCG to include artefacts as well as Java classes - New Extension point: ch.sahits.codegen.generator defining a generator (JET or generator class) for the general code generator - Additional examples (#2604769): - DAO class with load methods for all unique indices and insert (JETemplate with AST improvement) - WSDL Generator from an XML webservice definition - services.xml Generator from a XML webservice definition - ILoginWebservice interface generator - Stub webservice generator from a XML webservice definition - InOutMessageReciever generator from a XML webservice definition - JETemplate for the general artifact wizard to generate SQL templates for a database table - Generator for a Hibernate configuration XML based on a table description and connection informations - New JETemplate for a bean with a convertor (#2687143) adds a constructor that takes the first interface as argument to convert an instance of said interface into an instance of this class - New Model to represent a Webservice - Updated the sahits utility library to version 1.2.1 - Added plug-in or.apache.axis that contains the paache librarys and most of the source code, that is needed for the new examples. - Parser for *.csv input files - XML input model (incl. parser) for a webservice model for schema definition http://www.sahits.ch/xsd/webservice.xsd - Improved the dbbean.javajet template to: - Add abstract methods from interfaces and abstract classes (#14) - Add constructors if the superlass defines any that are not thedefault constructor (#13) - Added Utilities for: - JDBC connections - Method reflection - WSDL Parser - Workspace fragment provider - Made classes or most of their methods final - ch.sahits.codegen.extensions.DBDefintionPage - ch.sahits.codegen.extensions.Generator - ch.sahits.codegen.extensions.InputDBConnection - ch.sahits.codegen.extensions.InputDBParser - ch.sahits.codegen.extensions.InputParser - ch.sahits.codegen.extensions.JETemplate - ch.sahits.codegen.extensions.XMLInputParser - ch.sahits.codegen.generator.AbstractGenerator - ch.sahits.codegen.generator.JETGateway - ch.sahits.codegen.input.XMLJDomParser - ch.sahits.codegen.input.XMLSerializerFactroryFactory - ch.sahits.codegen.internal.jet.JETEmitterInitializer - ch.sahits.codegen.internal.wizards.DBDefinitionPage - ch.sahits.codegen.model.BasicModelFactory - ch.sahits.codegen.model.BasicModelGenerator - ch.sahits.codegen.wizards.AbstractCodeGenWizardPage - ch.sahits.codegen.wizards.BasicCodeGenWizard - ch.sahits.codegen.wizards.BasicDBDefinitionPage - ch.sahits.codegen.wizards.BasicGeneralCodeGenerator - ch.sahits.codegen.wizards.CodeGenInputDefinitionPage - ch.sahits.codegen.wizards.DynamicDBGenerationCode - ch.sahits.codegen.core.Logging - ch.sahits.codegen.i18n.JavaMessages - ch.sahits.codegen.java.GeneratorFactory - ch.sahits.codegen.java.JavaCodegenPlugin - ch.sahits.codegen.java.extensions.Generator - ch.sahits.codegen.java.generator.ast.ASTBeanWithDelete - ch.sahits.codegen.java.generator.ast.ASTGenerator - ch.sahits.codegen.java.generator.ast.AbstractJETASTGenerator - ch.sahits.codegen.java.generator.ast.AbstractReferenceImplCaller - ch.sahits.codegen.java.generator.ast.CRUDOracleReference - ch.sahits.codegen.java.generator.ast.JETASTGenerator - ch.sahits.codegen.java.generator.ast.PureASTOracleDAOGenerator - ch.sahits.codegen.java.generator.ast.ReferenceAST - ch.sahits.codegen.java.generator.jettemplate.AbstractJETTemplateGenerator - ch.sahits.codegen.java.generator.jettemplate.InitializableDbBeanGenerator - ch.sahits.codegen.java.input.DBXMLFileGenerator - ch.sahits.codegen.java.input.InputParserFactory - ch.sahits.codegen.java.input.JavaXMLSerializerFactory - ch.sahits.codegen.java.input.SQLCreateScriptInput - ch.sahits.codegen.java.input.XMLInputFileGeneratorClassLoader - ch.sahits.codegen.java.input.XMLTableParser - ch.sahits.codegen.java.input.db.DBConnection - ch.sahits.codegen.java.internal.wizards.GeneratedClass - ch.sahits.codegen.java.internal.wizards.GeneratedClassDelegateGenerator - ch.sahits.codegen.java.internal.wizards.JavaClassGenerationDefinition - ch.sahits.codegen.java.internal.wizards.JavaCodegenModelWizard - ch.sahits.codegen.java.internal.wizards.JavaCodegenWizard - ch.sahits.codegen.java.internal.wizards.JetFilenameFilter - ch.sahits.codegen.java.internal.wizards.MJCGWizardPage - ch.sahits.codegen.java.internal.wizards.MJCPWizard - ch.sahits.codegen.java.internal.wizards.NewJavaClassDefinitionWizardPage - ch.sahits.codegen.java.internal.wizards.XMLSerializer - ch.sahits.codegen.java.internal.wizards.XMLSerializer1_1 - ch.sahits.codegen.java.model.JavaModelFactory - ch.sahits.codegen.java.model.util.JETInterfaceImplementer - ch.sahits.codegen.java.model.util.SQLProvider - ch.sahits.codegen.java.util.ProjectGeneratorClassLoader - ch.sahits.codegen.java.wizards.CodeGeneratorDelegateFactory - ch.sahits.codegen.java.wizards.IndexedSelectionAdapter - ch.sahits.codegen.java.wizards.JavaCodeGenerator - ch.sahits.codegen.java.wizards.JavaGenerationDefinition - ch.sahits.codegen.i18n.DatatoolsMessages - ch.sahits.codegen.java.internal.wizards.DTPConnectionDefinitionPage - ch.sahits.codegen.java.wizards.DTPConnection - ch.sahits.codegen.example.CountryChanger - ch.sahits.codegen.example.Description - ch.sahits.codegen.example.Message - ch.sahits.codegen.example.Name - ch.sahits.codegen.i18n.ExampleMessages - ch.sahits.codegen.xml.XMLParserWithoutDB - ch.sahits.codegen.i18n.JavaGUIInputMessages - ch.sahits.codegen.java.gui.input.XHTMLModelParser - ch.sahits.codegen.java.gui.util.GUIHelper - ch.sahits.codegen.java.gui.util.SWTGUIHelper - ch.sahits.codegen.i18n.JavaSQLServerMessages - ch.sahits.codegen.java.input.db.SQLServerConnection - ch.sahits.codegen.java.input.db.SQLServerConnectionModelGenerator - ch.sahits.codegen.java.input.db.SQLServerCreateScriptInputParser - ch.sahits.codegen.i18n.JavaMySQLMessages - ch.sahits.codegen.java.input.db.MySQLConnection - ch.sahits.codegen.java.input.db.MySQLConnectionModelGenerator - ch.sahits.codegen.java.input.db.MySQLCreateScriptInputParser - ch.sahits.codegen.i18n.JavaInputOracleMessages - ch.sahits.codegen.java.input.db.OracleConnection - ch.sahits.codegen.java.input.db.OracleConnectorModelGenerator - ch.sahits.codegen.java.input.db.OracleSQLCreateScriptInputParser - ch.sahits.codegen.i18n.SqlMessages - ch.sahits.codegen.sql.SQLCodegenPlugin - ch.sahits.codegen.sql.extension.DataManipulation - ch.sahits.codegen.sql.generator.BasicDataManipulator - ch.sahits.codegen.sql.generator.JDBCSQLInsertScriptGenerator - ch.sahits.codegen.sql.internal.model.ConvertableCurrentRecordSet - ch.sahits.codegen.sql.internal.model.ConvertableField - ch.sahits.codegen.sql.internal.model.CurrentRecordSet - ch.sahits.codegen.sql.internal.model.Field - ch.sahits.codegen.sql.model.InsertScriptWizardModel - ch.sahits.codegen.sql.model.ModelDataProvider - ch.sahits.codegen.sql.wizards.InsertScriptWizardPage - ch.sahits.codegen.sql.wizards.InsertSkriptWizard Refactoring of classes by renaming them - ch.sahits.codegen.java.model.ModelFactory -> ch.sahits.codegen.java.model.JavaModelFactory - ch.sahits.model.db.DataBaseTable -> ch.sahits.model.db.BasicDataBaseTable Refactoring: Use available interfaces where possible instead of concrete implementations Made the following classes immutable: - ch.sahits.codegen.model.Config Mades some classes package private: - ch.sahits.codegen.wizards.GeneralCodeGenerationWizard The following bugs where fixed: - #2797342: include projects with a linked path - #5: Inefficent parsing of XHTML files due to validation - #10: Refactored the class so it can be made more addaptable to different classloading neads especially cases where the a NoClassDefFoundError was thrown when the class was part of the projects class path and could not be reached from the parants class loader. Fix the wrong gathering of classpath urls. The problem was that ProjectClassLoader could not find generic classes. ProjectClassLoaderV2 can load generic classes but looses the generic information. ProjectClassLoaderV2 replaces ProjectClassLoader. - #11: Loged Error when sirializing a configuration. - #12: Check the database product in any case - #17: Don't close the SQLStatement before the result is completley read - #18: Comparison of equal classes when load from different classloaders fails Improved or adjusten the Help to reflect the changes and additions