summaryrefslogtreecommitdiff
path: root/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java
diff options
context:
space:
mode:
Diffstat (limited to 'xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java')
-rw-r--r--xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java135
1 files changed, 0 insertions, 135 deletions
diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java
deleted file mode 100644
index f70b4d0ac4e1..000000000000
--- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-import java.io.RandomAccessFile;
-import java.io.IOException;
-
-
-/**
- * <p>Provides functionality to decode a pdb formatted file into
- * a <code>PalmDB</code> object given a file input stream</p>
- *
- * <p>Sample usage:</p>
- *
- * <p><blockquote><pre>
- * PDBDecoder decoder = new PDBDecoder("sample.pdb");
- * PalmDB palmDB = decoder.parse();
- * </pre></blockquote></p>
- *
- * <p>Refer to the
- * <a href="http://starlite.eng/zensync/eng/converters/palmfileformats.pdf">
- * Palm file format specification</a> for details on the pdb format.</p>
- *
- * <p>This decoder has the following assumptions on the pdb file ...</p>
- * <ol>
- * <li><p>There is only one RecordList section in the pdb.</p></li>
- * <li><p>The record indices in the RecordList are sorted in order, i.e. the
- * first record index refers to record 0, and so forth.</p></li>
- * <li><p>The raw records in the record section are sorted as well in order,
- * i.e. first record comes ahead of second record, etc.</p></li>
- * </ol>
- *
- * Other decoders assume these as well.
- *
- * @author Herbie Ong
- * @see PalmDB
- * @see PDBHeader
- *
- * @author Herbie Ong
- */
-
-public final class PDBDecoder {
-
- /**
- * <p>This method decodes a pdb file into a PalmDB object.</p>
- *
- * <p>First, read in the header data using <code>PDBHeader</code>'s
- * <code>read</code> method</p>. Next, read in the record list
- * section. Store the record offsets for use when parsing the records.
- * Based on these offsets, read in each record's bytes and store
- * each in a <code>Record</code> object. Lastly, create a
- * <code>PalmDB</code> object with the read in <code>Record</code>s.
- *
- * @param fileName pdb file name
- * @throws IOException if I/O error occurs
- */
-
- public PalmDB parse(String fileName) throws IOException {
-
- RandomAccessFile file = new RandomAccessFile(fileName, "r");
-
- // read the pdb header
- PDBHeader header = new PDBHeader();
- header.read(file);
-
- Record recArray[] = new Record[header.numRecords];
-
- if (header.numRecords != 0) {
-
- // read in the record indices + offsets
-
- int recOffset[] = new int[header.numRecords];
-
- for (int i = 0; i < header.numRecords; i++) {
-
- recOffset[i] = file.readInt();
- int attr = file.readInt(); // read in attribute.
- }
-
- // read the records
-
- int len = 0;
- byte[] bytes = null;
-
- int lastIndex = header.numRecords - 1;
-
- for (int i = 0; i < lastIndex; i++) {
-
- file.seek(recOffset[i]);
- len = recOffset[i+1] - recOffset[i];
- bytes = new byte[len];
- file.readFully(bytes);
- recArray[i] = new Record(bytes);
- }
-
- // last record
- file.seek(recOffset[lastIndex]);
- len = (int) file.length() - recOffset[lastIndex];
- bytes = new byte[len];
- file.readFully(bytes);
- recArray[lastIndex] = new Record(bytes);
- }
-
- file.close();
-
- // create PalmDB and return it
- PalmDB pdb = new PalmDB(header.pdbName, recArray);
- return pdb;
- }
-}
-