Main

March 22, 2007

FireStorm/DAO 3.2 BETA

The first BETA release of FireStorm/DAO 3.2 is now available to download here:

http://www.codefutures.com/firestormdao/download/

This release supports Windows Vista and JDK 1.5 and contains some bug fixes. Please refer to the README and Change Log for more information.

April 04, 2006

SQL Server 2005 support

The FireStorm/DAO release on the web site has been updated. The new release fixes several issues with stored procedure support with SQL Server 2005.

February 23, 2006

Resolving OutOfMemory exceptions

If you are hitting OutOfMemory problems using FireStorm/DAO then it is because the Java Virtual Machine (JVM) does not have enough memory allocated.

If you are using Windows platform then you can use the following command line parameters to control how much memory to give the JVM. This example specifies an initial size of 256MB and a maximum size of 512MB but you may want to use larger numbers.

firestorm.exe -J-Xms256M -J-Xmx512M

If you want to launch using the jar files directly and bypass the .exe (or if you are on Linux/Mac) you will need to ensure that you have log4j and jdom jars (that ship with FireStorm/DAO) in your classpath and use the command line:

java -Xms256M -Xmx512M -jar firestorm.jar

November 30, 2005

FireStorm/DAO 3.0 GA

FireStorm/DAO 3.0 GA is now available to download.

November 01, 2005

FireStorm/DAO 3.0 RC2 build 148

Build 148 is now available to download. This build contains a significant change to the way that primary key (findByPrimaryKey) finders are handled. In previous releases, the findByPrimaryKey definition was automatically created when a database schema was reverse-engineered and then required maintaining by hand in the event that the primary key changed. This has been a regular source of confusion for our customers and also was not useful to those customers that are using FireStorm/DAO as a database design tool as they always had to manually define their primary key finders.

As of build 148, the findByPrimaryKey finder is a special type of finder that is automatically updated whenever the primary key is updated. It can no longer be edited manually but still appears in the project file in full for backward compatibility.

This build also contains an improved UI for defining Table and View DAOs as shown in this screenshot. Click on the image for a larger version.

Download FireStormDAO 3.0 RC2 now.

October 31, 2005

Hibernate Support

FireStorm/DAO 3.0 Release Candidate 2 is now available to download.

Hibernate support has been greatly improved based on user feedback from RC1. One-to-one and many-to-one relationships are now correctly modelled in the persistent classes and the hibernate mapping files. For more information please refer to the hibernate documentation section of the user manual.

October 30, 2005

FireStorm/DAO 3.0 User Manual updated

We have put together a new user manual for FireStorm/DAO 3.0 with improved technical information and more code samples. The manual is included with the product in PDF format and is also now available online in HTML format.

You can view or download the HTML version of the documentation here:

http://www.codefutures.com/products/firestorm/documentation/

July 26, 2005

Bug fix: Prefix Table With Schema Name

FireStorm/DAO 3.0 build 59 is now available for direct download from:

http://www.codefutures.com/products/firestorm/download/

This build fixes a number of bugs related to the code generation option "prefix table with schema name". This option was working correctly for J2SE code generation but not for J2EE code generation. Also there were inconsistencies in how this option was saved to the project file.

The first time that you generate code from your project using this new build, it is recommended that you double check the setting of this option to make sure it is set to the value you desire (on or off) and that you save your project file afterwards.

The name of the option in the "provider options" section of the project file has been standardised to "prefix-schema-name" whereas previously both "prefix-schema-name" and "use-schema-name" were in use.


July 15, 2005

FireStorm/DAO 3.0 Release Candidate 1

The development team is finally feature-complete and ready to launch Release 3.0.

The Release Candidate 1 is now available for download.

The new feature list is:

• Hibernate code generation

FireStorm/DAO produces Hibernate Java persistent classes and a Hibernate mapping file (*.hbm.xml) for each database table.

• REF CURSOR support for Oracle Stored Procedures

FireStorm/DAO reverse-engineers stored procedures for Oracle, SQL Server, and Sybase. Oracle support has been enhanced and FireStorm/DAO now reverse-engineers REF CURSOR parameter information, including REF CURSOR columns, when importing Oracle Stored Procedures.

• Using Dynamic SQL with Custom SQL DAOs

