blob: 1c622e19de89988c1081de8cecc0c79c3101a740 [file] [log] [blame]
Apache Empire-db
Copyright 2008-2022 The Apache Software Foundation
For more Information about a particular issue please visit
https://issues.apache.org/jira/browse/EMPIREDB
--------------
Release 3.0.0:
--------------
Summary: Release 3.0 features a complete API rework hence introduces breaking changes from the previous 2.x branch.
** Improvement
EMPIREDB-382 Core: Provide easy access to native DBMS functions
EMPIREDB-381 Core: Improve PostgreSQL Handler / Add Postgres specific functions
EMPIREDB-380 Core: Reintegrate spring-boot example for version 3
EMPIREDB-378 Core: PostgeSQL: SQL Pattern for TIMESTAMP Columns
EMPIREDB-374 Core: replace log4jv1 usage - EOL and with multiple security vulnerabilities
EMPIREDB-373 Core: Improve Automatic prepared statements with DBCommand
EMPIREDB-372 Core: Allow method chaining by returning this on some DBCommand and DBRecord methods
EMPIREDB-371 Core: Deferred identiy setting for DBRecord
EMPIREDB-370 Core: Allow alternative DBRecord implementations
EMPIREDB-369 Core: Improve typesafety by using generics
EMPIREDB-368 Core: New queryBean functions and Bean Rowset mapping
EMPIREDB-367 Core: New query type DataList as bean replacement
EMPIREDB-366 Core: Remove Serializable from DBObject
EMPIREDB-365 Core: Add support for Java 8 time api
EMPIREDB-364 Core: Handle rollback on DBRecord to restore state
EMPIREDB-363 Core: New DBContext as replacement for Connection param
EMPIREDB-362 Core: Version 3 Complete API Rework
** Bugfix / Other
EMPIREDB-375 Struts: Removed support for Struts2 and all its modules due to outdated Struts version
EMPIREDB-376 Core: Do not use insecure http endpoints when doing maven build
EMPIREDB-377 JSF: Page - addFacesMessage always issues WARN-Message
--------------
Release 2.5.1:
--------------
** Improvement
EMPIREDB-361 JSF: NumberFormat allow MaximumFractionDigits<>MinimumFractionDigits
EMPIREDB-360 JSF: Add check for null on ValueExpressions supplied with input or control tag.
EMPIREDB-359 Core: Allow multiple occurrences of column placeholder in function expression template
EMPIREDB-358 Core: New example project for spring-boot integration
EMPIREDB-355 JSF: JSF extensions: Allow SelectControl to be rendered as listbox
EMPIREDB-354 Core: Miscellaneous small improvements
EMPIREDB-353 Core: Provide default implementation für delete with joins
EMPIREDB-351 Core: Improve ObjectUtils
EMPIREDB-350 JSF: Allow LInkTag to render child elements
EMPIREDB-349 Core: Improve DateUtils / add compare function
EMPIREDB-348 JSF: Improve readonly detection for InputContols, allow override
EMPIREDB-346 Core: Improve Enum value conversion / allow custom conversion
EMPIREDB-345 JSF: JSF TextAreaInputControl: add css style for rows and cols
EMPIREDB-344 Core: Allow replacement of select expressions in DBCommand
EMPIREDB-343 JSF: JSF InputControl: Allow override readonly attribute
EMPIREDB-342 Core: Impove allowed expressions for joins
EMPIREDB-341 Core: Improved table cloning for multiple- and self-joins
EMPIREDB-337 JSF: JSF Improve TabViewTag with option to hide tabBar
EMPIREDB-336 Core: Add validity checks for Join expressions
EMPIREDB-334 Core: Improve customizablity of data model code generation
** Bugfix
EMPIREDB-357 Core: StringUtils.compareEqual fails for arguments null + empty string
EMPIREDB-356 Core: SelectInputControl: option label not correctly updated
EMPIREDB-352 Core: DBExpr.getValueClass should return String.class for DataType CHAR
EMPIREDB-347 Core: Avoid unneccessary instances of SimpleDateFormat in ObjectUtils
EMPIREDB-340 Core: Omit command param if value is null
EMPIREDB-335 JSF: JSF add missing format option "nolookup" for text controls
EMPIREDB-333 Core: Fix Problem with parameter propagation for nested queries
EMPIREDB-332 Core: codegen example incorrect pom entries
EMPIREDB-331 Core: DBRowSet:initRecord falsely intializing fields with NO_VALUE
--------------
Release 2.5.0:
--------------
** Improvement
EMPIREDB-329 Core: Add full join support for column joins
EMPIREDB-328 JSF: Add css style class to input element if value of input control was modified
EMPIREDB-327 JSF: CheckboxInputControl ignores isFieldReadOnly
EMPIREDB-325 JSF: TextInputControl: required-Styleclass is not updated after ajax call
EMPIREDB-324 Core: Add caseWhen expression for multiple conditions
EMPIREDB-322 Core: Add DataModelChecker for SQL-Server
EMPIREDB-321 JSF: TextInputControl: Improve the ability to implement custom parsing
EMPIREDB-319 Core: Improve partial record handling
EMPIREDB-317 JSF: Improve TagEncoding inside UIData components
EMPIREDB-315 Core: Extend Options allowing Entries to be active/inactive
EMPIREDB-314 Core: Add support for the SQL format function
EMPIREDB-312 JSF: Allow to customize whether to render the Input or the Value
EMPIREDB-311 Core: Allow Column Expression to be use with ValueTag
EMPIREDB-310 JSF: Improve ParamterMap for request parameter handling
EMPIREDB-308 JSF: WebApplication: Add "destroy"-method
EMPIREDB-307 JSF: Allow overrides of TagEncodingHelper class
EMPIREDB-306 JSF: Improve JSF Taglib support
EMPIREDB-305 JSF: Allow InputControl to render value wrapper tag
EMPIREDB-304 Core: Add isEnum() function to Column indicating whether an Enum-type has been set
EMPIREDB-303 Core: Add support for Unique-Indexes which allow null values
EMPIREDB-301 Core: DBCommandExpr: expose orderBy
EMPIREDB-300 JSF: Problem with prepared statements when using booleans with SelectInputControl
EMPIREDB-299 Core: Improve Oracle update statements using "MERGE INTO"
EMPIREDB-298 JSF: Allow update of required style after Ajax request with SelectInputControl
EMPIREDB-296 JSF: Allow page-specific idParams in ParameterMap
EMPIREDB-294 Core: Allow functions and command expression to be used as record values
EMPIREDB-293 Core: Allow driver to distinguish between DATETIME and TIMESTAMP
EMPIREDB-291 Core: Make table definition for update timestamp simpler
EMPIREDB-290 Core: Provide additional overloads to DBTable.addColumn for Enum value types
EMPIREDB-289 Core: Rename DataType TEXT to VARCHAR to align with SQL specification
EMPIREDB-288 JSF: Provide handler for view not found in web application
** Bugfix
EMPIREDB-326 Core: Fix DateTime conversion in ObjectUtils
EMPIREDB-323 Core: Fix multiple sql-functions on same column not possible with DBCommand
EMPIREDB-320 JSF: Fix skip default JSF input validation
EMPIREDB-318 Core: Fix field resolution failure for expressions with no UpdateColumn in DBQuery
EMPIREDB-316 JSF: Control-Rendering: distinguish between disabled and readOnly
EMPIREDB-313 JSF: Fix SelectInputControl not working for numeric enum columns
EMPIREDB-309 JSF: Fix JSF-LabelTag must not implement NamingContainter
EMPIREDB-302 JSF: Fix Support for NULL values in CheckboxInputControl
EMPIREDB-297 Core: Fix CodeGenerator failure for NVARCHAR columns in SQL-Server
EMPIREDB-295 Core: Fix incorrect From clause when using function expressions
EMPIREDB-286 JSF: Fix ControlTag using "colon"-Attribute for label rendering
EMPIREDB-285 Core: Fix correctly escape sequence name when dropping tables
EMPIREDB-283 Core: Fix PreparedStatements not working with MS SQL-Server >= 2016
EMPIREDB-281 JSF: Fix Allow modifying options with SelectInputControl in Ajax request
EMPIREDB-280 Core: Fix incorrect validation of null values in DBRecord.setValue
--------------
Release 2.4.7:
--------------
** Improvement
EMPIREDB-278 Provide new accessors for Enum values on records
EMPIREDB-277 JSF2 Extensions: Allow other inputControl to be used with selectTag
EMPIREDB-276 Add support for pseudo table (like DUAL in Oracle)
EMPIREDB-275 Allow provision of sequence gerneration expression for bulk insert statements
EMPIREDB-274 Oracle: Correct MergeInto syntax
EMPIREDB-272 Provide easy way to select column with a qualfied alias
EMPIREDB-271 New application example with Vue.js framework and REST service
EMPIREDB-270 JSF2 Extensions: Allow records to provide context specific css styles for JSF tags
EMPIREDB-267 Allow DBCmdParams to be used as a value expression in an SQL statement
EMPIREDB-266 Map query columns in DBReader to underlying table columns
EMPIREDB-264 MySQL Driver: Update Keywords for version 5.7
EMPIREDB-262 Add special enum handling to ObjectUtils.compareEqual function
EMPIREDB-258 MS-SQL Server: Improve Driver to support latest features
EMPIREDB-256 Allow page redirect in overrides of method Page.checkPageAcces()
EMPIREDB-254 Allow detection and handling of constraint violations when inserting or updating records
EMPIREDB-253 Add UNION ALL support to DBCommand
EMPIREDB-252 MySQL: Added Support for database specific CodeGenParser
EMPIREDB-251 MySQL: Added Support for TINYINT, MEDIUMINT Integer Types
** Bugfix
EMPIREDB-280 DBRecord.setValue does not correctly validate null for new records
EMPIREDB-279 Sequences left after dropping my Database. Can't create a new one.
EMPIREDB-273 Improve multi-region support in TagEncodingHelper / TextInputControl
EMPIREDB-269 DBDatabaseDriverPostgreSQL: wrong SQLPhrase for DBSystemDate
EMPIREDB-265 DDL syntax for DROP statements contains invalid quotes when a schema name is given.
EMPIREDB-263 Not possible to set skipRows unless limitRows is also set
EMPIREDB-261 DBCommand is not re-usable, when a CLOB column is involved
EMPIREDB-255 Compiler error in code generated from codegen plugin
EMPIREDB-250 MySQL: wrong SQL for CREATE VIEW with DBCombinedCmd
--------------
Release 2.4.6:
--------------
** Improvement
EMPIREDB-252 Add Support for database specific CodeGenParser
EMPIREDB-251 Add Support for TINYINT, MEDIUMINT Integer Types for MySQL
EMPIREDB-249 Add "format" Support to MySQL convert expression
EMPIREDB-245 Add Support for DELETE with JOIN for MySQL
EMPIREDB-243 Add Eclipse m2e plugin lifecycle mapping
EMPIREDB-242 Explicitly declare cross joins
EMPIREDB-238 Miscellaneous small improvements
EMPIREDB-237 Add support for the modulo function in SQL generation
EMPIREDB-235 Improve Empire-JSF-Extensions for JSF 2.2
EMPIREDB-233 Remove MSSQL DateFormat dependency
EMPIREDB-232 Support InputControls to work correctly in MyFaces and inside UIData components
EMPIREDB-231 Improve CheckboxInputControl
EMPIREDB-229 Code cleanup and adjustment of maven project settings
EMPIREDB-228 Allow access to TagEncodingHelper in derived classes
EMPIREDB-227 Spring Integration including example
** Bugfix
EMPIREDB-248 date functions not properly handled in PostgreSQL
EMPIREDB-246 Label Required Mark check inconsistent
EMPIREDB-241 Error in lower() implementation for PostgreSQL
EMPIREDB-240 Update Spring dependencies in examples
EMPIREDB-239 Enum-handling: take name or ordinal as field value
EMPIREDB-236 Subquery join with DBQuery produces invalid join
EMPIREDB-230 MSSQL DDL generates incorrect data type for BLOB with nonzero length
EMPIREDB-226 Empire generates incorrect SQL when DBCommand's where list is empty
--------------
Release 2.4.4:
--------------
** Improvement
EMPIREDB-221 Allow batch execution through JDBC executeBatch
EMPIREDB-220 Allow override of fraction digits on JSF input tag
EMPIREDB-219 Added source code for Eclipse-Code-Generation-Plugin
EMPIREDB-217 Consistency check for data model definition vs deployed data model
** Bugfix
EMPIREDB-223 join function in DBCommand requires a DBColumn instead of a DBColumnExpr
EMPIREDB-218 Missing reserved keywords in DBDatabaseDriverMySQL
EMPIREDB-216 Reserved words as column names not correctly escaped/quoted for derby
EMPIREDB-215 Sequence generation and use for HSql to not agree in using toUpperCase
EMPIREDB-214 SQLServer - wrong 'alterColumnPhrase'
EMPIREDB-212 MySQL Nested Union bad syntax
EMPIREDB-210 Wrong Java Type in Records for BLOB Columns
EMPIREDB-209 Using a reserved word as a column alias in a select statement.
EMPIREDB-208 Decimal fields don't support scales above 9
EMPIREDB-125 Problem with the location of velocity templates on the code generator
--------------
Release 2.4.3:
--------------
** Improvement
EMPIREDB-127 Switch to Apache Maven 3.0.x
** Bugfix
EMPIREDB-206 ExpireException may throw an ArrayOutOfBoundsException
EMPIREDB-205 DBColumn implements equals() but not hashcode()
EMPIREDB-204 PostgreSQL not supports size parameter on BYTEA
EMPIREDB-202 BeanListPageElement does not navigate back to page 0.
EMPIREDB-201 BeanListPageElement.getItemQueryCmd does not clear limit and skip rows
EMPIREDB-194 DBSQLScript: allow to insert statements
--------------
Release 2.4.2:
--------------
** Improvement
EMPIREDB-192 Implement limitRows and skipRows for Oracle
EMPIREDB-190 Improve DDL Syntax by allowing variable parameters for primary key and relations
EMPIREDB-188 Allow replacement of statements in a DBScript
EMPIREDB-183 Allow enabling / disabling foreign key constraints
EMPIREDB-180 Strip Mojarra dependency from JSF2 extensions and show use of MyFaces in example
EMPIREDB-178 Improve JSF example, add business logic for retired state
EMPIREDB-173 Switch to ASF Parent 13 POM
EMPIREDB-170 extend DBDatabase.querySingleValue to utilize DataType
** Bugfix
EMPIREDB-193 DBRowSet has an equals() implementation but no hashCode() implementation.
EMPIREDB-191 The spring example does not release connections.
EMPIREDB-189 DBDatabase.getSingleInt with default does not return the default but throws an exception.
EMPIREDB-185 MenuListTag not working in MyFaces
EMPIREDB-182 Wrong datatype for uniqueid in SQLServer
EMPIREDB-181 Do not check for item count in ListPageElement.isValid()
EMPIREDB-179 String to date conversion: use SimpleDateFormatter
EMPIREDB-177 Allow date entry in JSF-inputText
EMPIREDB-175 rename misleading method name that falsely suggests a redirect
EMPIREDB-171 ObjectUtils.compareEquals fails on BigDecimal
--------------
Release 2.4.1:
--------------
** Improvement
* [EMPIREDB-169] - Allow access to page properties in resource requests via EL.
* [EMPIREDB-168] - Extend JSF2 Input Controls by adding missing attributes and improve input value parsing and validation.
* [EMPIREDB-167] - Review DBRecord state handling. Changed state from int constants to state enum. Improved method overrides
* [EMPIREDB-165] - JSF2: detect model changes for record bound input controls
* [EMPIREDB-164] - Check Numeric values when encoding sql commands. New method DBDatabaseDriver.getSQLNumberString()
* [EMPIREDB-163] - New function Record.isFieldRequired() to determine whether a field is required or not
* [EMPIREDB-162] - JSF2: Support partial submits for Input control validation. Overridable method FacesApplication.isPartialSubmit()
* [EMPIREDB-161] - JSF2: Format and parse Input Values with according to the users locale
* [EMPIREDB-160] - JSF2: Preserve submitted form values when validation error occurs
* [EMPIREDB-158] - Avoid accidentally missing command parameter values when using DBDatabase.executeSQL. New executeInsert, executeUpdate and executeDelete on DBDatabase.
* [EMPIREDB-157] - Miscellaneous small improvements such as new overloads and improved JavaDoc
** Bugfix
* [EMPIREDB-171] - ObjectUtils.compareEquals returns false for BigDecimals with equal value but different scale
* [EMPIREDB-166] - Overwriting set expressions does not remove prepared statement parameter
* [EMPIREDB-154] - <e:input> component failed inside a datatable
* [EMPIREDB-153] - DBDatabaseDriverPostgreSQL.createReverseFunction throws syntax error exception
--------------
Release 2.4.0:
--------------
** New Feature
* [EMPIREDB-140] - New Empire-db JSF extensions project (empire-db-jsf2) allows simplified web development with JFS 2.x implementations. An example project is also provided.
** Improvement
* [EMPIREDB-149] - Simplified access to foreign key relations (see DBTable.getForeignKeyRelations())
* [EMPIREDB-145] - Allow using DBQuery with UNION and INTERSECT commands
* [EMPIREDB-144] - Allow generation of update commands with join expressions
* [EMPIREDB-143] - Provide access to native error message for SQL exceptions
* [EMPIREDB-142] - Allow compare expressions to be wrapped with parenthesis
* [EMPIREDB-141] - Miscellaneous small improvements
* [EMPIREDB-138] - Optimized serialization by making database and rowset references transient
** Bugfix
* [EMPIREDB-151] - DBDatabaseDriverHSQL fails on selection of NEXT VALUE
* [EMPIREDB-150] - <sample:formInputRow> component failed to parse/resolve the "for" attribute
* [EMPIREDB-146] - Blob data type is not working with postgresql under v2.3
* [EMPIREDB-147] - BLOB datatype under empire 2.3.1-SNAPSHOT
--------------
Release 2.3.0:
--------------
** New Feature
* [EMPIREDB-79] - Allow specification of delete action for each DBRelation (ON DELETE CASCADE)
** Improvement
* [EMPIREDB-137] - Extend Record and Column interfaces by Record.isReadOnly() and Column.validate() methods
* [EMPIREDB-133] - Simplify use of DBCommand:DBCommandParam class
* [EMPIREDB-129] - Allow expression based indexes
* [EMPIREDB-126] - Various small improvements, like new method overloads, code and javadoc cleanup, etc.
* [EMPIREDB-123] - Allow to specify the character column length in bytes (Non-Unicode) or chars (Unicode) for DDL generation
** Bugfix
* [EMPIREDB-136] - DBCommand.clone() modified to produce an independent clone of the original command.
* [EMPIREDB-135] - Suppress column alias inside concatenations
* [EMPIREDB-132] - Fix support for CLOB data type in Postgre SQL
* [EMPIREDB-130] - Prepared Statements: Convert Enums to String to avoid SQLException
* [EMPIREDB-128] - Velocity Template Table.vm does not handle tables without primary keys
* [EMPIREDB-124] - Added missing Serializable on class commons.Options and commons.OptionEntry
* [EMPIREDB-122] - Fixed support for Update/ Insert of Chinese characters with non-prepared statements
* [EMPIREDB-121] - Fixed lower case expression for SQL-Server (lower instead of lcase)
* [EMPIREDB-120] - Fixed FieldIllegalValueException for DataType.DATETIME and DataType.DATE if the value is empty (but DBTableColumn is nullable)
--------------
Release 2.2.0:
--------------
** New Feature
* [EMPIREDB-110] - Add support for reverse-engineering of foreign-key relationships
** Improvement
* [EMPIREDB-99] - Remove optional support for old style error handing
* [EMPIREDB-103] - reduce getDDLScript duplicate code
* [EMPIREDB-115] - Add parenthesis to the first select of a union/ intersect and allow driver to implement limit() and skip()
* [EMPIREDB-116] - Add support for multi column foreign-keys to code generator
* [EMPIREDB-117] - Allow Table, View and Column prefixes in generation process
** Bugfix
* [EMPIREDB-104] - Create DDL Script on MSSQL should state not CREATE DATABASE if already exist
* [EMPIREDB-105] - Support of long integer fields on MS SQL Server
* [EMPIREDB-107] - Limit function for postgres sql not implemented
* [EMPIREDB-109] - Missing conversion for Type double in ObjectUtils.convert
* [EMPIREDB-113] - Should preserve the decimal digits of DECIMAL columns
* [EMPIREDB-118] - Prevent columns to be added twice to a table or view
The following older issues are categorized as follows:
[{C=Core}|{S=Struts Extensions}|{E=Examples}|{O=Other}
/{N=New Feature}|{B=Bug fix}|{I=Improvement}]
--------------
Release 2.1.0:
--------------
Major new features:
- New and improved utilization of prepared statements which can be enabled / disabled by database property.
- Use of SLF4J instead of log4j
EMPIREDB-101- [C/I]: Create DDL Script on MySQL should state CREATE DATABASE IF NOT EXISTS
EMPIREDB-100- [C/I]: Support of long integer fields for H2, Derby and MySQL
EMPIREDB-97 - [C/I]: Added serialization to Empire-DB objects
EMPIREDB-95 - [C/I]: Code optimizations/cleanup and javadoc improvements
EMPIREDB-94 - [C/B]: Added Postgre and Derby bigint support
EMPIREDB-93 - [C/B]: DBRowSet.updateRecord log output does not report column name properly
EMPIREDB-92 - [C/I]: Switch to Apache Parent pom version 8
EMPIREDB-91 - [C/I]: Increase and optimize the use of prepared statements
EMPIREDB-81 - [C/B]: Endless loop in DBSeqTable#getNextValue() fixed
EMPIREDB-77 - [C/I]: Removed the Log4J compile-time dependency by switching to slf4j (same also EMPIREDB-38)
EMPIREDB-38 - [C/I]: Switched from log4j to slf4j
--------------
Release 2.0.7:
--------------
Major new features:
- Switched to latest struts version and added portlet support to struts2 extensions
- Support for limiting the number of rows returned by a query.
EMPIREDB-90 - [C/B]: The "createRecordProperties" switch in the codegenerator's configuration works not properly.
EMPIREDB-89 - [S/I]: Update Empire-Struts-Extensions to Struts 2.2.1 and provide Portlet Support
EMPIREDB-88 - [C/B]: CodeGenerator generates uppercase fieldnames where empire code expects lowercase names
EMPIREDB-87 - [C/I]: Use EXTRACT() function to extract the day, month or year from a date column in Oracle
EMPIREDB-86 - [C/B]: Correct some typos in the javadocs
EMPIREDB-85 - [C/I]: Remove declarations of unused dependencies (from pom.xml)
EMPIREDB-84 - [C/B]: Typo in section "Empire-db and Struts2 � Forms and controls"
EMPIREDB-82 - [C/B]: Cloning does not work if DBTable's column (DBColumn) are declared final (as per shipped examples). Causing table alias in resulting SQL queries to be wrong
EMPIREDB-62 - [C/N]: Allow to set limit for maximum number of rows returned
EMPIREDB-60 - [C/B]: Cloning of columns is restricted to current class
--------------
Release 2.0.6:
--------------
Major new features:
- Code-Generator allows generation of Data Model code files for existing databases
- Maven plugin for DB-Code-Generator
- New example to demonstrate interoperability between Empire-db and Spring
- Provided jars are now OSGi compatible
Issues resolved:
EMPIREDB-76 - [C/B]: Erroneous translation of DataType.DOUBLE for postgres
EMPIREDB-73 - [C/N]: Spring interoperability example provided by Eike Kettner
EMPIREDB-72 - [C/I]: Change various private modifiers to protected to allow overrides
EMPIREDB-71 - [C/I]: New enumeration DataMode for column classification as a replacement for the required flag
EMPIREDB-70 - [C/B]: Corrected MySQL indentifier quote
EMPIREDB-67 - [C/I]: Allow selection of (Mysql) Database Engine
EMPIREDB-64 - [C/N]: CodeGenerator Maven Plugin
EMPIREDB-63 - [C/I]: Provide overloads for DBDatabase.queryObjectList() and querySimpleList() to allow using other collection types.
EMPIREDB-59 - [C/B]: HSQL double has hard-coded illegal precision (FLOAT(80)) for HSQL 1.8
EMPIREDB-57 - [C/B]: HSQLDB driver fails to retrieve next sequence value for lower case sequence name
EMPIREDB-56 - [C/B]: getValue Function on DBReader does not fail on errors.
EMPIREDB-52 - [C/N]: CodeGenerator module for generating database definition code files from existing databases
EMPIREDB-35 - [C/I]: Make sure our jars are OSGi compatible
--------------
Release 2.0.5:
--------------
Major new features:
- Maven project management
- New database handlers for Apache Derby, H2, PostgreSQL
- New Examples showing WebService integration using Apache CXF
- Empire-DB Struts2-Extensions' dependencies updated from Struts 2.0.11 to Struts 2.1.6
Issues resolved:
EMPIREDB-49 - [C/B]: The generation of table, view and query aliases now uses thread-safe counters
EMPIREDB-46 - [C/B]: datetime-phrase issue in DBDatabaseDriverDerby
EMPIREDB-45 - [S/I]: Update struts extensions to accomodate latest struts release
EMPIREDB-44 - [C/B]: error using apache derby and CLOB datatype
EMPIREDB-42 - [C/I]: Extend DBReader to provide query results in a hash set
EMPIREDB-41 - [C/I]: Deal with databases differences regarding SQL reverse function
EMPIREDB-40 - [C/B]: Postgresql cast problem
EMPIREDB-37 - [C/N]: PostgreSQL "BLOB" type not exist but is possible to create a "bytea" column
EMPIREDB-36 - [E/N]: New WebServices integration example using Apache CXF
EMPIREDB-34 - [C/I]: Add support for stmt.executeUpdate with Statement.RETURN_GENERATED_KEYS instead of getPostInsertAutoIncValue()
EMPIREDB-33 - [S/B]: BeanRecordProxy isFieldReadOnly wrong for new records
EMPIREDB-32 - [C/N]: Unit tests
EMPIREDB-31 - [E/B]: Advanced sample throws SQLException (wrong db user)
EMPIREDB-30 - [C/N]: Support for PostgeSQL
EMPIREDB-29 - [O/N]: Switch to Maven project management
EMPIREDB-28 - [E/B]: SampleConfig in the demo application has invalid user
EMPIREDB-27 - [C/B]: HSQLDB driver doesn't support conversion of value to DOUBLE
EMPIREDB-26 - [S/I]: Extend HTMLTagDictionary to allow default cssClass for all input types
EMPIREDB-25 - [C/I]: Implement getAttribute and setAttribute on BeanProperty class
EMPIREDB-24 - [S/I]: Allow textarea to handle keypress and keyup events in order to check the maximum length of input
EMPIREDB-23 - [C/B]: Maximum size is not passed to error message handler for DBErrors.FieldValueTooLong in DBTableColumn::checkValue
EMPIREDB-22 - [C/B]: deleteReferenceRecords() does not sort the depending records by id
EMPIREDB-21 - [S/I]: Allow empty record item parameter: The function getRecordKeyFromString should return null if the item string consists of the new item flag only.
EMPIREDB-20 - [C/B]: Convert to char doesn't work for hsqldb
EMPIREDB-19 - [S/B]: The form tag's "target" attribute is not rendered in HTML code
EMPIREDB-18 - [C/B]: DBRecord.setModified(column, isModified) doesn't set the record state back from modified to valid
EMPIREDB-17 - [S/B]: Checked attribute does not work on radio button tag.
EMPIREDB-16 - [S/I]: Tag library definition does not allow java expressions for the cssClass attribute
EMPIREDB-15 - [C/B]: Record fields are not cleared properly by createRecord.
EMPIREDB-14 - [S/I]: Allow javascript code on anchors
--------------
Release 2.0.4:
--------------
EMPIREDB-13 - [S/I]: Add column attribute to radioButtonTag and onClick attribute to menuItemTag
EMPIREDB-12 - [S/I]: Allow reloading of current record from the session
EMPIREDB-11 - [S/I]: WebAction.clearActionErrors does not remove Error from the session
EMPIREDB-10 - [S/I]: Allow setting of record property name with control tag
EMPIREDB-09 - [O/I]: Move build.xml from src directory to root directory. Change distribution scripts to meet apache incubator requirements.
EMPIREDB-08 - [C/I]: Restrict access to DatabaseDriver object for all subclasses of DBColumnExpr to the addSQL function.
EMPIREDB-07 - [C/I]: Add support for CASE WHEN expression with new class DBCaseExpr.java
EMPIREDB-06 - [C/I]: Support for quoting of table, view and column names added.
--------------
Release 2.0.3:
--------------
EMPIREDB-5 - Added missing ASF headers. See JIRA for further information.
EMPIREDB-4 - Fixed several DBDatabaseDriverHSql bugs. See JIRA for further information.
EMPIREDB-3 - Added "useQuotes" property to DBColumn.
PRE-114: - All package names changed to org.apache.empire.
--------------
Release 2.0.2:
--------------
PRE-113: - NEW FEATURE: class BeanRecordProxy<T> implements the Record interface of any given JavaBean object.
PRE-112: - NEW FEATURE: classes BeanDomain, BeanClass and BeanProperty allow metadata defition for JavaBean objects using the Column interface.
PRE-111: - DBDatabaseDriverOracle: new implementation for checkDatabase
PRE-110: - Method getSourceColumn added for data.Column
PRE-109: - DBRecordData: Type conversion moved to ObjectUtils
PRE-108: - NEW FEATURE: createView implemented for all Database Drivers
PRE-107: - DBView: canUpdateReocrds = Flag for updateable and non-updateable Views;
--------------
Release 2.0.1:
--------------
PRE-106: - NEW FEATURE: DBDatabaseDriverMySQL: Driver for MySQL 5 added.
PRE-105: - NEW FEATURE: DBColumnExpr: Added Support for REVERSE() and INSTR() SQL Functions
PRE-104: - BUGFIX: DBRecord::getFieldValue(): Field Access to invalid DBRecord returned Boolean FALSE instead of null.
PRE-103: - DBDatabaseDriver: Function isSupported() and getPostInsertAutoIncValue() added
PRE-102: - DBColumnExpr: Substring function now excepts column expressions
PRE-101: - DBSQLScript: New class to replace StringBuilder for DDL Script generation. See also DBDatabase::getCreateDDLScript()