You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2018/04/04 19:40:54 UTC

svn commit: r1828375 - in /poi/trunk: src/integrationtest/org/apache/poi/stress/ src/java/org/apache/poi/sl/draw/ test-data/slideshow/

Author: centic
Date: Wed Apr  4 19:40:54 2018
New Revision: 1828375

URL: http://svn.apache.org/viewvc?rev=1828375&view=rev
Log:
Try to avoid one NPE that popped up in commoncrawl-corpus tests

Added:
    poi/trunk/test-data/slideshow/ca.ubc.cs.people_~emhill_presentations_HowWeRefactor.pptx   (with props)
Modified:
    poi/trunk/src/integrationtest/org/apache/poi/stress/XSLFFileHandler.java
    poi/trunk/src/java/org/apache/poi/sl/draw/DrawShape.java
    poi/trunk/src/java/org/apache/poi/sl/draw/DrawSimpleShape.java
    poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextShape.java

Modified: poi/trunk/src/integrationtest/org/apache/poi/stress/XSLFFileHandler.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/integrationtest/org/apache/poi/stress/XSLFFileHandler.java?rev=1828375&r1=1828374&r2=1828375&view=diff
==============================================================================
--- poi/trunk/src/integrationtest/org/apache/poi/stress/XSLFFileHandler.java (original)
+++ poi/trunk/src/integrationtest/org/apache/poi/stress/XSLFFileHandler.java Wed Apr  4 19:40:54 2018
@@ -66,7 +66,7 @@ public class XSLFFileHandler extends Sli
 	@Override
     @Test
 	public void test() throws Exception {
-        File file = new File("test-data/slideshow/ae.ac.uaeu.faculty_nafaachbili_GeomLec1.pptx");
+        File file = new File("test-data/slideshow/ca.ubc.cs.people_~emhill_presentations_HowWeRefactor.pptx");
 		try (InputStream stream = new FileInputStream(file)) {
 			handleFile(stream, file.getPath());
 		}

Modified: poi/trunk/src/java/org/apache/poi/sl/draw/DrawShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/sl/draw/DrawShape.java?rev=1828375&r1=1828374&r2=1828375&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/sl/draw/DrawShape.java (original)
+++ poi/trunk/src/java/org/apache/poi/sl/draw/DrawShape.java Wed Apr  4 19:40:54 2018
@@ -66,7 +66,15 @@ public class DrawShape implements Drawab
         if (tx == null) {
             tx = new AffineTransform();
         }
-        final Rectangle2D anchor = tx.createTransformedShape(ps.getAnchor()).getBounds2D();
+
+        // we saw one document failing here, probably the format is slightly broken, but
+        // maybe better to try to handle it more gracefully
+        java.awt.Shape transformedShape = tx.createTransformedShape(ps.getAnchor());
+        if(transformedShape == null) {
+            return;
+        }
+
+        final Rectangle2D anchor = transformedShape.getBounds2D();
 
         char cmds[] = isHSLF ? new char[]{ 'h','v','r' } : new char[]{ 'r','h','v' };
         for (char ch : cmds) {
@@ -184,7 +192,7 @@ public class DrawShape implements Drawab
         }
 
         AffineTransform tx = (AffineTransform)graphics.getRenderingHint(Drawable.GROUP_TRANSFORM);
-        if(tx != null && !tx.isIdentity()) {
+        if(tx != null && !tx.isIdentity() && tx.createTransformedShape(anchor) != null) {
             anchor = tx.createTransformedShape(anchor).getBounds2D();
         }
         return anchor;

Modified: poi/trunk/src/java/org/apache/poi/sl/draw/DrawSimpleShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/sl/draw/DrawSimpleShape.java?rev=1828375&r1=1828374&r2=1828375&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/sl/draw/DrawSimpleShape.java (original)
+++ poi/trunk/src/java/org/apache/poi/sl/draw/DrawSimpleShape.java Wed Apr  4 19:40:54 2018
@@ -405,6 +405,9 @@ public class DrawSimpleShape extends Dra
         }
 
         Rectangle2D anchor = getAnchor(graphics, sh);
+        if(anchor == null) {
+            return lst;
+        }
         for (Path p : geom) {
 
             double w = p.getW(), h = p.getH(), scaleX = Units.toPoints(1), scaleY = scaleX;

Modified: poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextShape.java?rev=1828375&r1=1828374&r2=1828375&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextShape.java (original)
+++ poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextShape.java Wed Apr  4 19:40:54 2018
@@ -45,6 +45,10 @@ public class DrawTextShape extends DrawS
         TextShape<?,?> s = getShape();
         
         Rectangle2D anchor = DrawShape.getAnchor(graphics, s);
+        if(anchor == null) {
+            return;
+        }
+
         Insets2D insets = s.getInsets();
         double x = anchor.getX() + insets.left;
         double y = anchor.getY();

Added: poi/trunk/test-data/slideshow/ca.ubc.cs.people_~emhill_presentations_HowWeRefactor.pptx
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/slideshow/ca.ubc.cs.people_%7Eemhill_presentations_HowWeRefactor.pptx?rev=1828375&view=auto
==============================================================================
Binary files poi/trunk/test-data/slideshow/ca.ubc.cs.people_~emhill_presentations_HowWeRefactor.pptx (added) and poi/trunk/test-data/slideshow/ca.ubc.cs.people_~emhill_presentations_HowWeRefactor.pptx Wed Apr  4 19:40:54 2018 differ

Propchange: poi/trunk/test-data/slideshow/ca.ubc.cs.people_~emhill_presentations_HowWeRefactor.pptx
------------------------------------------------------------------------------
    svn:executable = *



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org