It is now possible to execute Custom Data Access Objects with dynamic SQL. Effectively this means that the same DTO and DAO mapping can now be used with multiple SQL statements. A typical use-case for using Dynamic SQL statements with a Custom DAO is where a multi-table SELECT is implemented as a Custom DAO but there is a need for multiple "finder" methods.

• setMaxRows Support

JDBC DAOs for Tables and Views now have a setMaxRows() method. This method should be called prior to calling any finder methods to limit the number of rows returned (the DAO finder implementations simply makes a call to JDBC setMaxRows method before executing their SQL query).

• Setting Default Values for DTO Fields

Users can set default values for DTO fields when defining Table and View DAOs through the FireStorm/DAO user interface. Typical uses of this feature would include allocating UUID values to primary key fields and defaulting date fields to today's date.

• User Interface and Usability Improvements

There are many usability improvements, for example, when re-installing or upgrading FireStorm/DAO, existing firestorm- conf.xml files are no longer overwritten.


Between RC1 and GA, we're going to test, test, document, and test. We've improved the user interface so much that we're going to have to re-shoot all the video demos as well.


July 07, 2005

FireStorm/DAO 3.0 EA build 48

An updated 3.0 RC1 is now available to download from:

http://www.codefutures.com/products/firestorm/download

Build 48 features significant improvements in Hibernate ORM support as well as further improvements to the Studio user interface (FireStorm/DAO now remembers the 10 most recent projects in the File menu and the JDBC Driver and JDBC Data Source configuration dialogs have been overhauled).

You can view the release notes here.

July 05, 2005

FireStorm/DAO 3.0 EA build 44

A new FireStorm/DAO build has been released. As always, the release notes are available here:

http://www.codefutures.com/products/firestorm/download/README.html

June 09, 2005

Setting default values for DTO fields

One of the new features in 3.0 EA is the ability to set default values for DTO fields when defining Table and View DAOs through the FireStorm/DAO user interface.

You can enter a literal value or an expression. When entering literal values for String columns please remember to include quotes.

Some examples of default values:

  • 100
  • "USD"
  • false
  • new Date()
  • System.currentTimeMillis()
  • MyGenerator.generateGUID()
  • MyClass.init("customer.number")

Oracle REF CURSOR Support - Update

FireStorm/DAO 3.0 Early Access (build 24) now correctly reverse-engineers REF CURSOR parameter information, including REF CURSOR columns, when importing Oracle Stored Procedures.

It is no longer necessary to manually edit stored procedure parameters through the FireStorm/DAO user interface before generating code.

June 05, 2005

FireStorm/DAO 3.0 Early Access (build 18)

FireStorm/DAO 3.0 build 18 is now available for existing customers to preview.

New features in 3.0 include:

* Full support for Oracle REF CURSOR parameters to stored procedures
* Hibernate support
* JDBC DAOs now support setMaxRows
* Improved user interface & usability

If you do not already have the download location for version 3.0 please email sales@codefutures.com for access.

REF CURSOR support

When defining parameters for a stored procedure, chooseing the JDBC type of 'REFCURSOR' enables a chooser button next to the JDBC type dropdown. Clicking this button opens a new editor where the REF CURSOR columns can be defined.

setMaxRows support

JDBC DAOs for Tables and Views now have a setMaxRows() method. This method should be called prior to calling any finder methods to limit the number of rows returned (the DAO finder implementations simply makes a call to JDBC setMaxRows method before executing their SQL query).

User Interface & Usability

Improvements include:

  • FireStorm's tree control has had a major overhaul, with add/delete menu options now available for all items in the project structure, including provider options
  • New icons are now used in the tree and throughout the menu.
  • Many of the editors have been improved so they use all available screen space and resize gracefully
  • When defining parameters and result sets, items can now be reordered
  • When installing FireStorm, existing firestorm-conf.xml files will no longer be overwritten

Hibernate support

Hibernate support is partially implemented. FireStorm generates hbm mapping files for each table/view and generates Hibernate persistent classes for each table/view.

May 08, 2005

Using Dynamic SQL with Custom DAO

As of version 2.4 build 149 (now available for download) it is now possible to execute Custom Data Access Objects with dynamic SQL. Effectively this means that the same DTO and DAO mapping can now be used with multiple SQL statements.

A typical use-case for using Dynamic SQL statements with a Custom DAO is where a multi-table SELECT is implemented as a Custom DAO but there is a need for multiple "finder" methods.

