History of Changes
Version 2.2.0 (2009/12/01)
- developer: cbe context: code type: update
- Improved implementation of type conversions in de.odysseus.el.misc.TypeConverterImpl.
- developer: cbe context: code type: add
- Added some more unit tests.
Version 2.2.0-rc3 (2009/11/08)
- developer: cbe context: code type: update
- If no properties are available in JUEL's expression factory (neither passed in nor from el.properties), use system properties if System.getProperty("javax.el.ExpressionFactory") points to JUEL.
- developer: cbe context: admin type: update
- Split code base into modules modules/api, modules/impl and modules/spi; added maven build for these.
- developer: cbe context: build type: add
- Separated the JAR service provider (META-INF/services/javax.el.ExpressionFactory) into its own juel-spi-2.2.x.jar. This allows to have juel-impl-2.2.x.jar on your classpath without forcing JUEL to be used by ExpressioonFactory.newInstance().
- developer: cbe context: code type: add
- Added ExpressionFactoryImpl.Profile enum type and several new constructors to easily choose between JEE5 and JEE6 (default) behavior.
- developer: cbe context: docs type: update
- Updated documentation for 2.2.
Version 2.1.3/2.2.0-rc2 (2009/10/09)
- developer: cbe context: code type: add
- Added ExpressionFactoryImpl(TreeStore store, TypeConverter converter) constructor.
- developer: cbe context: code type: fix thanks to: Pavel Vojtechovsky. fixes: 2871773
- Fixed: ListELResolver.getValue(...) should return null when index is out of range.
- developer: cbe context: code type: fix thanks to: Pavel Vojtechovsky. fixes: 2871795
- Fixed: second operand is always evaluated in and/or operations (e.g. ${true or false}).
- developer: cbe context: code type: fix fixes: 2822943
- Fixed: BeanELResolver should use Method.setAccessible(true).
- developer: cbe context: docs type: update
- Updated copyright notes.
Version 2.2.0-rc1 (2009/08/09)
- developer: cbe context: code type: add
- Implemented changes from JSR 245, maintenance release 2. This replaces JUELs proprietary API for method invocations. The BeanELResolver class now provides a generic default for method invocations using reflection. Method invocations are disabled/enabled via the javax.el.methodInvocations property.
Version 2.1.2 (2009/04/26)
- developer: cbe context: code type: fix thanks to: Gerhard Petracek. fixes: 2748538
- Fixed: for a single identifier expression ${foo}, ValueExpression.setValue(...) always calls ELContext.setValue(...), even if foo is bound to a variable.
- developer: cbe context: build type: update
- Renamed API/impl jars to juel-api-<version>.jar and juel-impl-<version>.jar to reflect maven artifact names juel-api and juel-impl.
Version 2.1.1 (2009/03/21)
- developer: cbe context: code type: add
- Added support for bracket operator in method invocations (e.g. ${foo[bar](baz)}).
- developer: cbe context: code type: add
- Added implementation of javax.el api classes.
- developer: cbe context: build type: update thanks to: Wolfgang Häfelinger.
- Updated pom.xml to package the following jar files: juel-<version>.jar, juel-<version>-api.jar and juel-<version>-impl.jar.
- developer: cbe context: code type: fix thanks to: Adam Winer. fixes: 2590830
- Fixed: SimpleContext.getVariableMapper() returns null
- developer: cbe context: code type: add
- Experimental support for syntax extensions.
- developer: cbe context: build type: update
- Reorganized project structure to meet maven's standard layout.
- developer: cbe context: code type: update
- Improved method invocation support by passing de.odysseus.el.misc.MethodInvocation as property to ELResolver.getValue(..., Object property).
- developer: cbe context: code type: add
- Added support for varargs.
- developer: cbe context: code type: add
- Introduce TypeConverter to allow for customized coercion rules.
- developer: cbe context: code type: remove
- Removed old TypeConversions (use TypeConverter.DEFAULT).
- developer: cbe context: docs type: update
- Update to fop-0.95-beta and forrester-0.3.3.
- developer: cbe context: admin type: update
- Moved to SVN.
Version 2.1.0 (2007/03/06)
- developer: cbe context: code type: update
- Use StringBuilder instead of StringBuffer (performance).
- developer: cbe context: code type: update
- Update API sources from glassfish.
Version 2.1.0-rc3 (2006/10/20)
- developer: cbe context: code type: fix thanks to: Frédéric Esnault.
- ListELResolver was missing in SimpleResolver's default chain of resolver delegates.
- developer: cbe context: code type: update
- Update API sources from glassfish.
- developer: cbe context: code type: update
- Minor performance improvements in type conversions and number operations.
Version 2.1.0-rc2 (2006/10/06)
- developer: cbe context: code type: update
- Relaxed matching of return type for nonliteral MethodExpression's. The actual method return type is checked be assignable to the expression's expected return type.
- developer: cbe context: code type: add
- Let ExpressionFactory's default constructor read properties from el.properties.
- developer: cbe context: admin type: update
- Updated API classes to include new API methods ExpressionFactory.newInstance() and ExpressionFactory.newInstance(java.util.Properties).
- developer: cbe context: build type: add
- Package Jars with META-INF/services/javax.el.ExpressionFactory to register JUEL as EL service provider.
- developer: cbe context: code type: add
- Added Builder.Feature.NULL_PROPERTIES to resolve ${map[null]}.
- developer: cbe context: code type: update
- Generified TypeConversions.coerceToEnum(...) and TypeConversions.coerceToEnum(...).
- developer: cbe context: code type: fix
- Coerce null function parameters whose type is primitive.
- developer: cbe context: code type: update
- Minor scanner cleanup.
- developer: cbe context: code type: update
- Increased default cache size to 1000.
- developer: cbe context: code type: update
- ExpressionFactoryImpl no longer final to allow customization by subclassing. E.g. using JUEL with JSF requires calling a default constructor.
Version 2.1.0-rc1 (2006/07/18)
- developer: cbe context: code type: add
- Added support for method invocations as in ${foo.bar(1)} (disabled by default).
- developer: cbe context: code type: fix
- Reject identifier instanceof.
- developer: cbe context: docs type: add
- Added "Advanced Topics" section.
- developer: cbe context: code type: remove
- Removed support for system property de.odysseus.el.factory.builder.
- developer: cbe context: design type: update
- Moved default tree cache implementation to package de.odysseus.el.tree.impl.
- developer: cbe context: design type: update
- Moved node implementation classes to package de.odysseus.el.tree.impl.ast.
- developer: cbe context: code type: remove
- Removed deprecated methods from SimpleResolver.
- developer: cbe context: code type: update
- Do not coerce null function parameters.
- developer: cbe context: code type: update
- Minor improvemnents in BooleanOperations and TypeConversions.
- developer: cbe context: code type: update
- Replaced JFlex scanner by handcoded scanner.
- developer: cbe context: code type: update
- Lazy initialize parser's lookahead token list.
Version 2.1.0-b2 (2006/07/01)
- developer: cbe context: docs type: add
- Added specification issues on number literals.
- developer: cbe context: code type: remove
- Finally removed the old JavaCC parser.
- developer: cbe context: docs type: add
- Added some more Javadocs.
- developer: cbe context: code type: fix
- Avoid NumberFormatException when parsing integer/floating point literals.
- developer: cbe context: code type: remove
- Removed staticTreeBuilder.DEFAULT constant.
- developer: cbe context: code type: fix
- Take builder and expected type into account when comparing tree expressions.
Version 2.1.0-b1 (2006/06/18)
- developer: cbe context: docs type: add
- Added documentation (HTML and PDF).
- developer: cbe context: code type: add
- Added TreeValueExpression.isLeftValue().
- developer: cbe context: code type: remove
- Removed ExpressionNode.isLiteralValue().
- developer: cbe context: build type: add
- Added more jar manifest attributes.
- developer: cbe context: build type: update
- Let javac include line and source debug information.
- developer: cbe context: code type: add
- Added secondary cache (WeakHashMap) to TreeCache.Default.
- developer: cbe context: code type: update
- Lazy initialize SimpleContext.ELResolver.
- developer: cbe context: code type: add
- Configure default builder class via system property de.odysseus.el.factory.builder.
- developer: cbe context: code type: update
- Added @Override annotations.
- developer: cbe context: code type: add
- Added SAX XML filter sample.
- developer: cbe context: code type: update
- Simplified SimpleResolver (now only handles top-level properties) .
- developer: cbe context: code type: update
- Deprecated SimpleContext.setValue(...) and SimpleContext.setFunctions(...). These methods will be removed in 2.1.0.
- developer: cbe context: code type: update
- Lots of minor refactorings.
Version 2.1.0-a3 (2006/06/04)
- developer: cbe context: code type: fix
- Re-throw NumberFormatException in number coercion as ELException.
- developer: cbe context: code type: fix
- Expected type now mandatory for value expressions.
- developer: cbe context: docs type: add
- Added SourceForge logo to JUEL home page.
- developer: cbe context: code type: add
- Added a calculator sample.
- developer: cbe context: code type: update
- Now use a new hand crafted top-down parser and a JFlex generated scanner. This almost doubles parsing performance!
- developer: cbe context: code type: update
- Moved the Javacc parser to package de.odysseus.el.tree.impl.javacc. By default, it is excluded from the JUEL jar file.
Version 2.1.0-a2 (2006/06/01)
- developer: cbe context: code type: update
- Include EL api sources from glassfish now (the tomcat6 code was too buggy). The sources are available under Sun's CDDL and are redistributed here. Also added a note on that in the README.txt file.
- developer: cbe context: code type: update
- Use pure Javacc parser. We no longer use the JJTree preprocessor. The AST classes are now Javacc independent and could easily be reused with other parser generators.
- developer: cbe context: code type: update
- Improved unit tests
- developer: cbe context: docs type: add
- Added some documentation
- developer: cbe context: code type: update
- Improved parse exception formatting
Version 2.1.0-a1 (2006/05/13)
- developer: cbe context: admin type: add
- Initial Release