]> source.dussan.org Git - poi.git/commitdiff
throw HSLFException instead of RuntimeException
authorYegor Kozlov <yegor@apache.org>
Thu, 24 May 2007 11:05:24 +0000 (11:05 +0000)
committerYegor Kozlov <yegor@apache.org>
Thu, 24 May 2007 11:05:24 +0000 (11:05 +0000)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@541267 13f79535-47bb-0310-9956-ffa450edef68

13 files changed:
src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java
src/scratchpad/src/org/apache/poi/hslf/blip/EMF.java
src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java
src/scratchpad/src/org/apache/poi/hslf/blip/PNG.java
src/scratchpad/src/org/apache/poi/hslf/blip/WMF.java
src/scratchpad/src/org/apache/poi/hslf/exceptions/HSLFException.java [new file with mode: 0644]
src/scratchpad/src/org/apache/poi/hslf/model/Fill.java
src/scratchpad/src/org/apache/poi/hslf/model/PPGraphics2D.java
src/scratchpad/src/org/apache/poi/hslf/model/Placeholder.java
src/scratchpad/src/org/apache/poi/hslf/model/ShapeTypes.java
src/scratchpad/src/org/apache/poi/hslf/model/TextBox.java
src/scratchpad/src/org/apache/poi/hslf/usermodel/PictureData.java
src/scratchpad/src/org/apache/poi/hslf/usermodel/SlideShow.java

index 513d42ab50716a02ba50f05684f85e77be99d88b..83afe99615a6e9633d699a63d1c9b4203b08bdcb 100644 (file)
@@ -37,6 +37,7 @@ import org.apache.poi.hpsf.DocumentSummaryInformation;
 
 import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
 import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
+import org.apache.poi.hslf.exceptions.HSLFException;
 import org.apache.poi.hslf.record.*;
 import org.apache.poi.hslf.usermodel.PictureData;
 
@@ -376,7 +377,7 @@ public class HSLFSlideShow extends POIDocument
        int oldLastUserEditAtomPos = (int)currentUser.getCurrentEditOffset();
        Integer newLastUserEditAtomPos = (Integer)oldToNewPositions.get(new Integer(oldLastUserEditAtomPos));
        if(newLastUserEditAtomPos == null) {
-               throw new RuntimeException("Couldn't find the new location of the UserEditAtom that used to be at " + oldLastUserEditAtomPos);
+               throw new HSLFException("Couldn't find the new location of the UserEditAtom that used to be at " + oldLastUserEditAtomPos);
        }
        currentUser.setCurrentEditOffset(newLastUserEditAtomPos.intValue());
        currentUser.writeToFS(outFS);
index 20a3750ade1b3c50624e20b3e5ca96f1cf99bab7..97ef83b769ddd9bee89d23f21c0d4852b23e29c4 100644 (file)
@@ -18,6 +18,7 @@ package org.apache.poi.hslf.blip;
 
 import org.apache.poi.hslf.model.Picture;
 import org.apache.poi.hslf.model.Shape;
+import org.apache.poi.hslf.exceptions.HSLFException;
 
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
@@ -55,7 +56,7 @@ public class EMF extends Metafile {
             inflater.close();
             return out.toByteArray();
         } catch (IOException e){
-            throw new RuntimeException(e);
+            throw new HSLFException(e);
         }
     }
 
index 5f1afe9417d715e022def226d5971a0c26ccbc0e..fce1bc803a6cc48515c891f8c3f50c61ee05d370 100644 (file)
@@ -18,6 +18,7 @@ package org.apache.poi.hslf.blip;
 
 import org.apache.poi.hslf.model.Picture;
 import org.apache.poi.hslf.model.Shape;
+import org.apache.poi.hslf.exceptions.HSLFException;
 import org.apache.poi.util.LittleEndian;
 
 import java.io.*;
@@ -56,7 +57,7 @@ public class PICT extends Metafile {
             out.write(pict);
             return out.toByteArray();
         } catch (IOException e){
-            throw new RuntimeException(e);
+            throw new HSLFException(e);
         }
     }
 
index f6a7fc3e40209a6aef32354719f94e22b905d780..a72d3b6c10d2931e1150d3b75ac2e1c64aa31710 100644 (file)
@@ -17,6 +17,7 @@
 package org.apache.poi.hslf.blip;
 
 import org.apache.poi.hslf.model.Picture;