For example, in an accounting database there would be separate tables for "Department", "Customer", and "Invoice" but a Custom DAO called "InvoiceSummary" is implemented to perform a join across these tables to bring back a list of invoices complete with department and customer details.

In the past, FireStorm/DAO would generate a single execute method with the following signature:


InvoiceSummary[] execute() throws InvoiceSummaryDaoException;

FireStorm/DAO now generates an additional method:


InvoiceSummary[] executeDynamicSQL(String sql) throws InvoiceSummaryDaoException;

Also, the SQL statement contained in the generated DAO implementation is now a protected member variable, making it easy to sublass the DAO implementation to provide additional execute methods.

An example of extending the Custom DAO:


public class InvoiceSummaryDaoExtended extends InvoiceSummaryDaoImpl {

  public InvoiceSummary[] findLargeInvoices() throws InvoiceSummaryDaoException {

    return executeDynamicSQL( SQL + " AND amount > 5000 ORDER BY amount DESC" );
  }

}

This assumes that the SQL in the generated DAO has a WHERE clause for performing the join but does not have any other SQL directives (such as ORDER BY) so it is simply a case of appending additional criteria on the end of the SQL statement.

For further information on using this new feature please feel free to email our support team.

May 04, 2005

FireStorm/DAO 2.4 build 146

FireStorm/DAO 2.4 build 146 is now available to download from:

http://www.codefutures.com/products/firestorm/download

Changes since 2.4 GA (build 99)

ReferenceDescription
20050504-1Number of lines of generated code now displayed for both J2SE and J2EE code generation modules
20050429-4Bundled JDK updated to 1.4.2_07
20050429-3Fixed bug in J2EE code generator that caused code generation to stop prematurely when generating EJB code
20050429-2Changed jndi format generated to jboss-cmp.xml to be jndi:/dsname rather than jndi:/comp/env/dsname
20050429-1Option to prefix table name with schema name is now honoured when generating jbosscmp-jdbc.xml.
20050428-3Scope of userConn member variable in custom DAO classes is not protected rather than private.
20050428-5Fixed bug that stopped FireStorm from automatically recognizing SQL Server IDENTITY columns and also caused the Auto-Increment checkbox to be disabled in the user interface.
20050428-4Project file format and user interface updated to support setting name and cardinality on foreign keys.
20050428-2Logging preferences are now always complied with (previously there were a few instances of generated code containing printStackTrace() calls despite log4j being chosen as the preference).
20050428-1Removed "Apply" button from all editors and changes are now saved automatically.
20050412-1Catalog name and schema name have now been broken out into two separate fields throughout the product, allowing better control of which tables to import, particulary with SQL Server and Sybase databases.
20050409-1Added support for seeMore databases.
20050405-1Minor changes to packaging and documentation, upgrade of Install4j to version 3.1.4.
20050404-1The Custom SQL DAO and Stored Procedure DAO editors now record changes correctly on losing focus.
20050301-1It is now possible to create a default finder for a column by right-clicking on the column node in the tree view and choosing the 'Create Default Finder' menu option.
20050329-1Fixed ArrayIndexOutOfBounds exception that occurred during validation if the project contained more stored procedures than views (problem was introduced as a result of 20050316-8).
20050324-1When generating for J2EE, choosing the Plain JSP web application, the generated code did not compile in build 118. This was due to the generated servlet being renamed from FireStormServlet to WebController. Unfortunately the change was not implemented fully. This is now resolved .
20050318-5When generating for J2EE, using JDBC persistence, and generating a session bean facade, the correct session bean descriptors are now generated in ejb-jar.xml (they were missing before unless Entity Bean persistence was selected).
20050318-4SQL scripts created by Oracle Designer can now be imported. Previously, the unterminated PROMPT commands were causing all CREATE TABLE statements to be ignored.
20050318-3Changed spelling of non-existant to non-existent in several places.
20050318-2Fixed error in Plain JSP code generation where finders that had arguments with complex types (e.g. byte[]) were generated but failed at runtime.
20050318-1Foreign keys that are incomplete once evaluation license restrictions are applied are now removed from the in-memory cloned project so that validation does not fail.
20050316-7Validation rules now check for tables with no columns
20050316-8Validation rules now check for table/view/procedure DAOs with duplicate SQL names
20050315-1During code generation, Subversion control directories (.svn) are no longer deleted if the user chooses the option to delete files in the output directory.
20050315-2Two wizard pages in the J2EE code generation wizard were missing meaningful descriptions. Descriptions now added.
20050310-1When creating new Stored Procedure DAOs and new Custom SQL DAOs via the tree view, duplicate names were being used (PROCEDURE_1 and CUSTOM_1). Defect resolved.
20050310-2Views and Procedures were not correctly being deleted from the project file when deleting via the tree view. Defect resolved.

