Last updated July 16, 2010 15:03, by Svante Schubert

ODFDOM Release Notes

New Release 0.8.6

On July 16th, version 0.8.6 has been released. About a month after the release of 0.8.5 the new 0.8.6 version provides more than a dozen of bug fixes mainly for Table usage from the high level ODF Document API. Aside of this, minor enhancements have been added, e.g. a higher usability for the Color type.

Resolved Issues

  • Bug 146 - Some resources for performance test are not available
  • Bug 161 - Adapt line breaking activating Mercurial plugin
  • Bug 169 - Minor fix for OdfPackage Performance (and removing redundant log file)
  • Bug 178 - Setting default column style does not work properly
  • Bug 180 - setFormatString method does not work.
  • Bug 183 - getCellBackColor throws an exception.
  • Bug 185 - JavaDoc Fix:Table methods use different measure
  • Bug 186 - Color data type improvements and usage in Table Cell
  • Bug 187 - Javadoc for OdfTableCell.setHorizontalJustify is wrong and related comments.
  • Bug 188 - OdfTableCell.getHorizontalJustify always returns null.
  • Bug 191 - Sheet name should be unique for each sheet
  • Bug 192 - Cellrange merge throws IndexOutOfBoundsException
  • Bug 193 - Calling OdfTableCell.getCurrencyValue() throws NullPointerException
  • Bug 206 - setFormatString now takes an exception
  • Bug 210 - Make API for metadata of odfdom.jar more obvious
  • Bug 212 - Trying to access a spreadsheet cell without first inserting rows causes NPE

API changes since 0.8.5 Release

Note: The first column 'Java class' package is relative to 'org.odftoolkit.odfdom'.

Previous Java Class Previous API New Java Class New API
Version String getApplicationName() JarManifest String getOdfdomName()
String getApplicationTitle() String getOdfdomTitle()
String getApplicationVersion() String getOdfdomSupportedOdfVersion()
String getApplicationWebsite() String getOdfdomWebsite()
String getBuildDate() String getOdfdomBuildDate()
String getBuildResponsible() String getOdfdomBuildResponsible()
String getSupportedOdfVersion() String getOdfdomVersion()
doc.table.OdfTableCell double getCurrencyValue() doc.table.OdfTableCell Double getCurrencyValue()
double getPercentageValue() Double getPercentageValue()
setBooleanValue(boolean) setBooleanValue(Boolean)
setCurrencyValue(double, String) setCurrencyValue(Double, String)
setDoubleValue(double) setDoubleValue(Double)
setPercentageValue(double) setPercentageValue(Double)
getVerticalJustify() getVerticalAlignment()
setVerticalJustify(String) setVerticalAlignment(String)
getHorizontalJustify() getHorizontalAlignment()
setHorizontalJustify(String) setHorizontalAlignment(String)
getCellBackColor() getCellBackgroundColor()
setCellBackColor(Color) setCellBackgroundColor(Color)
type.Color String mapColorFromRgbToHex(String) type.Color String toSixDigitHexRGB(String)


Release: 0.8.5

On 3rd July 2010 version 0.8.5 of the Java implementation has been released. In this version, ODFDOM supports the load, parse and save of all available media types of OpenDocument documents - except Formula (MathML) and Database front end documents. As well, ODFDOM now allows the load & save of none-ODF XML elements and attributes. Furthermore, we introduced a series of slide relevant convenient methods for the Document API, which makes easy slide handling possible. In particular the slide access, deletion, reordering, the copy of slides from a presentation to another and even merge of two presentations were enabled.

A second focus had been the overall performance. We improved the start-up time of ODFDOM using a class lazy loading approach and reduced the saving time of ODF documents by avoiding the compressing of already compressed file, e.g. images. In special the performance of table handling via the Document API have been enhanced. For instance by using now automatic table expansion when a requested cell index was out of range. Finally we improved table method robustness by adding sanity checks and the fix of several table issues.

Resolved Issues

The resolved issues in this version include:

  • Bug 97 - OdfTableRow.getCellAt(int) returns null when the cell is a repeat cell;
  • Bug 121 - Fix OdfTable.newTable method when rowlabel and columnlabel are null;
  • Bug 127 - Adding new ODF Mediatypes;
  • Bug 138 - bug fix for transform cell address string to column and row index;
  • Bug 139 - Exchanging PNG, which blocked test with IBM JDK 1.5;
  • Bug 143 - Convenience API for slide-level operation;
  • Bug 144 - Allow load and save for none ODF XML;
  • Bug 145 - OdfTable.newTable(OdfDocument, int, int) failed for spreadsheet document;
  • Bug 149 - Enable a method about not compressing pictures to improve performance;
  • Bug 150 - Table API enhancement for invalid parameter;
  • Bug 154 - Table expands automatically;
  • Bug 157 - Calling OdfTableCell.setFormatString('yyyy-MM-dd') throws NPE;
  • Bug 158 - Enable Code Coverage Tool;
  • Bug 163 - Performance improvement of table API;
  • Bug 169 - Minor fix for OdfPackage Performance;
  • Bug 170 - Update of ODF 1.2 part 1 specification in ODFDOM JavaDoc to Public Review Draft (CD05).

API changes since 0.8 Release

Note: The first column 'Java class' package is relative to 'org.odftoolkit.odfdom'.

