You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by ni...@apache.org on 2006/06/12 17:16:45 UTC
svn commit: r413678 - in
/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev:
SLWTListing.java SLWTTextListing.java
Author: nick
Date: Mon Jun 12 08:16:44 2006
New Revision: 413678
URL: http://svn.apache.org/viewvc?rev=413678&view=rev
Log:
New dev program for helping us understand how SlideListWithTexts interact
Added:
jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTListing.java
Modified:
jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTTextListing.java
Added: jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTListing.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTListing.java?rev=413678&view=auto
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTListing.java (added)
+++ jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTListing.java Mon Jun 12 08:16:44 2006
@@ -0,0 +1,91 @@
+
+/* ====================================================================
+ Copyright 2002-2004 Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+
+
+package org.apache.poi.hslf.dev;
+
+import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.record.Document;
+import org.apache.poi.hslf.record.Record;
+import org.apache.poi.hslf.record.RecordTypes;
+import org.apache.poi.hslf.record.SlideListWithText;
+
+/**
+ * Uses record level code to Documents.
+ * Having found them, it sees if they have any SlideListWithTexts,
+ * and reports how many, and what sorts of things they contain
+ */
+public class SLWTListing {
+ public static void main(String[] args) throws Exception {
+ if(args.length < 1) {
+ System.err.println("Need to give a filename");
+ System.exit(1);
+ }
+
+ HSLFSlideShow ss = new HSLFSlideShow(args[0]);
+
+ // Find the documents, and then their SLWT
+ Record[] records = ss.getRecords();
+ for(int i=0; i<records.length; i++) {
+ if(records[i] instanceof Document) {
+ Document doc = (Document)records[i];
+ SlideListWithText[] slwts = doc.getSlideListWithTexts();
+
+ System.out.println("Document at " + i + " had " + slwts.length + " SlideListWithTexts");
+ if(slwts.length == 0) {
+ System.err.println("** Warning: Should have had at least 1! **");
+ }
+ if(slwts.length > 3) {
+ System.err.println("** Warning: Shouldn't have more than 3!");
+ }
+
+ // Check the SLWTs contain what we'd expect
+ for(int j=0; j<slwts.length; j++) {
+ SlideListWithText slwt = slwts[j];
+ Record[] children = slwt.getChildRecords();
+
+ System.out.println(" - SLWT at " + j + " had " + children.length + " children:");
+
+ // Should only have SlideAtomSets if the second one
+ int numSAS = slwt.getSlideAtomsSets().length;
+ if(j == 1) {
+ if(numSAS == 0) {
+ System.err.println(" ** 2nd SLWT didn't have any SlideAtomSets!");
+ } else {
+ System.out.println(" - Contains " + numSAS + " SlideAtomSets");
+ }
+ } else {
+ if(numSAS > 0) {
+ System.err.println(" ** SLWT " + j + " had " + numSAS + " SlideAtomSets! (expected 0)");
+ }
+ }
+
+ // Report the first 5 children, to give a flavour
+ int upTo = 5;
+ if(children.length < 5) { upTo = children.length; }
+ for(int k=0; k<upTo; k++) {
+ Record r = children[k];
+ int typeID = (int)r.getRecordType();
+ String typeName = RecordTypes.recordName(typeID);
+ System.out.println(" - " + typeID + " (" + typeName + ")");
+ }
+ }
+ }
+ }
+ }
+}
Modified: jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTTextListing.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTTextListing.java?rev=413678&r1=413677&r2=413678&view=diff
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTTextListing.java (original)
+++ jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SLWTTextListing.java Mon Jun 12 08:16:44 2006
@@ -43,7 +43,7 @@
// Find the documents, and then their SLWT
Record[] records = ss.getRecords();
for(int i=0; i<records.length; i++) {
- if(records[i].getRecordType() == 1000l) {
+ if(records[i] instanceof Document) {
Record docRecord = records[i];
Record[] docChildren = docRecord.getChildRecords();
for(int j=0; j<docChildren.length; j++) {
---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/