April 12, 2005

FireStorm/DAO Architect Edition update

FireStorm/DAO v2.4 (build 137) has now been uploaded to the CodeFutures web site.

It is no longer necessary to modify the firestorm-conf.xml file to include a list of user code generation modules. FireStorm/DAO will now scan the fscodegen.jar file and automatically detect any classes that implement the Provider interface.

Architect Edition customers should contact sales@codefutures.com for the location of the Architect Edition download page.

March 18, 2005

FireStorm/DAO 2.4 GA updated (build 118)

Changes since 2.4 GA (build 99)








ReferenceDescription
20050318-5When generating for J2EE, using JDBC persistence, and generating a session bean facade, the correct session bean descriptors are now generated in ejb-jar.xml (they were missing before unless Entity Bean persistence was selected).
20050318-4SQL scripts created by Oracle Designer can now be imported. Previously, the unterminated PROMPT commands were causing all CREATE TABLE statements to be ignored.
20050318-3Changed spelling of non-existant to non-existent in several places.
20050318-2Fixed error in Plain JSP code generation where finders that had arguments with complex types (e.g. byte[]) were generated but failed at runtime.
20050318-1Foreign keys that are incomplete once evaluation license restrictions are applied are now removed from the in-memory cloned project so that validation does not fail.
20050316-7Validation rules now check for tables with no columns
20050316-8Validation rules now check for table/view/procedure DAOs with duplicate SQL names
20050315-1During code generation, Subversion control directories (.svn) are no longer deleted if the user chooses the option to delete files in the output directory.
20050315-2Two wizard pages in the J2EE code generation wizard were missing meaningful descriptions. Descriptions now added.
20050310-1When creating new Stored Procedure DAOs and new Custom SQL DAOs via the tree view, duplicate names were being used (PROCEDURE_1 and CUSTOM_1). Defect resolved.
20050310-2Views and Procedures were not correctly being deleted from the project file when deleting via the tree view. Defect resolved.

March 08, 2005

FireStorm/DAO 2.4 GA

The full GA release of FireStorm/DAO 2.4 is now available to download from:

http://www.codefutures.com/products/firestorm/download/

March 02, 2005

FireStorm/DAO 2.4 - Final RC Update

The latest release candidate of FireStorm/DAO 2.4 is now available to download:

http://www.codefutures.com/products/firestorm/download/

FireStorm/DAO 2.4 GA will be available for download early next week once documentation has been updated to reflect the new functionality.
Major new features include:

  • Support for Stored Procedures - In addition to exposing tables, views, and custom SQL statements as Data Access Objects, FireStorm/DAO 2.4 now exposes Stored Procedures as Data Access Objects, unlocking legacy business logic stored in databases. Initially available for Sybase, Oracle, and SQL Server.
  • New Interactive SQL Tool allows queries to be tested directly from FireStorm/DAO
  • Database Schema Migration - It is now possible to change the target database in a FireStorm/DAO project file and any SQL data types not supported by the new target database will automatically change to supported types, making it easy to migrate a schema to a new database platform.
  • New wizards for importing databases and generating code
  • Full support for Apache Derby (open-source embedded Java database)
  • Improved support for Sybase ASE
  • It is now possible to generate Web Applications using simple JSP pages in addition to generating Web Applications based on Struts and Tiles
  • FireStorm/DAO now uses JDOM 1.0 in place of a proprietary XML parser for reading/writing project files, allowing easier integration for OEM customers.
  • It is now possible to define Table DAO finder methods by defining a full SQL SELECT statement (that can be a multi-table join) instead of just defining the SQL WHERE clause.

In addition, there are numerous extra enhancements, particularly around usability. For example, when defining new columns (or amending existing columns), the usability enhancements include:

  • FireStorm/DAO now provides a combobox for selecting SQL data types rather than a free-form text input, and populates this combobox with the appropriate data types for the selected database platform.
  • The SQL precision and scale fields are now only enabled if a SQL data type is selected that supports precision and/or scale
  • The JDBC type is automatically set based on the SQL data type selected
  • Autofill buttons (represented as small light bulbs next to input fields) are available to set the column's SQL name and SQL type intelligently based on the Java name and Java type.

