You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2008/03/26 19:32:05 UTC

svn commit: r641463 - /incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java

Author: jukka
Date: Wed Mar 26 11:32:00 2008
New Revision: 641463

URL: http://svn.apache.org/viewvc?rev=641463&view=rev
Log:
TIKA-132: Refactor Excel extractor to parse per sheet and add hyperlink support
    - Refactored processCellValue to a getCellValue factory method

Modified:
    incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java

Modified: incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java?rev=641463&r1=641462&r2=641463&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java (original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java Wed Mar 26 11:32:00 2008
@@ -268,9 +268,14 @@
                 default:
                     if (insideWorksheet
                             && record instanceof CellValueRecordInterface) {
-                        processCellValue(
-                                record.getSid(),
-                                (CellValueRecordInterface)record);
+                        CellValueRecordInterface value =
+                            (CellValueRecordInterface) record;
+                        Cell cell = getCellValue(record.getSid(), value);
+                        if (cell != null) {
+                            Point point =
+                                new Point(value.getColumn(), value.getRow());
+                            currentSheet.put(point, cell);
+                        }
                     }
                     break;
             }
@@ -282,7 +287,7 @@
          * @param sid record type identifier
          * @param record The cell value record
          */
-        private void processCellValue(
+        private Cell getCellValue(
                 short sid, CellValueRecordInterface record)
                 throws SAXException {
 
@@ -323,10 +328,9 @@
                 text = text.trim();
             }
             if (text != null && text.length() > 0) {
-                currentSheet.put(
-                        new Point(record.getColumn(), record.getRow()),
-                        new TextCell(text));
+                return new TextCell(text);
             }
+            return null;
         }
 
         /**