Changelog OpenXava 5.8.1
Changelog OpenXava 5.8.1
Changelog OpenXava 5.8.1
===============================
JAVA API
- View.getRemoveSelectedInCollectionAction() renamed to
View.getRemoveSelectedCollectionElementsAction()
- Protected method removeSelected added to RemoveSelectedInCollectionAction in
order to facilitate the refiniment of the action.
MISC
- deployEJB (in OpenXava/build.xml) copy all hibernate jars to the ear in order to
use Hibernate inside EJB2.
- New ant target in OpenXava/build.xml 'generatePortlets' that generates a war file
in portlet format but it does not copy it to deploy directory.
- Logging of i18n problems is now low (only short warning messages). No exception
is shown now.
- Removed commit from list.jsp. Now in order to work with WebSphere you need to
configure your hibernate.cfg.xml. Look at OpenXavaTest/hibernate.cfg.xml adn
OpenXavaTest/websphere-as400.properties to see an example.
- Hibernate Entity Manager and Hibernate Annotations updated to 3.2.1
- DateTimeFormatter improved for Polish locale.
- New property javaLoggingLevel available in xava.properties to specify the log
level for the OX applications.
- No cache is used for OX portlets. expiration-cache is 0 in portlet.xml generated
by OpenXava.
- Polish translation for labels and messages.
- wtpBuild ant target is dropped from OX. You can use 'rebuild' ant target instead.
- New demo project ProductSale added.
- Style of frame for collection elements supports Liferay.
- The OX jsp are always updated in OX applications, in this way when a new OX
version is updated the OX code in applications is update without problems
- Removed incorrect stack trace about JPA when a datasource cannot be obtained,
even if the application does not use JPA the trace was shown.
- The properties in the files inside WEB-INF/classes have always preference,
independently of classloader configuration of application server.
- Choosing the encoding for portlet.xml is posible using portlet.encoding property
in build.xml.
FIXES
- Fix: Maps.treeToPlains did not work with more than 2 levels.
- Fix: Action for references (search, create, modifying) did not support more than
2 nested level.
- Fix: javaLoggingLevel property in xava.properties had no effect inside junit
test. Also now trim() is done before parse its value.
- Fix: Typing @ in a windows using a view with sections changes the current tab.
This may affect to all AltGr characters.
- Fix: In view: Layout a reference besides to the next reference does not work (the
next one was placed below).
- Fix: Java 5 was required for portlet generation. Now it works (again) with Java
1.4
- Fix: Calendar for date editor does not work in a module called from another
module.
- Fix: Portlets does not work in WebSphere Portal 5.1
- Fix: HtmlPortlet does not recognize the language correctly.
- Fix: Searching on focus lost in references with hidden key fails in the second
attempt.
- Fix: Image for editing in HTML_TEXT stereotype was missing.
- Fix: MetaValidators.findFromParent print a NullPointer stacktrace if the type is
an interface.
- Fix: ModuleTestBase.assertListNotEmpty() works well, before one line list was
considered as empty.
XML SYNTAX
- New attribute modify (to disable/enable 'modify link') in <reference-view/>
- New attribute modify-reference (to disable/enable 'modify link') in <collection-
view/>
- New attribute scale (useful for creating a more accurate hiberante mapping) in
<property/> (by Radoslaw)
- New attribute aligned-by-columns for <group/> and <section/> in views. It allows
layout the members by columns, as in a table.
JAVA API
- ModuleTestBase.getProperty now is public and static in order to access to xava-
junit.property from any place.
- New method ModuleTestBase.setLocale to change the locale of the client at
runtime.
- Strings.change allows sending null as string.
- View class has this 3 new methods: putObject(), getObject() and removeObject()
that allow to associated arbitrary objects to a view.
- Method Dates.cloneWith2359() added. To clone a date but with time 23:59:59 999
- INCOMPATIBITY: Dates.clonWithoutTime() renamed to Dates.cloneWithoutTime()
MISC
- Style works fine in Liferay, adapting well to all look & feels.
- Updated to Hibernate 3.2.1
- Liferay style integration improved.
- XavaSuite works at 100% agains Liferay 4.1.3.
- Logging using apache commons loggins instead of
System.out/System.err/printStackTrace.
- Default value (3000) for HTML_TEST/TEXTO_HTML stereotype.
- StringArrayBytesConverter supports Blob as column type in DB.
- StringTimeFormatter (used by TIME/HORA stereotype) format using 5 digits.
- Referencing in 'from' attribute of a calculator inside an aggregate to properties
of the parent model are allowed (look at section 3.8.4 of reference guide)
- ConcatCaculator now admits until 5 strings/ints
- MetaProperty.parse converts empty string in null (instead of 0) for all value of
type Number. This can produce some little INCOMPATIBILITIES (now blanks are shown
where before 0 was shown).
- It's possible to create a folder named 'public' inside our OX project then all
JSP inside it will be always public and accessibles even in a Portal.
- Date format and parse are done depending on browser locale.
- Ant target 'redeployPorlets' added to OpenXava/build.xml and used from all OX
projects.
- java.sql.Time are parsed using 24 hours format in all locales by default.
- Some correction in translations for object_not_found.
- ModuleTestBase.setValue(String model, String name, String value) throw onchange
events as the
setValue(String name, value) does.
- JasperReport version returns to 1.1.1, because 1.2 has problems in some
J2EE/portals server (WAS 5.1 + WPS 5.1 in an IBM iSeries)
- The ant target 'clearGeneratedCode' does not fail although the gen-src (used only
in EJB) does not exist.
- portlet.xml is generated using UTF-8.
- NotNullDateConverter now supports java.util.Date.
- java.sql.Time supported (including JasperReport generation).
- TimeFormatter renamed to StringTimeFormatter.
- IBM WebSphere Portal 6.0 tested and supported
- IChangeModeAction allows to change to PREVIOUS_MODE, in addition to DETAIL and
LIST.
- Using <env-var name="XAVA_LIST_ACTION" value=""/> on defining a module in
application.xml the detail action in each row is missing.
- The buttonBarOnTop and buttonBarOnBottom properties of xava.properties are not
longer used
FIXES
- Fix: htmlEditor does not work inside portal
- Fix: "order by" links in list mode are displayed ugly in JetSpeed2.
- Fix: String (or any other type) for property type and byte [] for cmp-type
supported in Hibernate.
- Fix: Stacktrace is shown in trace when a label is not in i18n files.
- Fix: default value calculators do not work in collection of entities displayed as
aggregates
- Fix: Calculated properties inside a section that depend on a property on other
section is not recalculated well.
- Fix: util.Server restore XHibernate.isCmt state correctly. In order to use Server
from calculators when you use hibernate + ejb.
- Fix: Javascript calendar for date fails in Liferay.
- Fix: Actions of references do not work inside nested sections.
- Fix: Filtering in list by java.sql.Time does not work.
- Fix: Filtering in list mode using other operators than '=' fails using Timestamp.
- Fix: Focus does not work well inside a portal.
- Fix: A blank line at first of the module using Internet Explorer.
- Fix: Exporting to excel does not work inside JetSpeed 2.
- Fix: On creating a new object from reference, when we are creating an object from
a reference (more than 1 nested level) the reference in the original view is not
filled.
- Fix: Parsing numbers in Polish fails if the number is > 1000
- Fix: Searching an object with a single reference (with a single column) as key
fails in hibernate.
- Fix: createWebsphereEar ant target broken
- Fix: <set/> with 'from' attribute does not work in <remove-validator/>
- Fix: On removing an element from a collection using check box the dependent data
was not updated.
- Fix: If you try to filter pressing return (without click in filter) when
searching a reference a error message was displayed.
- Fix: When customize a list searching references always return to the main list
mode of module.
- Fix: When a new object is created from reference UI (with + icon), and it has a
autogenerated hidden key, the reference is not filled with the new created object.
- Fix: Defining a calculated property that mix <set/>s with 'value' and 'from'
fails
- Fix: Fails in tab when ordering by primary key in Informix
XML SYNTAX
- Attribute 'maximum' (for validating maximum item count) allowed in <collection />
element.
- order in finder supports using a property of a reference inside an aggregate
(address.state.name for example) for Hibernate and JPA.
- <action/> inside <members>, <property-view/> or <reference-view/> have the
attribute 'always-enabled', when this attribute is true the action is always
present, even if the view, property or reference are not editable.
- <action /> allowed inside members(groups and section) of view. In order to put an
arbitrary action inside a view.
JAVA API
- The method getJRXML of JasperReportBaseAction admit full file path for specifying
a resource of file system, before only resources from classpath could be readed.
- View.setValue throws exception if member to update is not shown in view
- Added method treeToPlain to Maps utility class.
- Added method assertNoMessage to ModuleTestBase
- Maps.putValueFromQualifiedName for put a value in a tree format map using a
qualified name.
- MapFacade.addCollectionElement method added and use from standard OpenXava
actions.
MISC
- New stereotype: HTML_TEXT/TEXTO_HTML.
- Chapter 2 of reference guide uses 'updateSchema' for creating database.
- JPA code in POJOs only is generated if JPA persistence provider is set, or the
property 'jpaCodeInPOJOs' in xava.properties is set to true. In this way POJOs can
be compiled using a java 1.4 compiler.
- Default validators for type or stereotype are supported. They can be defined in
validators.xml.
- If component name does not match with xml file name a meaningful message is
produced
- <xava:descriptionsList/> JSP taglib added.
- <xava:message/> JSP taglib added.
- Calculated properties with IModelCalculator or IEntityCalculator are recalculated
in view when some dependent value changed and an POJO (not EJB) populated with the
current view data is injected in calculator before calculation.
- Custom JSP are allowed in root folder.
- It's possible to overwrite standard messages of OpenXava.
- XavaResources.properties dropped from OpenXava. All its content is moved to
Messages.properties.
- Code generation for EJB2 exclude some finder cases only supported in
Hibernate/EJB3
- Added 'as-aggregate' to <reference-view/> to allow entity references behave as
aggregate references.
- It's possible override for our application a defaut controller of OpenXava
(Collection, References, Typical, etc).
- OpenXava/xava/controllers.xml is renamed to OpenXava/xava/default-
controllers.xml.
FIXES
- Fix: checkbox of rows in collection is not shown when collections are not
editable
- Fix: SaveAction with resetAfter=false clear the data of references
- Fix: as-aggregate for in <reference-view/> does not work if the key of reference
is autogenerated.
- Fix: View.setValueNotifying and View.setValuesExecutingOnChangeActions does not
execute the same action more than once.
- Fix: Now CRUD.searchByViewKey does not throw on-change event for key in
references, and CRUD.searchExecutingOnChange lanza on-change event for key in
references. Now works as reference guide explains.
- Fix: OnChange action associated to a view used for create a new reference crash
if add error or messages
- Fix: Editable mode of collection of entities inside an section fails.
- Fix: assertListRowCount(0) works fine in junit tests
- Fix: View.setEditable from inside a XAVA_SEARCH_ACTION in list mode does not
affect to collections with <collection-view/>
- Fix: validator in aggregate that references to its parent of which key is single
crash.
- Fix: If the user removing a column from tab and after he filter by a aggregate
value then fails: Filter is not done, and the list is not well displayed