February 21, 2005

FireStorm/DAO 2.4 Release Candidate 1 - Update

FireStorm/DAO 2.4 Release Candidate 1 has been updated. The new build (build 43) has the following improvements over the previous RC1 build:

- Recognizes SQL Server IDENTITY columns when reverse-engineering
- Interactive SQL feature allows queries to be run directly against databases (useful for previewing Custom DAO code)
- Fixes JDBC issue when connecting to Sybase databases

Click here to download

Support for Apache Derby Embedded Database

Apache Derby is a pure Java embedded database. It is based on the IBM Cloudscape database engine, which was donated to the Apache Software Foundation in August 2004. Apache Derby can be downloaded here:

http://incubator.apache.org/derby/index.html

FireStorm/DAO 2.4 RC1 supports Apache Derby. To configure FireStorm/DAO for Apache Derby, set up the JDBC driver as follows:

JDBC Driver Class: org.apache.derby.jdbc.EmbeddedDriver
Classpath: derby.jar

The JDBC connection should be configured as follows:

JDBC URL: jdbc:derby:/path/database
Username and password should be left blank.

ResourceManager and Connection Pooling

FireStorm/DAO generates a ResourceManager.java source file which is responsible for connecting the database at runtime.

There are two different ResourceManager templates that ship with FireStorm/DAO - once based on JDBC (located in templates/jdbc) and one based on JNDI (located in templates/j2ee).

Both of these templates can be fully customizable. For example, you can modify the JDBC template to use a connection pooling library.

In the 2.4 GA release we will provide a choice of ResourceManager templates, including examples of connection pooling.

Please note that it is often simpler to use a version of your JDBC driver that already supports connection pooling.

February 14, 2005

FireStorm/DAO 2.4 Release Candidate 1

FireStorm/DAO 2.4 Release Candidate 1 is now available to download from:

http://www.codefutures.com/products/firestorm/download/

FireStorm/DAO 2.4 contains numerous usability enhancements, such as new intuitive wizards for importing database schemas and for generating code.

FireStorm/DAO 2.4 RC1 also includes basic support for Stored Procedures for Oracle, SQL Server, and Sybase. FireStorm/DAO will now generate a Stored Procedure DAO class for each Stored Procedure in the database and will allow the stored procedure to be invoked at runtime by calling an 'execute' method on that DAO and passing in the appropriate parameters. This release candidate does not yet allow the result sets returned by the stored procedure to be mapped to a DTO. This additional functionality will be available in the GA release which will be available later this month.


February 03, 2005

FireStorm/DAO 2.3 build 218

FireStorm/DAO 2.3 build 218 is now available to download from:

http://www.codefutures.com/products/firestorm/download/

Changes between 2.3 GA and 2.3 build 218:

  • Compatibility problem with MySQL Connector/J 3.1.6 resolved
  • Option to enable/disable Session Bean code generation now working
  • EJB DAO implementation now contains logging code
  • Added icons to Options/Drivers/Databases buttons on toolbar
  • Struts code generator now supports boolean types
  • Enterprise Edition features now correctly enabled when license key installed

October 12, 2004

FireStorm/DAO 2.3 RC1

FireStorm/DAO 2.3 Release Candidate 1 is now available to download.

Changes between 2.2 and 2.3:

  • New Windows Installer now creates Start Menu items and creates shortcut on desktop
  • Windows installation now contains firestorm.exe to launch GUI
  • To use FireStorm/DAO using command-line options use java -jar
  • lib\firestorm.jar [options] - see manual for details
  • Added support for Linux RPM installation
  • Added support for Mac OS X
  • Improved packaging and documentation
  • Added default JDBC settings for Sybase, Informix, Ingres, and SAP DB

February 29, 2004

FireStorm/DAO 2.1 ea4

The latest early access release of FireStorm/DAO 2.1 is now available to download from the following URL:

http://www.codefutures.com/products/firestorm/download/

The JSP/webapp code generation has been overhauled and now generates JSP/servlet code that uses model 2 MVC. Many bugs have been fixed and support for Tomcat 4 has been added.