Previous Java Class Previous API New Java Class New API
pkg.element.OdfAlienElement getOdfName() OdfAlienElement getOdfName()
pkg.element.OdfAlienAttribute getOdfName() OdfAlienAttribute getOdfName()
getDefault() getDefault()
hasDefault() hasDefault()
doc.OdfElementFactory newOdfElement(OdfFileDom,OdfName) OdfXMLFactory newOdfElement(OdfFileDom,OdfName)
newOdfAttribute(OdfFileDom,OdfName) newOdfAttribute(OdfFileDom,OdfName)
mapElementOdfNameToClass(OdfName,Class) setOdfElementClass(OdfName,Class)
mapAttributeOdfNameToClass(OdfName,Class) setOdfAttributeClass(OdfName,Class)

Release: 0.8

On 19 Feb 2010 version 0.8 of the Java implementation has been released. The API adapts to latest ODF Specification 1.2 part Community Draft 4 and the codegeneration has been updated to the new RelaxNG schema. A major improvement of convenient layer is the introduce of table convenient API - a first prototype of ODF features - which provides methods to manipulate table feature and its sub-features, such as rows, columns, cells and cell ranges. In this prototype, the 1:1 inheritance relationships between convenient layer classes and dom layer classes have been broken up, and composite relationships are used instead. We also provide metadata convenient API in incubator package which will be improved in the following version. Dom layer has been improved to support invalid attributes and values in DOM tree. Some bugs in package layer, DOM/XML layer and document/convenient layer have been fixed. The Java Docs are improved.

Resolved Issues

The resolved issues in this version includes:

  • Bug 19 - Special characters in package path string not handled correctly;
  • Bug 56 - Allow to get meta.xml as a OdfFileDom object;
  • Bug 77 - Allow load/save documents including attributes with potential primitives, but none primitives values;
  • Bug 91 - Update ODF 1.2 schema to OpenDocument-schema-v1.2-cd04;
  • Bug 106 - Improvement of error-messages when loading unsupported files;
  • Bug 114 - Only one package stream is accessible at the time;
  • Bug 116 - Enable users to specify that no temporary files are being used;
  • Bug 118 - Loading a document should not delete ODF attributes with invalid values;
  • Bug 120 - XML nodes with none ODF namespaces should be accessible by XPath;
  • Bug 121 - Table convenient APIs as a first prototype of feature;
  • Bug 124 - Setting style property on an automatic style, which occurs on multiple elements and does not have a style parent, results in an error;
  • Bug 125 - Rollback of patch of Bug 29 due to performance problems;
  • Bug 128 - Exchange System.out.print/println with JDK logging;
  • Bug 133 - Slight enhancements of the Maven pom.xml.

API changes since 0.7 Release (possibly uncomplete)

Note: The first column 'Java class' package is relative to 'org.odftoolkit.odfdom'.

Java Class Previous API New API
NamespaceName.OdfNamespaceNames getNamespaceUri() getUri()
OdfTable getTableColumn(int):OdfTableColumn getColumnByIndex(int):OdfTableColumn
getTableColumnList():List<OdfTableColumn>getColumnList():List<OdfTableColumn>
getTableColumnCount():int getColumnNumber():int
addTableColumn():OdfTableColumn appendColumn():OdfTableColumn
addTableColumn(int):OdfTableColumn insertColumnBefore(int nIndex,int nCount):List<OdfTableColumn>
appendRow(Node):Node appendRow():OdfTableRow
addStyledTableColumn(String):OdfTableColumn
makeStyledColumnList(List<String>):List<OdfTableColumn>
setColumnList(List<OdfTableColumn>):void
OdfTableRow removeCell(Node):Node
appendCell(Node):Node
getCellAt(int):Node getCellByIndex(int):OdfTableCell
populateStrings(List<String>,List<String>,List<String>):void
inheritSpannedCells(int):void

Release: 0.7.5

On 4 Nov 2009 version 0.7.5 of the Java implementation has been released. The API adapts to lastest ODF Specification 1.2 and the codegeneration has been updated to the new RelaxNG schema. New convenient methods have been added for presentation and image. The Incubator package contains an - already usable - early version of a new API for navigating through ODF text documents, which provides an function to search text by text pattern and styles. Some bugs in package layer, DOM/XML layer and document/convenient layer have been fixed. The Java Docs are improved.

The resolved issues in this version includes:

  • Bug 55 - Update the methods getContentRoot and getOfficeBody in class OdfDocument to avoid the exception for none size-optimized ODF;
  • Bug 61 - Datatypes now using JavaDoc references to new ODF 1.2 spec anchors
  • Bug 65 - Update an issue with method insertImage in class OdfDrawImage;
  • Bug 74 - Update code generator to throw only IllegalArgumentException in DOM setValue method.
  • Bug 77 - Make the method startElement in class OdfDocument more robust against invalid attribute values;
  • Bug 78 - Update class OdfPackage finalizable to clean up temp directory.
  • Bug 85 - Navigation methods
  • Bug 91 - Update ODF 1.2 schema to OpenDocument-schema-v1.2-cd03-rev02
  • Bug 99 - Image convenience methods
  • Bug 100 - Presentation convenience methods

Release: 0.7

On 21 Jul 2009 version 0.7 of the Java implementation has been released. The API adapted to ODF Specification 1.2 and provides DOM elements for specified element, attribute and datatype. New convenient methods are available for creating text and images in text documents.

  • Powered by:
Terms of Use; Privacy Policy; Copyright ©2008-2010 (revision 20100521.d19488a)
 
 
loading
Please Confirm