+import org.apache.poi.hslf.exceptions.HSLFException;
 
 import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
@@ -45,7 +46,7 @@ public class PNG extends Bitmap {
                   data = png;
               }
           } catch (IOException e){
-              throw new RuntimeException(e);
+              throw new HSLFException(e);
           }
          return data;
      }
index fc76c4c4ea9ce16839e8437dc59ead309a3109d2..fe18664d075aa7a997e19e8e747352724b09a368 100644 (file)
@@ -19,6 +19,7 @@ package org.apache.poi.hslf.blip;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.hslf.model.Picture;
 import org.apache.poi.hslf.model.Shape;
+import org.apache.poi.hslf.exceptions.HSLFException;
 
 import java.io.*;
 import java.util.zip.InflaterInputStream;
@@ -60,7 +61,7 @@ public class WMF extends Metafile {
             inflater.close();
             return out.toByteArray();
         } catch (IOException e){
-            throw new RuntimeException(e);
+            throw new HSLFException(e);
         }
     }
 
@@ -130,7 +131,7 @@ public class WMF extends Metafile {
         public void read(byte[] data, int offset){
             int pos = offset;
             int key = LittleEndian.getInt(data, pos); pos += LittleEndian.INT_SIZE; //header key
-            if (key != APMHEADER_KEY) throw new RuntimeException("Not a valid WMF file");
+            if (key != APMHEADER_KEY) throw new HSLFException("Not a valid WMF file");
 
             handle = LittleEndian.getUShort(data, pos); pos += LittleEndian.SHORT_SIZE;
             left = LittleEndian.getUShort(data, pos); pos += LittleEndian.SHORT_SIZE;
@@ -143,7 +144,7 @@ public class WMF extends Metafile {
 
             checksum = LittleEndian.getShort(data, pos); pos += LittleEndian.SHORT_SIZE;
             if (checksum != getChecksum())
-                throw new RuntimeException("WMF checksum does not match the header data");
+                throw new HSLFException("WMF checksum does not match the header data");
         }
 
         /**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/exceptions/HSLFException.java b/src/scratchpad/src/org/apache/poi/hslf/exceptions/HSLFException.java
new file mode 100644 (file)
index 0000000..5e9f7e8
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+/* ====================================================================\r
+   Licensed to the Apache Software Foundation (ASF) under one or more\r
+   contributor license agreements.  See the NOTICE file distributed with\r
+   this work for additional information regarding copyright ownership.\r
+   The ASF licenses this file to You under the Apache License, Version 2.0\r
+   (the "License"); you may not use this file except in compliance with\r
+   the License.  You may obtain a copy of the License at\r
+\r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+   Unless required by applicable law or agreed to in writing, software\r
+   distributed under the License is distributed on an "AS IS" BASIS,\r
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+   See the License for the specific language governing permissions and\r
+   limitations under the License.\r
+==================================================================== */\r
+\r
+package org.apache.poi.hslf.exceptions;\r
+\r
+/**\r
+ * A generic exception that can be thrown by HSLF classes\r
+ *\r
+ * @author Yegor Kozlov\r
+ */\r
+public class HSLFException extends RuntimeException {\r
+\r
+    public HSLFException() {\r
+           super();\r
+    }\r
+\r
+   public HSLFException(String message) {\r
+           super(message);\r
+    }\r
+\r
+   public HSLFException(String message, Throwable cause) {\r
+        super(message, cause);\r
+    }\r
+\r
+    public HSLFException(Throwable cause) {\r
+        super(cause);\r
+    }\r
+}\r
index 65be2a441c13596b07b9b73f6445f583b88f3ed9..f0d85400be5e74e097f0b56005081c8829022c86 100644 (file)
@@ -22,6 +22,7 @@ import org.apache.poi.ddf.*;
 import org.apache.poi.hslf.record.*;
 import org.apache.poi.hslf.usermodel.PictureData;
 import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.exceptions.HSLFException;
 
 import java.awt.*;
 import java.util.*;
@@ -211,7 +212,7 @@ public class Fill {
                 return pict[i];
             }
         }
-        throw new RuntimeException("Picture data not found: \n" +
+        throw new HSLFException("Picture data not found: \n" +
                 "  bse: " + bse + " at " + bse.getOffset() );
 
     }
index 561f0bf9a30aaf53eb0802b89b5581224e966100..bc01d9970fbfb51283375ef64af9ff0cc141e6ea 100644 (file)
@@ -31,6 +31,7 @@ import java.util.ArrayList;
 
 import org.apache.poi.ddf.EscherProperties;
 import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.hslf.exceptions.HSLFException;
 
 /**
  * Translates Graphics2D calls into PowerPoint.
@@ -252,43 +253,43 @@ public class PPGraphics2D extends Graphics2D {
     }
     //===============================================
     public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawString(String str, int x, int y) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void fillOval(int x, int y, int width, int height) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void fillArc(int x, int y, int width, int height,
                         int startAngle, int arcAngle) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void setPaintMode() {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawArc(int x, int y, int width, int height,
                         int startAngle, int arcAngle) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
 
     public void drawPolyline(int xPoints[], int yPoints[],
                              int nPoints) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public Graphics create() {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawOval(int x, int y, int width, int height) {
@@ -308,21 +309,21 @@ public class PPGraphics2D extends Graphics2D {
     }
 
     public void setXORMode(Color color1) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
 
     public boolean drawImage(Image img, int x, int y,
                              Color bgcolor,
                              ImageObserver observer) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public boolean drawImage(Image img, int x, int y,
                              int width, int height,
                              Color bgcolor,
                              ImageObserver observer) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
 
@@ -330,7 +331,7 @@ public class PPGraphics2D extends Graphics2D {
                              int dx1, int dy1, int dx2, int dy2,
                              int sx1, int sy1, int sx2, int sy2,
                              ImageObserver observer) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public boolean drawImage(Image img,
@@ -338,22 +339,22 @@ public class PPGraphics2D extends Graphics2D {
                              int sx1, int sy1, int sx2, int sy2,
                              Color bgcolor,
                              ImageObserver observer) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public boolean drawImage(Image img, int x, int y,
                              ImageObserver observer) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public boolean drawImage(Image img, int x, int y,
                              int width, int height,
                              ImageObserver observer) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void dispose() {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawLine(int x1, int y1, int x2, int y2) {
@@ -369,61 +370,61 @@ public class PPGraphics2D extends Graphics2D {
 
     public void fillPolygon(int xPoints[], int yPoints[],
                             int nPoints) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public FontMetrics getFontMetrics(Font f) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void fillRect(int x, int y, int width, int height) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawPolygon(int xPoints[], int yPoints[],
                             int nPoints) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void clipRect(int x, int y, int width, int height) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void setClip(Shape clip) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public java.awt.Rectangle getClipBounds() {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawString(AttributedCharacterIterator iterator, int x, int y) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void clearRect(int x, int y, int width, int height) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void copyArea(int x, int y, int width, int height, int dx, int dy) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void setClip(int x, int y, int width, int height) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void rotate(double d) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
 
     }
 
     public void rotate(double d, double d1, double d2) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void shear(double d, double d1) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public FontRenderContext getFontRenderContext() {
@@ -431,83 +432,83 @@ public class PPGraphics2D extends Graphics2D {
     }
 
     public void transform(AffineTransform affinetransform) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawImage(BufferedImage bufferedimage, BufferedImageOp op, int x, int y) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void setBackground(Color c) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public Color getBackground() {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void setComposite(Composite composite) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
 
     }
 
     public Composite getComposite() {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public Object getRenderingHint(java.awt.RenderingHints.Key key) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public boolean drawImage(Image image, AffineTransform affinetransform, ImageObserver imageobserver) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void setRenderingHint(java.awt.RenderingHints.Key key, Object obj) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
 
     public void drawGlyphVector(GlyphVector g, float x, float y) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
 
     }
 
     public GraphicsConfiguration getDeviceConfiguration() {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void addRenderingHints(Map map) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void translate(double d, double d1) {
 
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void drawString(AttributedCharacterIterator attributedcharacteriterator, float x, float y) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public boolean hit(java.awt.Rectangle rectangle, Shape shape, boolean flag) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public RenderingHints getRenderingHints() {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 
     public void setRenderingHints(Map map) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
 
     }
 
     public void drawRenderableImage(RenderableImage renderableimage, AffineTransform affinetransform) {
-        throw new RuntimeException("Not implemented");
+        throw new HSLFException("Not implemented");
     }
 }
index 938c91e93633ee014359b58da3ad482babc6fc56..dd0132ebe0926c610ae229cd34c3ff647468b779 100644 (file)
@@ -19,6 +19,7 @@ package org.apache.poi.hslf.model;
 
 import org.apache.poi.ddf.*;
 import org.apache.poi.hslf.record.OEPlaceholderAtom;
+import org.apache.poi.hslf.exceptions.HSLFException;
 
 import java.util.List;
 import java.io.ByteArrayOutputStream;
@@ -80,7 +81,7 @@ public class Placeholder extends TextBox {
         try {
             oep.writeOut(out);
         } catch(Exception e){
-            throw new RuntimeException(e);
+            throw new HSLFException(e);
         }
         cldata.setRemainingData(out.toByteArray());
 
index 4824d9e289a9bebf01ecdc07f228ebdb793cd1aa..f228eef68941a4611c4d156bdd8e8f6f4b2848a6 100644 (file)
@@ -16,6 +16,8 @@
 ==================================================================== */
 package org.apache.poi.hslf.model;
 
+import org.apache.poi.hslf.exceptions.HSLFException;
+
 import java.util.HashMap;
 import java.lang.reflect.Field;
 
@@ -251,7 +253,7 @@ public class ShapeTypes {
                 }
             }
         } catch (IllegalAccessException e){
-            throw new RuntimeException("Failed to initialize shape types");
+            throw new HSLFException("Failed to initialize shape types");
         }
     }
 
