You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by jo...@apache.org on 2003/06/14 02:24:07 UTC
cvs commit: cocoon-2.0/src/java/org/apache/cocoon/components/elementprocessor/impl/poi/hssf/elements Cell.java
joerg 2003/06/13 17:24:07
Modified: src/java/org/apache/cocoon/components/elementprocessor/impl/poi/hssf/elements
Cell.java
Log:
fixed internationalization support (encoding UTF-16), bug 15365
Revision Changes Path
1.2 +24 -45 cocoon-2.0/src/java/org/apache/cocoon/components/elementprocessor/impl/poi/hssf/elements/Cell.java
Index: Cell.java
===================================================================
RCS file: /home/cvs/cocoon-2.0/src/java/org/apache/cocoon/components/elementprocessor/impl/poi/hssf/elements/Cell.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Cell.java 9 Mar 2003 00:01:37 -0000 1.1
+++ Cell.java 14 Jun 2003 00:24:07 -0000 1.2
@@ -1,4 +1,3 @@
-
/*
============================================================================
@@ -52,37 +51,36 @@
package org.apache.cocoon.components.elementprocessor.impl.poi.hssf.elements;
-
-
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import java.io.IOException;
/**
- * internal representation of a Cell
+ * Internal representation of a Cell.
*
* @author Marc Johnson (marc_johnson27591@hotmail.com)
*/
-
// package scope
-class Cell
-{
+class Cell {
+
private HSSFCell _cell;
// original CellType value
- private int _celltype;
+ private int _celltype;
/**
- * Constructor Cell
+ * Constructor Cell.
+ * Only a hack as long as the POI stuff is not maintained in the POI CVS:
+ * Setting the encoding to UTF-16 for internationalization
+ * (<a href="http://jakarta.apache.org/poi/javadocs/org/apache/poi/hssf/usermodel/HSSFCell.html#getEncoding()">POI API</a>).
*
* @param cell
*/
-
- Cell(final HSSFCell cell, final int cellType)
- {
- _cell = cell;
+ Cell(final HSSFCell cell, final int cellType) {
+ _cell = cell;
_celltype = cellType;
+ _cell.setEncoding(HSSFCell.ENCODING_UTF_16);
}
/**
@@ -92,36 +90,23 @@
*
* @exception IOException
*/
-
- void setContent(final String content)
- throws IOException
- {
- if (_cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
- {
- try
- {
- if (_celltype == CellType.CELL_TYPE_FLOAT)
- {
+ void setContent(final String content) throws IOException {
+ if (_cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
+ try {
+ if (_celltype == CellType.CELL_TYPE_FLOAT) {
_cell.setCellValue(Double.parseDouble(content));
- }
- else
- {
+ } else {
_cell.setCellValue(Integer.parseInt(content));
}
+ } catch (NumberFormatException e) {
+ throw new IOException("Invalid value for a numeric cell: " + content);
}
- catch (NumberFormatException e)
- {
- throw new IOException("Invalid value for a numeric cell: "
- + content);
- }
- }
- else if (_cell.getCellType() == HSSFCell.CELL_TYPE_STRING)
- {
+ } else if (_cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
_cell.setCellValue(content);
}
}
-
- void setStyle (HSSFCellStyle style) {
+
+ void setStyle(HSSFCellStyle style) {
if (style != null) {
_cell.setCellStyle(style);
}
@@ -130,27 +115,21 @@
/**
* @return cell type
*/
-
- int getCellType()
- {
+ int getCellType() {
return _cell.getCellType();
}
/**
* @return string value
*/
-
- String getStringValue()
- {
+ String getStringValue() {
return _cell.getStringCellValue();
}
/**
* @return numeric value
*/
-
- double getNumericValue()
- {
+ double getNumericValue() {
return _cell.getNumericCellValue();
}
} // end package scope class Cell