index fb8fad2b013f5e0d4f9f63dfb91aa2183437da8c..67d2fee3a9082f4803184107db3d53e001227cb4 100644 (file)
@@ -21,6 +21,7 @@ package org.apache.poi.hslf.model;
 import org.apache.poi.ddf.*;
 import org.apache.poi.hslf.record.*;
 import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.hslf.exceptions.HSLFException;
 
 import java.awt.*;
 import java.awt.font.FontRenderContext;
@@ -193,7 +194,7 @@ public class TextBox extends SimpleShape {
         try {
             _txtbox.writeOut(null);
         } catch (IOException e){
-            throw new RuntimeException(e);
+            throw new HSLFException(e);
         }
         if(getAnchor().equals(new java.awt.Rectangle())) resizeToFitText();
     }
index d3dfb1bb9fc31a9c4baca9a6e00c39a8a49b4e3f..02ff1d9ad63da5e21cfc3ca0e0ae0a7b8f7ad41a 100644 (file)
@@ -19,6 +19,7 @@ package org.apache.poi.hslf.usermodel;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.hslf.model.Picture;
 import org.apache.poi.hslf.blip.*;
+import org.apache.poi.hslf.exceptions.HSLFException;
 
 import java.io.OutputStream;
 import java.io.IOException;
@@ -121,7 +122,7 @@ public abstract class PictureData {
         try {
             sha = MessageDigest.getInstance("MD5");
         } catch (NoSuchAlgorithmException e){
-            throw new RuntimeException(e.getMessage());
+            throw new HSLFException(e.getMessage());
         }
         sha.update(data);
         return sha.digest();
index 7f201fb7b46d136d44ca2b152816a41a5c5a19e0..3b464f2f3911483630d3d62b6002ac58cebf3d0e 100644 (file)
@@ -35,6 +35,7 @@ import org.apache.poi.hslf.model.Slide;
 import org.apache.poi.hslf.record.SlideListWithText.*;
 import org.apache.poi.hslf.record.*;
 import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
+import org.apache.poi.hslf.exceptions.HSLFException;
 import org.apache.poi.util.ArrayUtil;
 import org.apache.poi.util.POILogFactory;
 import org.apache.poi.util.POILogger;
@@ -739,7 +740,7 @@ public class SlideShow
             is.read(data);
             is.close();
         } catch (IOException e){
-            throw new RuntimeException(e);
+            throw new HSLFException(e);
         }
         return addPicture(data, format);
     }