You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2015/07/24 23:47:58 UTC

svn commit: r1692593 [13/17] - in /poi: site/src/documentation/content/xdocs/ trunk/ trunk/src/examples/src/org/apache/poi/hslf/examples/ trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ trunk/src/examples/src/org/apache/poi/xslf/usermode...

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java Fri Jul 24 21:47:55 2015
@@ -32,9 +32,9 @@ import org.apache.poi.ddf.EscherOptRecor
 import org.apache.poi.ddf.EscherProperties;
 import org.apache.poi.ddf.EscherRecord;
 import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.hslf.HSLFSlideShow;
 import org.apache.poi.hslf.record.Document;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.*;
+import org.apache.poi.sl.usermodel.ShapeType;
 import org.junit.Test;
 
 
@@ -51,16 +51,16 @@ public final class TestBackground {
      */
     @Test
     public void defaults() {
-        SlideShow ppt = new SlideShow();
+        HSLFSlideShow ppt = new HSLFSlideShow();
 
-        assertEquals(Fill.FILL_SOLID, ppt.getSlidesMasters()[0].getBackground().getFill().getFillType());
+        assertEquals(HSLFFill.FILL_SOLID, ppt.getSlideMasters().get(0).getBackground().getFill().getFillType());
 
-        Slide slide = ppt.createSlide();
+        HSLFSlide slide = ppt.createSlide();
         assertTrue(slide.getFollowMasterBackground());
-        assertEquals(Fill.FILL_SOLID, slide.getBackground().getFill().getFillType());
+        assertEquals(HSLFFill.FILL_SOLID, slide.getBackground().getFill().getFillType());
 
-        Shape shape = new AutoShape(ShapeTypes.Rectangle);
-        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
+        HSLFShape shape = new HSLFAutoShape(ShapeType.RECT);
+        assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
     }
 
     /**
@@ -68,31 +68,31 @@ public final class TestBackground {
      */
     @Test
     public void readBackground() throws Exception {
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("backgrounds.ppt"));
-        Fill fill;
-        Shape shape;
-
-        Slide[] slide = ppt.getSlides();
-
-        fill = slide[0].getBackground().getFill();
-        assertEquals(Fill.FILL_PICTURE, fill.getFillType());
-        shape = slide[0].getShapes()[0];
-        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
-
-        fill = slide[1].getBackground().getFill();
-        assertEquals(Fill.FILL_PATTERN, fill.getFillType());
-        shape = slide[1].getShapes()[0];
-        assertEquals(Fill.FILL_BACKGROUND, shape.getFill().getFillType());
-
-        fill = slide[2].getBackground().getFill();
-        assertEquals(Fill.FILL_TEXTURE, fill.getFillType());
-        shape = slide[2].getShapes()[0];
-        assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
-
-        fill = slide[3].getBackground().getFill();
-        assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
-        shape = slide[3].getShapes()[0];
-        assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("backgrounds.ppt"));
+        HSLFFill fill;
+        HSLFShape shape;
+
+        List<HSLFSlide> slide = ppt.getSlides();
+
+        fill = slide.get(0).getBackground().getFill();
+        assertEquals(HSLFFill.FILL_PICTURE, fill.getFillType());
+        shape = slide.get(0).getShapes().get(0);
+        assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
+
+        fill = slide.get(1).getBackground().getFill();
+        assertEquals(HSLFFill.FILL_PATTERN, fill.getFillType());
+        shape = slide.get(1).getShapes().get(0);
+        assertEquals(HSLFFill.FILL_BACKGROUND, shape.getFill().getFillType());
+
+        fill = slide.get(2).getBackground().getFill();
+        assertEquals(HSLFFill.FILL_TEXTURE, fill.getFillType());
+        shape = slide.get(2).getShapes().get(0);
+        assertEquals(HSLFFill.FILL_PICTURE, shape.getFill().getFillType());
+
+        fill = slide.get(3).getBackground().getFill();
+        assertEquals(HSLFFill.FILL_SHADE_CENTER, fill.getFillType());
+        shape = slide.get(3).getShapes().get(0);
+        assertEquals(HSLFFill.FILL_SHADE, shape.getFill().getFillType());
     }
 
     /**
@@ -100,55 +100,55 @@ public final class TestBackground {
      */
     @Test
     public void backgroundPicture() throws Exception {
-        SlideShow ppt = new SlideShow();
-        Slide slide;
-        Fill fill;
-        Shape shape;
+        HSLFSlideShow ppt = new HSLFSlideShow();
+        HSLFSlide slide;
+        HSLFFill fill;
+        HSLFShape shape;
         int idx;
 
         //slide 1
         slide = ppt.createSlide();
         slide.setFollowMasterBackground(false);
         fill = slide.getBackground().getFill();
-        idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
-        fill.setFillType(Fill.FILL_PICTURE);
+        idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+        fill.setFillType(HSLFFill.FILL_PICTURE);
         fill.setPictureData(idx);
 
-        shape = new AutoShape(ShapeTypes.Rectangle);
+        shape = new HSLFAutoShape(ShapeType.RECT);
         shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
         fill = shape.getFill();
-        fill.setFillType(Fill.FILL_SOLID);
+        fill.setFillType(HSLFFill.FILL_SOLID);
         slide.addShape(shape);
 
         //slide 2
         slide = ppt.createSlide();
         slide.setFollowMasterBackground(false);
         fill = slide.getBackground().getFill();
-        idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
-        fill.setFillType(Fill.FILL_PATTERN);
+        idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+        fill.setFillType(HSLFFill.FILL_PATTERN);
         fill.setPictureData(idx);
         fill.setBackgroundColor(Color.green);
         fill.setForegroundColor(Color.red);
 
-        shape = new AutoShape(ShapeTypes.Rectangle);
+        shape = new HSLFAutoShape(ShapeType.RECT);
         shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
         fill = shape.getFill();
-        fill.setFillType(Fill.FILL_BACKGROUND);
+        fill.setFillType(HSLFFill.FILL_BACKGROUND);
         slide.addShape(shape);
 
         //slide 3
         slide = ppt.createSlide();
         slide.setFollowMasterBackground(false);
         fill = slide.getBackground().getFill();
-        idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
-        fill.setFillType(Fill.FILL_TEXTURE);
+        idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+        fill.setFillType(HSLFFill.FILL_TEXTURE);
         fill.setPictureData(idx);
 
-        shape = new AutoShape(ShapeTypes.Rectangle);
+        shape = new HSLFAutoShape(ShapeType.RECT);
         shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
         fill = shape.getFill();
-        fill.setFillType(Fill.FILL_PICTURE);
-        idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
+        fill.setFillType(HSLFFill.FILL_PICTURE);
+        idx = ppt.addPicture(_slTests.readFile("clock.jpg"), HSLFPictureShape.JPEG);
         fill.setPictureData(idx);
         slide.addShape(shape);
 
@@ -156,14 +156,14 @@ public final class TestBackground {
         slide = ppt.createSlide();
         slide.setFollowMasterBackground(false);
         fill = slide.getBackground().getFill();
-        fill.setFillType(Fill.FILL_SHADE_CENTER);
+        fill.setFillType(HSLFFill.FILL_SHADE_CENTER);
         fill.setBackgroundColor(Color.white);
         fill.setForegroundColor(Color.darkGray);
 
-        shape = new AutoShape(ShapeTypes.Rectangle);
+        shape = new HSLFAutoShape(ShapeType.RECT);
         shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
         fill = shape.getFill();
-        fill.setFillType(Fill.FILL_SHADE);
+        fill.setFillType(HSLFFill.FILL_SHADE);
         fill.setBackgroundColor(Color.red);
         fill.setForegroundColor(Color.green);
         slide.addShape(shape);
@@ -173,45 +173,45 @@ public final class TestBackground {
         ppt.write(out);
         out.close();
 
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        Slide[] slides = ppt.getSlides();
+        ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+        List<HSLFSlide> slides = ppt.getSlides();
 
-        fill = slides[0].getBackground().getFill();
-        assertEquals(Fill.FILL_PICTURE, fill.getFillType());
-        assertEquals(3, getFillPictureRefCount(slides[0].getBackground(), fill));
-        shape = slides[0].getShapes()[0];
-        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
-
-        fill = slides[1].getBackground().getFill();
-        assertEquals(Fill.FILL_PATTERN, fill.getFillType());
-        shape = slides[1].getShapes()[0];
-        assertEquals(Fill.FILL_BACKGROUND, shape.getFill().getFillType());
-
-        fill = slides[2].getBackground().getFill();
-        assertEquals(Fill.FILL_TEXTURE, fill.getFillType());
-        assertEquals(3, getFillPictureRefCount(slides[2].getBackground(), fill));
-        shape = slides[2].getShapes()[0];
-        assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
+        fill = slides.get(0).getBackground().getFill();
+        assertEquals(HSLFFill.FILL_PICTURE, fill.getFillType());
+        assertEquals(3, getFillPictureRefCount(slides.get(0).getBackground(), fill));
+        shape = slides.get(0).getShapes().get(0);
+        assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
+
+        fill = slides.get(1).getBackground().getFill();
+        assertEquals(HSLFFill.FILL_PATTERN, fill.getFillType());
+        shape = slides.get(1).getShapes().get(0);
+        assertEquals(HSLFFill.FILL_BACKGROUND, shape.getFill().getFillType());
+
+        fill = slides.get(2).getBackground().getFill();
+        assertEquals(HSLFFill.FILL_TEXTURE, fill.getFillType());
+        assertEquals(3, getFillPictureRefCount(slides.get(2).getBackground(), fill));
+        shape = slides.get(2).getShapes().get(0);
+        assertEquals(HSLFFill.FILL_PICTURE, shape.getFill().getFillType());
         assertEquals(1, getFillPictureRefCount(shape, fill));
 
-        fill = slides[3].getBackground().getFill();
-        assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
-        shape = slides[3].getShapes()[0];
-        assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
+        fill = slides.get(3).getBackground().getFill();
+        assertEquals(HSLFFill.FILL_SHADE_CENTER, fill.getFillType());
+        shape = slides.get(3).getShapes().get(0);
+        assertEquals(HSLFFill.FILL_SHADE, shape.getFill().getFillType());
 
     }
 
-    private int getFillPictureRefCount(Shape shape, Fill fill) {
+    private int getFillPictureRefCount(HSLFShape shape, HSLFFill fill) {
         EscherOptRecord opt = shape.getEscherOptRecord();
-        EscherSimpleProperty p = Shape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
+        EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
         if(p != null) {
             int idx = p.getPropertyValue();
 
-            Sheet sheet = shape.getSheet();
-            SlideShow ppt = sheet.getSlideShow();
+            HSLFSheet sheet = shape.getSheet();
+            HSLFSlideShow ppt = sheet.getSlideShow();
             Document doc = ppt.getDocumentRecord();
             EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
-            EscherContainerRecord bstore = Shape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
+            EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
             List<EscherRecord> lst = bstore.getChildRecords();
             return ((EscherBSERecord)lst.get(idx-1)).getRef();
         }

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java Fri Jul 24 21:47:55 2015
@@ -17,12 +17,13 @@
 
 package org.apache.poi.hslf.model;
 
-import java.awt.geom.Area;
-import java.awt.geom.GeneralPath;
-import java.awt.geom.Line2D;
-import java.awt.geom.Rectangle2D;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
-import junit.framework.TestCase;
+import java.awt.geom.*;
+
+import org.apache.poi.hslf.usermodel.HSLFFreeformShape;
+import org.junit.Test;
 
 /**
  * Test Freeform object.
@@ -32,8 +33,9 @@ import junit.framework.TestCase;
  *
  * @author Yegor Kozlov
  */
-public final class TestFreeform extends TestCase {
+public final class TestFreeform {
 
+    @Test
     public void testClosedPath() {
 
         GeneralPath path1 = new GeneralPath();
@@ -43,32 +45,34 @@ public final class TestFreeform extends
         path1.lineTo(100, 200);
         path1.closePath();
 
-        Freeform p = new Freeform();
+        HSLFFreeformShape p = new HSLFFreeformShape();
         p.setPath(path1);
 
-        java.awt.Shape path2 = p.getOutline();
+        java.awt.Shape path2 = p.getPath();
         assertTrue(new Area(path1).equals(new Area(path2)));
     }
 
+    @Test
     public void testLine() {
 
         GeneralPath path1 = new GeneralPath(new Line2D.Double(100, 100, 200, 100));
 
-        Freeform p = new Freeform();
+        HSLFFreeformShape p = new HSLFFreeformShape();
         p.setPath(path1);
 
-        java.awt.Shape path2 = p.getOutline();
+        java.awt.Shape path2 = p.getPath();
         assertTrue(new Area(path1).equals(new Area(path2)));
     }
 
+    @Test
     public void testRectangle() {
 
         GeneralPath path1 = new GeneralPath(new Rectangle2D.Double(100, 100, 200, 50));
 
-        Freeform p = new Freeform();
+        HSLFFreeformShape p = new HSLFFreeformShape();
         p.setPath(path1);
 
-        java.awt.Shape path2 = p.getOutline();
+        java.awt.Shape path2 = p.getPath();
         assertTrue(new Area(path1).equals(new Area(path2)));
    }
 
@@ -76,10 +80,11 @@ public final class TestFreeform extends
      * Avoid NPE in  Freeform.getOutline() if either GEOMETRY__VERTICES or
      * GEOMETRY__SEGMENTINFO is missing, see Bugzilla 54188
      */
+    @Test
     public void test54188() {
 
-        Freeform p = new Freeform();
-        GeneralPath path = (GeneralPath)p.getOutline();
+        HSLFFreeformShape p = new HSLFFreeformShape();
+        GeneralPath path = p.getPath();
         GeneralPath emptyPath = new GeneralPath();
         assertEquals(emptyPath.getBounds2D(), path.getBounds2D());
     }

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHeadersFooters.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHeadersFooters.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHeadersFooters.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHeadersFooters.java Fri Jul 24 21:47:55 2015
@@ -17,23 +17,28 @@
 
 package org.apache.poi.hslf.model;
 
-import java.io.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.POIDataSamples;
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.List;
 
-import junit.framework.TestCase;
+import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.HSLFSlide;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.junit.Test;
 
 /**
  * Test {@link org.apache.poi.hslf.model.HeadersFooters} object
  */
-public final class TestHeadersFooters extends TestCase
+public final class TestHeadersFooters
 {
 
     private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
 
-    public void testRead() throws Exception
-    {
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("headers_footers.ppt"));
+    @Test
+    public void testRead() throws Exception {
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("headers_footers.ppt"));
 
         HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
         assertTrue(slideHdd.isFooterVisible());
@@ -53,9 +58,9 @@ public final class TestHeadersFooters ex
         assertTrue(notesHdd.isUserDateVisible());
         assertNull(notesHdd.getDateTimeText());
 
-        Slide[] slide = ppt.getSlides();
+        List<HSLFSlide> slide = ppt.getSlides();
         //the first slide uses presentation-scope headers / footers
-        HeadersFooters hd1 = slide[0].getHeadersFooters();
+        HeadersFooters hd1 = slide.get(0).getHeadersFooters();
         assertEquals(slideHdd.isFooterVisible(), hd1.isFooterVisible());
         assertEquals(slideHdd.getFooterText(), hd1.getFooterText());
         assertEquals(slideHdd.isSlideNumberVisible(), hd1.isSlideNumberVisible());
@@ -65,7 +70,7 @@ public final class TestHeadersFooters ex
         assertEquals(slideHdd.getDateTimeText(), hd1.getDateTimeText());
 
         //the first slide uses per-slide headers / footers
-        HeadersFooters hd2 = slide[1].getHeadersFooters();
+        HeadersFooters hd2 = slide.get(1).getHeadersFooters();
         assertEquals(true, hd2.isFooterVisible());
         assertEquals("per-slide footer", hd2.getFooterText());
         assertEquals(true, hd2.isUserDateVisible());
@@ -75,9 +80,9 @@ public final class TestHeadersFooters ex
     /**
      * If Headers / Footers are not set, all the getters should return <code>false</code> or <code>null</code>
      */
-    public void testReadNoHeadersFooters() throws Exception
-    {
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+    @Test
+    public void testReadNoHeadersFooters() throws Exception {
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
 
         HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
         assertFalse(slideHdd.isFooterVisible());
@@ -97,9 +102,8 @@ public final class TestHeadersFooters ex
         assertFalse(notesHdd.isUserDateVisible());
         assertNull(notesHdd.getDateTimeText());
 
-        Slide[] slide = ppt.getSlides();
-        for(int i=0 ; i < slide.length; i++){
-            HeadersFooters hd1 = slide[i].getHeadersFooters();
+        for(HSLFSlide s : ppt.getSlides()) {
+            HeadersFooters hd1 = s.getHeadersFooters();
             assertFalse(hd1.isFooterVisible());
             assertNull(hd1.getFooterText());
             assertFalse(hd1.isHeaderVisible());
@@ -112,9 +116,9 @@ public final class TestHeadersFooters ex
     /**
      * Test extraction of headers / footers from PPTs saved in Office 2007
      */
-    public void testRead2007() throws Exception
-    {
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("headers_footers_2007.ppt"));
+    @Test
+    public void testRead2007() throws Exception {
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("headers_footers_2007.ppt"));
 
         HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
         assertTrue(slideHdd.isFooterVisible());
@@ -137,9 +141,9 @@ public final class TestHeadersFooters ex
         //assertEquals("08/12/08", notesHdd.getDateTimeText());
 
         //per-slide headers / footers
-        Slide[] slide = ppt.getSlides();
+        List<HSLFSlide> slide = ppt.getSlides();
         //the first slide uses presentation-scope headers / footers
-        HeadersFooters hd1 = slide[0].getHeadersFooters();
+        HeadersFooters hd1 = slide.get(0).getHeadersFooters();
         assertTrue(hd1.isFooterVisible());
         assertEquals("THE FOOTER TEXT", hd1.getFooterText());
         assertTrue(hd1.isSlideNumberVisible());
@@ -150,7 +154,7 @@ public final class TestHeadersFooters ex
         assertEquals("Wednesday, August 06, 2008", hd1.getDateTimeText());
 
         //the second slide uses custom per-slide headers / footers
-        HeadersFooters hd2 = slide[1].getHeadersFooters();
+        HeadersFooters hd2 = slide.get(1).getHeadersFooters();
         assertTrue(hd2.isFooterVisible());
         assertEquals("THE FOOTER TEXT FOR SLIDE 2", hd2.getFooterText());
         assertTrue(hd2.isSlideNumberVisible());
@@ -161,7 +165,7 @@ public final class TestHeadersFooters ex
         assertEquals("August 06, 2008", hd2.getDateTimeText());
 
         //the third slide uses per-slide headers / footers
-        HeadersFooters hd3 = slide[2].getHeadersFooters();
+        HeadersFooters hd3 = slide.get(2).getHeadersFooters();
         assertTrue(hd3.isFooterVisible());
         assertEquals("THE FOOTER TEXT", hd3.getFooterText());
         assertTrue(hd3.isSlideNumberVisible());
@@ -172,9 +176,9 @@ public final class TestHeadersFooters ex
         assertEquals("Wednesday, August 06, 2008", hd3.getDateTimeText());
     }
 
-    public void testCreateSlideFooters() throws Exception
-    {
-        SlideShow ppt = new SlideShow();
+    @Test
+    public void testCreateSlideFooters() throws Exception {
+        HSLFSlideShow ppt = new HSLFSlideShow();
         HeadersFooters hdd = ppt.getSlideHeadersFooters();
         hdd.setFootersText("My slide footer");
         hdd.setSlideNumberVisible(true);
@@ -183,16 +187,16 @@ public final class TestHeadersFooters ex
         ppt.write(out);
         byte[] b = out.toByteArray();
 
-        SlideShow ppt2 = new SlideShow(new ByteArrayInputStream(b));
+        HSLFSlideShow ppt2 = new HSLFSlideShow(new ByteArrayInputStream(b));
         HeadersFooters hdd2 = ppt2.getSlideHeadersFooters();
         assertTrue(hdd2.isSlideNumberVisible());
         assertTrue(hdd2.isFooterVisible());
         assertEquals("My slide footer", hdd2.getFooterText());
     }
 
-    public void testCreateNotesFooters() throws Exception
-    {
-        SlideShow ppt = new SlideShow();
+    @Test
+    public void testCreateNotesFooters() throws Exception {
+        HSLFSlideShow ppt = new HSLFSlideShow();
         HeadersFooters hdd = ppt.getNotesHeadersFooters();
         hdd.setFootersText("My notes footer");
         hdd.setHeaderText("My notes header");
@@ -202,7 +206,7 @@ public final class TestHeadersFooters ex
         ppt.write(out);
         byte[] b = out.toByteArray();
 
-        SlideShow ppt2 = new SlideShow(new ByteArrayInputStream(b));
+        HSLFSlideShow ppt2 = new HSLFSlideShow(new ByteArrayInputStream(b));
         HeadersFooters hdd2 = ppt2.getNotesHeadersFooters();
         assertTrue(hdd2.isSlideNumberVisible());
         assertTrue(hdd2.isFooterVisible());

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHyperlink.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHyperlink.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHyperlink.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHyperlink.java Fri Jul 24 21:47:55 2015
@@ -17,70 +17,68 @@
 
 package org.apache.poi.hslf.model;
 
-import junit.framework.TestCase;
+import static org.apache.poi.hslf.usermodel.HSLFTextParagraph.getRawText;
+import static org.apache.poi.hslf.usermodel.HSLFTextParagraph.toExternalString;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.List;
 
-import org.apache.poi.hslf.usermodel.SlideShow;
 import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Test;
 
 /**
  * Test Hyperlink.
  *
  * @author Yegor Kozlov
  */
-public final class TestHyperlink extends TestCase {
+public final class TestHyperlink {
     private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
 
+    @Test
     public void testTextRunHyperlinks() throws Exception {
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("WithLinks.ppt"));
-
-        TextRun[] run;
-        Slide slide;
-        slide = ppt.getSlides()[0];
-        run = slide.getTextRuns();
-        for (int i = 0; i < run.length; i++) {
-            String text = run[i].getText();
-            if (text.equals(
-                    "This page has two links:\n" +
-                    "http://jakarta.apache.org/poi/\n" +
-                    "\n" +
-                    "http://slashdot.org/\n" +
-                    "\n" +
-                    "In addition, its notes has one link")){
-
-                Hyperlink[] links = run[i].getHyperlinks();
-                assertNotNull(links);
-                assertEquals(2, links.length);
-
-                assertEquals("http://jakarta.apache.org/poi/", links[0].getTitle());
-                assertEquals("http://jakarta.apache.org/poi/", links[0].getAddress());
-                assertEquals("http://jakarta.apache.org/poi/", text.substring(links[0].getStartIndex(), links[0].getEndIndex()-1));
-
-                assertEquals("http://slashdot.org/", links[1].getTitle());
-                assertEquals("http://slashdot.org/", links[1].getAddress());
-                assertEquals("http://slashdot.org/", text.substring(links[1].getStartIndex(), links[1].getEndIndex()-1));
-
-            }
-        }
-
-        slide = ppt.getSlides()[1];
-        run = slide.getTextRuns();
-        for (int i = 0; i < run.length; i++) {
-            String text = run[i].getText();
-            if (text.equals(
-                    "I have the one link:\n" +
-                    "Jakarta HSSF")){
-
-                Hyperlink[] links = run[i].getHyperlinks();
-                assertNotNull(links);
-                assertEquals(1, links.length);
-
-                assertEquals("http://jakarta.apache.org/poi/hssf/", links[0].getTitle());
-                assertEquals("http://jakarta.apache.org/poi/hssf/", links[0].getAddress());
-                assertEquals("Jakarta HSSF", text.substring(links[0].getStartIndex(), links[0].getEndIndex()-1));
-
-            }
-        }
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("WithLinks.ppt"));
 
+        HSLFSlide slide = ppt.getSlides().get(0);
+        List<HSLFTextParagraph> para = slide.getTextParagraphs().get(1);
+        
+        String rawText = toExternalString(getRawText(para), para.get(0).getRunType());
+        String expected =
+            "This page has two links:\n"+
+            "http://jakarta.apache.org/poi/\n"+
+            "\n"+
+            "http://slashdot.org/\n"+
+            "\n"+
+            "In addition, its notes has one link";
+        assertEquals(expected, rawText);
+        
+        List<HSLFHyperlink> links = HSLFHyperlink.find(para);
+        assertNotNull(links);
+        assertEquals(2, links.size());
+
+        assertEquals("http://jakarta.apache.org/poi/", links.get(0).getTitle());
+        assertEquals("http://jakarta.apache.org/poi/", links.get(0).getAddress());
+        assertEquals("http://jakarta.apache.org/poi/", rawText.substring(links.get(0).getStartIndex(), links.get(0).getEndIndex()-1));
+
+        assertEquals("http://slashdot.org/", links.get(1).getTitle());
+        assertEquals("http://slashdot.org/", links.get(1).getAddress());
+        assertEquals("http://slashdot.org/", rawText.substring(links.get(1).getStartIndex(), links.get(1).getEndIndex()-1));
+
+        slide = ppt.getSlides().get(1);
+        para = slide.getTextParagraphs().get(1);
+        rawText = toExternalString(getRawText(para), para.get(0).getRunType());
+        expected = 
+            "I have the one link:\n" +
+            "Jakarta HSSF";
+        assertEquals(expected, rawText);
+
+        links = HSLFHyperlink.find(para);
+        assertNotNull(links);
+        assertEquals(1, links.size());
+
+        assertEquals("http://jakarta.apache.org/poi/hssf/", links.get(0).getTitle());
+        assertEquals("http://jakarta.apache.org/poi/hssf/", links.get(0).getAddress());
+        assertEquals("Jakarta HSSF", rawText.substring(links.get(0).getStartIndex(), links.get(0).getEndIndex()-1));
     }
-
 }

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java Fri Jul 24 21:47:55 2015
@@ -19,21 +19,24 @@ package org.apache.poi.hslf.model;
 
 import java.awt.Color;
 
-import junit.framework.TestCase;
-
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlide;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.sl.usermodel.StrokeStyle.LineCompound;
+import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;
+import org.junit.Test;
 
 /**
  * Test Line shape.
  *
  * @author Yegor Kozlov
  */
-public final class TestLine extends TestCase {
+public final class TestLine {
 
+    @Test
     public void testCreateLines() {
-        SlideShow ppt = new SlideShow();
+        HSLFSlideShow ppt = new HSLFSlideShow();
 
-        Slide slide = ppt.createSlide();
+        HSLFSlide slide = ppt.createSlide();
 
         slide.addTitle().setText("Lines tester");
 
@@ -44,31 +47,31 @@ public final class TestLine extends Test
          */
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(75, 200, 300, 0));
-        line.setLineStyle(Line.LINE_SIMPLE);
+        line.setLineCompound(LineCompound.SINGLE);
         line.setLineColor(Color.blue);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(75, 230, 300, 0));
-        line.setLineStyle(Line.LINE_DOUBLE);
+        line.setLineCompound(LineCompound.DOUBLE);
         line.setLineWidth(3.5);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(75, 260, 300, 0));
-        line.setLineStyle(Line.LINE_TRIPLE);
+        line.setLineCompound(LineCompound.TRIPLE);
         line.setLineWidth(6);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(75, 290, 300, 0));
-        line.setLineStyle(Line.LINE_THICKTHIN);
+        line.setLineCompound(LineCompound.THICK_THIN);
         line.setLineWidth(4.5);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(75, 320, 300, 0));
-        line.setLineStyle(Line.LINE_THINTHICK);
+        line.setLineCompound(LineCompound.THIN_THICK);
         line.setLineWidth(5.5);
         slide.addShape(line);
 
@@ -77,27 +80,27 @@ public final class TestLine extends Test
          */
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(450, 200, 300, 0));
-        line.setLineDashing(Line.PEN_SOLID);
+        line.setLineDashing(LineDash.SOLID);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(450, 230, 300, 0));
-        line.setLineDashing(Line.PEN_PS_DASH);
+        line.setLineDashing(LineDash.DASH);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(450, 260, 300, 0));
-        line.setLineDashing(Line.PEN_DOT);
+        line.setLineDashing(LineDash.DOT);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(450, 290, 300, 0));
-        line.setLineDashing(Line.PEN_DOTGEL);
+        line.setLineDashing(LineDash.DASH_DOT);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(450, 320, 300, 0));
-        line.setLineDashing(Line.PEN_LONGDASHDOTDOTGEL);
+        line.setLineDashing(LineDash.LG_DASH_DOT_DOT);
         slide.addShape(line);
 
         /**
@@ -105,22 +108,22 @@ public final class TestLine extends Test
          */
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(75, 400, 300, 0));
-        line.setLineDashing(Line.PEN_DASHDOT);
-        line.setLineStyle(Line.LINE_TRIPLE);
+        line.setLineDashing(LineDash.DASH_DOT);
+        line.setLineCompound(LineCompound.TRIPLE);
         line.setLineWidth(5.0);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(75, 430, 300, 0));
-        line.setLineDashing(Line.PEN_DASH);
-        line.setLineStyle(Line.LINE_THICKTHIN);
+        line.setLineDashing(LineDash.DASH);
+        line.setLineCompound(LineCompound.THICK_THIN);
         line.setLineWidth(4.0);
         slide.addShape(line);
 
         line = new Line();
         line.setAnchor(new java.awt.Rectangle(75, 460, 300, 0));
-        line.setLineDashing(Line.PEN_DOT);
-        line.setLineStyle(Line.LINE_DOUBLE);
+        line.setLineDashing(LineDash.DOT);
+        line.setLineCompound(LineCompound.DOUBLE);
         line.setLineWidth(8.0);
         slide.addShape(line);
     }

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java Fri Jul 24 21:47:55 2015
@@ -17,32 +17,34 @@
 
 package org.apache.poi.hslf.model;
 
+import static org.junit.Assert.*;
+
 import java.awt.geom.Rectangle2D;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 
-import junit.framework.TestCase;
-
-import org.apache.poi.hslf.usermodel.SlideShow;
 import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Test;
 
 /**
  * Test <code>MovieShape</code> object.
  *
  * @author Yegor Kozlov
  */
-public final class TestMovieShape extends TestCase {
+public final class TestMovieShape {
 
     private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
 
+    @Test
     public void testCreate() throws Exception {
-        SlideShow ppt = new SlideShow();
+        HSLFSlideShow ppt = new HSLFSlideShow();
 
-        Slide slide = ppt.createSlide();
+        HSLFSlide slide = ppt.createSlide();
 
         String path = "/test-movie.mpg";
         int movieIdx = ppt.addMovie(path, MovieShape.MOVIE_MPEG);
-        int thumbnailIdx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
+        int thumbnailIdx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
 
         MovieShape shape = new MovieShape(movieIdx, thumbnailIdx);
         shape.setAnchor(new Rectangle2D.Float(300,225,120,90));
@@ -56,9 +58,9 @@ public final class TestMovieShape extend
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         ppt.write(out);
 
-        ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
-        slide = ppt.getSlides()[0];
-        shape = (MovieShape)slide.getShapes()[0];
+        ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
+        slide = ppt.getSlides().get(0);
+        shape = (MovieShape)slide.getShapes().get(0);
         assertEquals(path, shape.getPath());
         assertFalse(shape.isAutoPlay());
     }

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestOleEmbedding.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestOleEmbedding.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestOleEmbedding.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestOleEmbedding.java Fri Jul 24 21:47:55 2015
@@ -18,59 +18,54 @@
 package org.apache.poi.hslf.model;
 
 import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
 
 import java.awt.geom.Rectangle2D;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
+import java.io.*;
 
 import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.ObjectData;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.*;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.util.IOUtils;
+import org.junit.Test;
 
-public final class TestOleEmbedding extends TestCase {
+public final class TestOleEmbedding {
     private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
     /**
      * Tests support for OLE objects.
      *
      * @throws Exception if an error occurs.
      */
+    @Test
     public void testOleEmbedding2003() throws Exception {
-        HSLFSlideShow slideShow = new HSLFSlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
+        HSLFSlideShowImpl slideShow = new HSLFSlideShowImpl(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
         // Placeholder EMFs for clients that don't support the OLE components.
-        PictureData[] pictures = slideShow.getPictures();
+        HSLFPictureData[] pictures = slideShow.getPictures();
         assertEquals("Should be two pictures", 2, pictures.length);
         //assertDigestEquals("Wrong data for picture 1", "8d1fbadf4814f321bb1ccdd056e3c788", pictures[0].getData());
         //assertDigestEquals("Wrong data for picture 2", "987a698e83559cf3d38a0deeba1cc63b", pictures[1].getData());
 
         // Actual embedded objects.
-        ObjectData[] objects = slideShow.getEmbeddedObjects();
+        HSLFObjectData[] objects = slideShow.getEmbeddedObjects();
         assertEquals("Should be two objects", 2, objects.length);
         //assertDigestEquals("Wrong data for objecs 1", "0d1fcc61a83de5c4894dc0c88e9a019d", objects[0].getData());
         //assertDigestEquals("Wrong data for object 2", "b323604b2003a7299c77c2693b641495", objects[1].getData());
     }
 
+    @Test
     public void testOLEShape() throws Exception {
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
 
-        Slide slide = ppt.getSlides()[0];
-        Shape[] sh = slide.getShapes();
+        HSLFSlide slide = ppt.getSlides().get(0);
         int cnt = 0;
-        for (int i = 0; i < sh.length; i++) {
-            if(sh[i] instanceof OLEShape){
+        for (HSLFShape sh : slide.getShapes()) {
+            if(sh instanceof OLEShape){
                 cnt++;
-                OLEShape ole = (OLEShape)sh[i];
-                ObjectData data = ole.getObjectData();
+                OLEShape ole = (OLEShape)sh;
+                HSLFObjectData data = ole.getObjectData();
                 if("Worksheet".equals(ole.getInstanceName())){
                     //Voila! we created a workbook from the embedded OLE data
                     HSSFWorkbook wb = new HSSFWorkbook(data.getData());
@@ -81,6 +76,7 @@ public final class TestOleEmbedding exte
                     assertEquals(2, sheet.getRow(2).getCell(0).getNumericCellValue(), 0);
                     assertEquals(3, sheet.getRow(3).getCell(0).getNumericCellValue(), 0);
                     assertEquals(8, sheet.getRow(5).getCell(0).getNumericCellValue(), 0);
+                    wb.close();
                 } else if ("Document".equals(ole.getInstanceName())){
                     //creating a HWPF document
                     HWPFDocument doc = new HWPFDocument(data.getData());
@@ -93,12 +89,13 @@ public final class TestOleEmbedding exte
         assertEquals("Expected 2 OLE shapes", 2, cnt);
     }
     
+    @Test
     public void testEmbedding() throws Exception {
-    	HSLFSlideShow _hslfSlideShow = HSLFSlideShow.create();
-    	SlideShow ppt = new SlideShow(_hslfSlideShow);
+    	HSLFSlideShowImpl _hslfSlideShow = HSLFSlideShowImpl.create();
+    	HSLFSlideShow ppt = new HSLFSlideShow(_hslfSlideShow);
     	
     	File pict = POIDataSamples.getSlideShowInstance().getFile("clock.jpg");
-    	int pictId = ppt.addPicture(pict, Picture.JPEG);
+    	int pictId = ppt.addPicture(pict, HSLFPictureShape.JPEG);
     	
     	InputStream is = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("Employee.xls");
     	POIFSFileSystem poiData1 = new POIFSFileSystem(is);
@@ -106,14 +103,14 @@ public final class TestOleEmbedding exte
     	
     	int oleObjectId1 = ppt.addEmbed(poiData1);
     	
-    	Slide slide1 = ppt.createSlide();
+    	HSLFSlide slide1 = ppt.createSlide();
     	OLEShape oleShape1 = new OLEShape(pictId);
     	oleShape1.setObjectID(oleObjectId1);
     	slide1.addShape(oleShape1);
     	oleShape1.setAnchor(new Rectangle2D.Double(100,100,100,100));
     	
     	// add second slide with different order in object creation
-    	Slide slide2 = ppt.createSlide();
+    	HSLFSlide slide2 = ppt.createSlide();
     	OLEShape oleShape2 = new OLEShape(pictId);
 
         is = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("SimpleWithImages.xls");
@@ -129,8 +126,8 @@ public final class TestOleEmbedding exte
     	ByteArrayOutputStream bos = new ByteArrayOutputStream();
     	ppt.write(bos);
     	
-    	ppt = new SlideShow(new ByteArrayInputStream(bos.toByteArray()));
-    	OLEShape comp = (OLEShape)ppt.getSlides()[0].getShapes()[0];
+    	ppt = new HSLFSlideShow(new ByteArrayInputStream(bos.toByteArray()));
+    	OLEShape comp = (OLEShape)ppt.getSlides().get(0).getShapes().get(0);
     	byte compData[] = IOUtils.toByteArray(comp.getObjectData().getData());
     	
     	bos.reset();

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPFont.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPFont.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPFont.java Fri Jul 24 21:47:55 2015
@@ -17,18 +17,22 @@
 
 package org.apache.poi.hslf.model;
 
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import static org.junit.Assert.assertEquals;
+
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.junit.Test;
+
 
 /**
  * Test adding fonts to the presenataion resources
  *
  * @author Yegor Kozlov
  */
-public final class TestPPFont extends TestCase{
+public final class TestPPFont {
 
+    @Test
     public void testCreate() {
-        SlideShow ppt = new SlideShow();
+        HSLFSlideShow ppt = new HSLFSlideShow();
         assertEquals(1, ppt.getNumberOfFonts());
         assertEquals("Arial", ppt.getFont(0).getFontName());
 

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java Fri Jul 24 21:47:55 2015
@@ -17,39 +17,44 @@
 
 package org.apache.poi.hslf.model;
 
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.POIDataSamples;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import java.awt.*;
-import java.awt.Rectangle;
-import java.io.ByteArrayOutputStream;
 import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.List;
+
+import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Before;
+import org.junit.Test;
 
 /**
  * Test drawing shapes via Graphics2D
  *
  * @author Yegor Kozlov
  */
-public final class TestPPGraphics2D extends TestCase {
+public final class TestPPGraphics2D {
     private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
-    private SlideShow ppt;
+    private HSLFSlideShow ppt;
 
-    protected void setUp() throws Exception {
-		ppt = new SlideShow(_slTests.openResourceAsStream("empty.ppt"));
+    @Before
+    public void setUp() throws Exception {
+		ppt = new HSLFSlideShow(_slTests.openResourceAsStream("empty.ppt"));
     }
 
+    @Test
     public void testGraphics() throws Exception {
     	// Starts off empty
-    	assertEquals(0, ppt.getSlides().length);
+    	assertTrue(ppt.getSlides().isEmpty());
 
     	// Add a slide
-        Slide slide = ppt.createSlide();
-    	assertEquals(1, ppt.getSlides().length);
+        HSLFSlide slide = ppt.createSlide();
+    	assertEquals(1, ppt.getSlides().size());
 
     	// Add some stuff into it
-        ShapeGroup group = new ShapeGroup();
+        HSLFGroupShape group = new HSLFGroupShape();
         Dimension pgsize = ppt.getPageSize();
         java.awt.Rectangle bounds = new java.awt.Rectangle(0, 0, (int)pgsize.getWidth(), (int)pgsize.getHeight());
         group.setAnchor(bounds);
@@ -73,18 +78,18 @@ public final class TestPPGraphics2D exte
         out.close();
 
         // And read it back in
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        assertEquals(1, ppt.getSlides().length);
+        ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+        assertEquals(1, ppt.getSlides().size());
 
-        slide = ppt.getSlides()[0];
-        Shape[] shape = slide.getShapes();
-        assertEquals(shape.length, 1); //group shape
+        slide = ppt.getSlides().get(0);
+        List<HSLFShape> shape = slide.getShapes();
+        assertEquals(shape.size(), 1); //group shape
 
-        assertTrue(shape[0] instanceof ShapeGroup); //group shape
+        assertTrue(shape.get(0) instanceof HSLFGroupShape); //group shape
 
-        group = (ShapeGroup)shape[0];
+        group = (HSLFGroupShape)shape.get(0);
         shape = group.getShapes();
-        assertEquals(shape.length, 3);
+        assertEquals(shape.size(), 3);
     }
 
 }

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java Fri Jul 24 21:47:55 2015
@@ -17,45 +17,46 @@
 
 package org.apache.poi.hslf.model;
 
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.HSLFSlideShow;
+import static org.junit.Assert.*;
 
-import java.io.ByteArrayOutputStream;
 import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Test;
 
 /**
  * Test setting text properties of newly added TextBoxes
  *
  * @author Yegor Kozlov
  */
-public final class TestSetBoldItalic extends TestCase {
+public final class TestSetBoldItalic {
     /**
      * Verify that we can add TextBox shapes to a slide
      * and set some of the style attributes
      */
+    @Test
     public void testTextBoxWrite() throws Exception {
-        SlideShow ppt = new SlideShow();
-        Slide sl = ppt.createSlide();
-        RichTextRun rt;
+        HSLFSlideShow ppt = new HSLFSlideShow();
+        HSLFSlide sl = ppt.createSlide();
+        HSLFTextRun rt;
 
         String val = "Hello, World!";
 
         // Create a new textbox, and give it lots of properties
-        TextBox txtbox = new TextBox();
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
+        HSLFTextBox txtbox = new HSLFTextBox();
+        rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
         txtbox.setText(val);
-        rt.setFontSize(42);
+        rt.setFontSize(42d);
         rt.setBold(true);
         rt.setItalic(true);
         rt.setUnderlined(false);
         sl.addShape(txtbox);
 
         // Check it before save
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
-        assertEquals(val, rt.getText());
-        assertEquals(42, rt.getFontSize());
+        rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
+        assertEquals(val, rt.getRawText());
+        assertEquals(42, rt.getFontSize(), 0);
         assertTrue(rt.isBold());
         assertTrue(rt.isItalic());
 
@@ -64,15 +65,15 @@ public final class TestSetBoldItalic ext
         ppt.write(out);
         out.close();
 
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        sl = ppt.getSlides()[0];
+        ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+        sl = ppt.getSlides().get(0);
 
-        txtbox = (TextBox)sl.getShapes()[0];
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
+        txtbox = (HSLFTextBox)sl.getShapes().get(0);
+        rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
 
         // Check after save
-        assertEquals(val, rt.getText());
-        assertEquals(42, rt.getFontSize());
+        assertEquals(val, rt.getRawText());
+        assertEquals(42, rt.getFontSize(), 0);
         assertTrue(rt.isBold());
         assertTrue(rt.isItalic());
         assertFalse(rt.isUnderlined());

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java Fri Jul 24 21:47:55 2015
@@ -17,30 +17,19 @@
 
 package org.apache.poi.hslf.model;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Rectangle;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
+import static org.junit.Assert.*;
+
+import java.awt.*;
+import java.awt.geom.Rectangle2D;
+import java.io.*;
 import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.poi.POIDataSamples;
-import org.apache.poi.ddf.EscherDgRecord;
-import org.apache.poi.ddf.EscherDggRecord;
-import org.apache.poi.ddf.EscherOptRecord;
-import org.apache.poi.ddf.EscherProperties;
-import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.ddf.*;
+import org.apache.poi.hslf.usermodel.*;
+import org.apache.poi.sl.usermodel.ShapeType;
+import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -52,17 +41,17 @@ import org.junit.Test;
 public final class TestShapes {
     private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
 
-    private SlideShow ppt;
-    private SlideShow pptB;
+    private HSLFSlideShow ppt;
+    private HSLFSlideShow pptB;
 
     @Before
     public void setUp() throws Exception {
         InputStream is1 = null, is2 = null;
         try {
             is1 = _slTests.openResourceAsStream("empty.ppt");
-            ppt = new SlideShow(is1);
+            ppt = new HSLFSlideShow(is1);
             is2 = _slTests.openResourceAsStream("empty_textbox.ppt");
-            pptB = new SlideShow(is2);
+            pptB = new HSLFSlideShow(is2);
         } finally {
             is1.close();
             is2.close();
@@ -71,21 +60,21 @@ public final class TestShapes {
 
     @Test
     public void graphics() throws Exception {
-        Slide slide = ppt.createSlide();
+        HSLFSlide slide = ppt.createSlide();
 
         Line line = new Line();
         java.awt.Rectangle lineAnchor = new java.awt.Rectangle(100, 200, 50, 60);
         line.setAnchor(lineAnchor);
         line.setLineWidth(3);
-        line.setLineStyle(Line.PEN_DASH);
+        line.setLineDashing(LineDash.DASH);
         line.setLineColor(Color.red);
         slide.addShape(line);
 
-        AutoShape ellipse = new AutoShape(ShapeTypes.Ellipse);
+        HSLFAutoShape ellipse = new HSLFAutoShape(ShapeType.ELLIPSE);
         java.awt.Rectangle ellipseAnchor = new Rectangle(320, 154, 55, 111);
         ellipse.setAnchor(ellipseAnchor);
         ellipse.setLineWidth(2);
-        ellipse.setLineStyle(Line.PEN_SOLID);
+        ellipse.setLineDashing(LineDash.SOLID);
         ellipse.setLineColor(Color.green);
         ellipse.setFillColor(Color.lightGray);
         slide.addShape(ellipse);
@@ -96,18 +85,18 @@ public final class TestShapes {
 
         //read ppt from byte array
 
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        assertEquals(1, ppt.getSlides().length);
+        ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+        assertEquals(1, ppt.getSlides().size());
 
-        slide = ppt.getSlides()[0];
-        Shape[] shape = slide.getShapes();
-        assertEquals(2, shape.length);
+        slide = ppt.getSlides().get(0);
+        List<HSLFShape> shape = slide.getShapes();
+        assertEquals(2, shape.size());
 
-        assertTrue(shape[0] instanceof Line); //group shape
-        assertEquals(lineAnchor, shape[0].getAnchor()); //group shape
+        assertTrue(shape.get(0) instanceof Line); //group shape
+        assertEquals(lineAnchor, shape.get(0).getAnchor()); //group shape
 
-        assertTrue(shape[1] instanceof AutoShape); //group shape
-        assertEquals(ellipseAnchor, shape[1].getAnchor()); //group shape
+        assertTrue(shape.get(1) instanceof HSLFAutoShape); //group shape
+        assertEquals(ellipseAnchor, shape.get(1).getAnchor()); //group shape
     }
 
     /**
@@ -116,54 +105,96 @@ public final class TestShapes {
      */
     @Test
     public void textBoxRead() throws Exception {
-        ppt = new SlideShow(_slTests.openResourceAsStream("with_textbox.ppt"));
-        Slide sl = ppt.getSlides()[0];
-        Shape[] sh = sl.getShapes();
-        for (int i = 0; i < sh.length; i++) {
-            assertTrue(sh[i] instanceof TextBox);
-            TextBox txtbox = (TextBox)sh[i];
+        ppt = new HSLFSlideShow(_slTests.openResourceAsStream("with_textbox.ppt"));
+        HSLFSlide sl = ppt.getSlides().get(0);
+        for (HSLFShape sh : sl.getShapes()) {
+            assertTrue(sh instanceof HSLFTextBox);
+            HSLFTextBox txtbox = (HSLFTextBox)sh;
             String text = txtbox.getText();
             assertNotNull(text);
 
-            assertEquals(txtbox.getTextRun().getRichTextRuns().length, 1);
-            RichTextRun rt = txtbox.getTextRun().getRichTextRuns()[0];
+            assertEquals(txtbox.getTextParagraphs().get(0).getTextRuns().size(), 1);
+            HSLFTextRun rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
 
             if (text.equals("Hello, World!!!")){
-                assertEquals(32, rt.getFontSize());
+                assertEquals(32, rt.getFontSize(), 0);
                 assertTrue(rt.isBold());
                 assertTrue(rt.isItalic());
             } else if (text.equals("I am just a poor boy")){
-                assertEquals(44, rt.getFontSize());
+                assertEquals(44, rt.getFontSize(), 0);
                 assertTrue(rt.isBold());
             } else if (text.equals("This is Times New Roman")){
-                assertEquals(16, rt.getFontSize());
+                assertEquals(16, rt.getFontSize(), 0);
                 assertTrue(rt.isBold());
                 assertTrue(rt.isItalic());
                 assertTrue(rt.isUnderlined());
             } else if (text.equals("Plain Text")){
-                assertEquals(18, rt.getFontSize());
+                assertEquals(18, rt.getFontSize(), 0);
             }
         }
     }
 
+    @SuppressWarnings("unused")
+    @Test
+    public void testParagraphs() throws Exception {
+        HSLFSlideShow ppt = new HSLFSlideShow();
+        HSLFSlide slide = ppt.createSlide();
+        HSLFTextBox shape = new HSLFTextBox();
+        HSLFTextRun p1r1 = shape.setText("para 1 run 1. ");
+        HSLFTextRun p1r2 = shape.appendText("para 1 run 2.", false);
+        HSLFTextRun p2r1 = shape.appendText("para 2 run 1. ", true);
+        HSLFTextRun p2r2 = shape.appendText("para 2 run 2. ", false);
+        p1r1.setFontColor(Color.black);
+        p1r2.setFontColor(Color.red);
+        p2r1.setFontColor(Color.yellow);
+        p2r2.setStrikethrough(true);
+        // run 3 has same text properties as run 2 and will be merged when saving
+        HSLFTextRun p2r3 = shape.appendText("para 2 run 3.", false);
+        shape.setAnchor(new Rectangle2D.Double(100,100,100,10));
+        slide.addShape(shape);
+        shape.resizeToFitText();
+        
+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        ppt.write(bos);
+        
+        ppt = new HSLFSlideShow(new ByteArrayInputStream(bos.toByteArray()));
+        slide = ppt.getSlides().get(0);
+        HSLFTextBox tb = (HSLFTextBox)slide.getShapes().get(0);
+        List<HSLFTextParagraph> para = tb.getTextParagraphs();
+        HSLFTextRun tr = para.get(0).getTextRuns().get(0);
+        assertEquals("para 1 run 1. ", tr.getRawText());
+        assertEquals(Color.black, tr.getFontColor());
+        tr = para.get(0).getTextRuns().get(1);
+        assertEquals("para 1 run 2.\r",  tr.getRawText());
+        assertEquals(Color.red, tr.getFontColor());
+        tr = para.get(1).getTextRuns().get(0);
+        assertEquals("para 2 run 1. ", tr.getRawText());
+        assertEquals(Color.yellow, tr.getFontColor());
+        tr = para.get(1).getTextRuns().get(1);
+        assertEquals("para 2 run 2. para 2 run 3.", tr.getRawText());
+        assertEquals(Color.black, tr.getFontColor());
+        assertTrue(tr.isStrikethrough());
+    }
+        
+    
     /**
      * Verify that we can add TextBox shapes to a slide
      * and set some of the style attributes
      */
     @Test
     public void textBoxWriteBytes() throws Exception {
-        ppt = new SlideShow();
-        Slide sl = ppt.createSlide();
-        RichTextRun rt;
+        ppt = new HSLFSlideShow();
+        HSLFSlide sl = ppt.createSlide();
+        HSLFTextRun rt;
 
         String val = "Hello, World!";
 
         // Create a new textbox, and give it lots of properties
-        TextBox txtbox = new TextBox();
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
+        HSLFTextBox txtbox = new HSLFTextBox();
+        rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
         txtbox.setText(val);
-        rt.setFontName("Arial");
-        rt.setFontSize(42);
+        rt.setFontFamily("Arial");
+        rt.setFontSize(42d);
         rt.setBold(true);
         rt.setItalic(true);
         rt.setUnderlined(false);
@@ -171,13 +202,13 @@ public final class TestShapes {
         sl.addShape(txtbox);
 
         // Check it before save
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
-        assertEquals(val, rt.getText());
-        assertEquals(42, rt.getFontSize());
+        rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
+        assertEquals(val, rt.getRawText());
+        assertEquals(42, rt.getFontSize(), 0);
         assertTrue(rt.isBold());
         assertTrue(rt.isItalic());
         assertFalse(rt.isUnderlined());
-        assertEquals("Arial", rt.getFontName());
+        assertEquals("Arial", rt.getFontFamily());
         assertEquals(Color.red, rt.getFontColor());
 
         // Serialize and read again
@@ -185,19 +216,19 @@ public final class TestShapes {
         ppt.write(out);
         out.close();
 
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        sl = ppt.getSlides()[0];
+        ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+        sl = ppt.getSlides().get(0);
 
-        txtbox = (TextBox)sl.getShapes()[0];
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
+        txtbox = (HSLFTextBox)sl.getShapes().get(0);
+        rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
 
         // Check after save
-        assertEquals(val, rt.getText());
-        assertEquals(42, rt.getFontSize());
+        assertEquals(val, rt.getRawText());
+        assertEquals(42, rt.getFontSize(), 0);
         assertTrue(rt.isBold());
         assertTrue(rt.isItalic());
         assertFalse(rt.isUnderlined());
-        assertEquals("Arial", rt.getFontName());
+        assertEquals("Arial", rt.getFontFamily());
         assertEquals(Color.red, rt.getFontColor());
     }
 
@@ -206,13 +237,13 @@ public final class TestShapes {
      */
     @Test
     public void emptyTextBox() {
-    	assertEquals(2, pptB.getSlides().length);
-    	Slide s1 = pptB.getSlides()[0];
-    	Slide s2 = pptB.getSlides()[1];
+    	assertEquals(2, pptB.getSlides().size());
+    	HSLFSlide s1 = pptB.getSlides().get(0);
+    	HSLFSlide s2 = pptB.getSlides().get(1);
 
     	// Check we can get the shapes count
-    	assertEquals(2, s1.getShapes().length);
-    	assertEquals(2, s2.getShapes().length);
+    	assertEquals(2, s1.getShapes().size());
+    	assertEquals(2, s2.getShapes().size());
     }
 
     /**
@@ -230,21 +261,26 @@ public final class TestShapes {
     }
 
     private void textBoxSet(String filename) throws Exception {
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(filename));
-        Slide[] sl = ppt.getSlides();
-        for (int k = 0; k < sl.length; k++) {
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(filename));
+        for (HSLFSlide sld : ppt.getSlides()) {
             ArrayList<String> lst1 = new ArrayList<String>();
-            TextRun[] txt = sl[k].getTextRuns();
-            for (int i = 0; i < txt.length; i++) {
-                lst1.add(txt[i].getText());
+            for (List<HSLFTextParagraph> txt : sld.getTextParagraphs()) {
+                for (HSLFTextParagraph p : txt) {
+                    for (HSLFTextRun r : p) {
+                        lst1.add(r.getRawText());
+                    }
+                }
             }
 
             ArrayList<String> lst2 = new ArrayList<String>();
-            Shape[] sh = sl[k].getShapes();
-            for (int i = 0; i < sh.length; i++) {
-                if (sh[i] instanceof TextShape){
-                    TextShape tbox = (TextShape)sh[i];
-                    lst2.add(tbox.getText());
+            for (HSLFShape sh : sld.getShapes()) {
+                if (sh instanceof HSLFTextShape){
+                    HSLFTextShape tbox = (HSLFTextShape)sh;
+                    for (HSLFTextParagraph p : tbox.getTextParagraphs()) {
+                        for (HSLFTextRun r : p) {
+                            lst2.add(r.getRawText());
+                        }
+                    }
                 }
             }
             assertTrue(lst1.containsAll(lst2));
@@ -257,18 +293,18 @@ public final class TestShapes {
      */
     @Test
     public void shapeGroup() throws Exception {
-        SlideShow ppt = new SlideShow();
+        HSLFSlideShow ppt = new HSLFSlideShow();
 
-        Slide slide = ppt.createSlide();
+        HSLFSlide slide = ppt.createSlide();
         Dimension pgsize = ppt.getPageSize();
 
-        ShapeGroup group = new ShapeGroup();
+        HSLFGroupShape group = new HSLFGroupShape();
 
         group.setAnchor(new Rectangle(0, 0, (int)pgsize.getWidth(), (int)pgsize.getHeight()));
         slide.addShape(group);
 
-        int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
-        Picture pict = new Picture(idx, group);
+        int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), HSLFPictureShape.JPEG);
+        HSLFPictureShape pict = new HSLFPictureShape(idx, group);
         pict.setAnchor(new Rectangle(0, 0, 200, 200));
         group.addShape(pict);
 
@@ -282,25 +318,25 @@ public final class TestShapes {
         out.close();
 
         ByteArrayInputStream is = new ByteArrayInputStream(out.toByteArray());
-        ppt = new SlideShow(is);
+        ppt = new HSLFSlideShow(is);
         is.close();
 
-        slide = ppt.getSlides()[0];
+        slide = ppt.getSlides().get(0);
 
-        Shape[] shape = slide.getShapes();
-        assertEquals(1, shape.length);
-        assertTrue(shape[0] instanceof ShapeGroup);
-
-        group = (ShapeGroup)shape[0];
-        Shape[] grshape = group.getShapes();
-        assertEquals(2, grshape.length);
-        assertTrue(grshape[0] instanceof Picture);
-        assertTrue(grshape[1] instanceof Line);
+        List<HSLFShape> shape = slide.getShapes();
+        assertEquals(1, shape.size());
+        assertTrue(shape.get(0) instanceof HSLFGroupShape);
+
+        group = (HSLFGroupShape)shape.get(0);
+        List<HSLFShape> grshape = group.getShapes();
+        assertEquals(2, grshape.size());
+        assertTrue(grshape.get(0) instanceof HSLFPictureShape);
+        assertTrue(grshape.get(1) instanceof Line);
 
-        pict = (Picture)grshape[0];
+        pict = (HSLFPictureShape)grshape.get(0);
         assertEquals(new Rectangle(0, 0, 200, 200), pict.getAnchor());
 
-        line = (Line)grshape[1];
+        line = (Line)grshape.get(1);
         assertEquals(new Rectangle(300, 300, 500, 0), line.getAnchor());
     }
 
@@ -310,48 +346,48 @@ public final class TestShapes {
     @Test
     public void removeShapes() throws IOException {
         String file = "with_textbox.ppt";
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(file));
-        Slide sl = ppt.getSlides()[0];
-        Shape[] sh = sl.getShapes();
-        assertEquals("expected four shaped in " + file, 4, sh.length);
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(file));
+        HSLFSlide sl = ppt.getSlides().get(0);
+        List<HSLFShape> sh = sl.getShapes();
+        assertEquals("expected four shaped in " + file, 4, sh.size());
         //remove all
-        for (int i = 0; i < sh.length; i++) {
-            boolean ok = sl.removeShape(sh[i]);
+        for (int i = 0; i < sh.size(); i++) {
+            boolean ok = sl.removeShape(sh.get(i));
             assertTrue("Failed to delete shape #" + i, ok);
         }
         //now Slide.getShapes() should return an empty array
-        assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().length);
+        assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().size());
 
         //serialize and read again. The file should be readable and contain no shapes
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         ppt.write(out);
         out.close();
 
-        ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
-        sl = ppt.getSlides()[0];
-        assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().length);
+        ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
+        sl = ppt.getSlides().get(0);
+        assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().size());
     }
 
     @Test
     public void lineWidth() {
-        SimpleShape sh = new AutoShape(ShapeTypes.RightTriangle);
+        HSLFSimpleShape sh = new HSLFAutoShape(ShapeType.RT_TRIANGLE);
 
         EscherOptRecord opt = sh.getEscherOptRecord();
-        EscherSimpleProperty prop = SimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
+        EscherSimpleProperty prop = HSLFSimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
         assertNull(prop);
-        assertEquals(SimpleShape.DEFAULT_LINE_WIDTH, sh.getLineWidth(), 0);
+        assertEquals(HSLFSimpleShape.DEFAULT_LINE_WIDTH, sh.getLineWidth(), 0);
 
         sh.setLineWidth(1.0);
-        prop = SimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
+        prop = HSLFSimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
         assertNotNull(prop);
         assertEquals(1.0, sh.getLineWidth(), 0);
     }
 
     @Test
     public void shapeId() {
-        SlideShow ppt = new SlideShow();
-        Slide slide = ppt.createSlide();
-        Shape shape = null;
+        HSLFSlideShow ppt = new HSLFSlideShow();
+        HSLFSlide slide = ppt.createSlide();
+        HSLFShape shape = null;
 
         //EscherDgg is a document-level record which keeps track of the drawing groups
         EscherDggRecord dgg = ppt.getDocumentRecord().getPPDrawingGroup().getEscherDggRecord();
@@ -399,25 +435,25 @@ public final class TestShapes {
 
     @Test
     public void lineColor() throws IOException {
-        SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("51731.ppt"));
-        Shape[] shape = ppt.getSlides()[0].getShapes();
+        HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("51731.ppt"));
+        List<HSLFShape> shape = ppt.getSlides().get(0).getShapes();
 
-        assertEquals(4, shape.length);
+        assertEquals(4, shape.size());
 
-        TextShape sh1 = (TextShape)shape[0];
+        HSLFTextShape sh1 = (HSLFTextShape)shape.get(0);
         assertEquals("Hello Apache POI", sh1.getText());
         assertNull(sh1.getLineColor());
 
-        TextShape sh2 = (TextShape)shape[1];
+        HSLFTextShape sh2 = (HSLFTextShape)shape.get(1);
         assertEquals("Why are you showing this border?", sh2.getText());
         assertNull(sh2.getLineColor());
 
-        TextShape sh3 = (TextShape)shape[2];
+        HSLFTextShape sh3 = (HSLFTextShape)shape.get(2);
         assertEquals("Text in a black border", sh3.getText());
         assertEquals(Color.black, sh3.getLineColor());
         assertEquals(0.75, sh3.getLineWidth(), 0);
 
-        TextShape sh4 = (TextShape)shape[3];
+        HSLFTextShape sh4 = (HSLFTextShape)shape.get(3);
         assertEquals("Border width is 5 pt", sh4.getText());
         assertEquals(Color.black, sh4.getLineColor());
         assertEquals(5.0, sh4.getLineWidth(), 0);

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSheet.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSheet.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSheet.java Fri Jul 24 21:47:55 2015
@@ -17,14 +17,17 @@
 
 package org.apache.poi.hslf.model;
 
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
+import java.util.List;
+
+import org.apache.poi.POIDataSamples;
 import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
 import org.apache.poi.hslf.record.ColorSchemeAtom;
 import org.apache.poi.hslf.record.PPDrawing;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Test;
 
 /**
  * Test common functionality of the <code>Sheet</code> object.
@@ -32,17 +35,18 @@ import org.apache.poi.POIDataSamples;
  *
  * @author Yegor Kozlov
  */
-public final class TestSheet extends TestCase {
+public final class TestSheet {
     private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
 
     /**
      * For each ppt in the test directory check that all sheets are properly initialized
      */
+    @Test
     public void testSheet() throws Exception {
         String[] tests = {"SampleShow.ppt", "backgrounds.ppt", "text_shapes.ppt", "pictures.ppt"};
         for (String file : tests) {
             try {
-                SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(file));
+                HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(file));
                 doSlideShow(ppt);
             } catch (EncryptedPowerPointFileException e){
                 ; //skip encrypted ppt
@@ -50,21 +54,20 @@ public final class TestSheet extends Tes
         }
     }
 
-    private void doSlideShow(SlideShow ppt) {
-        Slide[] slide = ppt.getSlides();
-        for (int i = 0; i < slide.length; i++) {
-            verify(slide[i]);
+    private void doSlideShow(HSLFSlideShow ppt) {
+        for (HSLFSlide slide : ppt.getSlides()) {
+            verify(slide);
 
-            Notes notes = slide[i].getNotesSheet();
+            HSLFNotes notes = slide.getNotes();
             if(notes != null) verify(notes);
 
-            MasterSheet master = slide[i].getMasterSheet();
+            HSLFMasterSheet master = slide.getMasterSheet();
             assertNotNull(master);
             verify(master);
         }
     }
 
-    private void verify(Sheet sheet){
+    private void verify(HSLFSheet sheet){
         assertNotNull(sheet.getSlideShow());
 
         ColorSchemeAtom colorscheme = sheet.getColorScheme();
@@ -73,29 +76,28 @@ public final class TestSheet extends Tes
         PPDrawing ppdrawing = sheet.getPPDrawing();
         assertNotNull(ppdrawing);
 
-        Background background = sheet.getBackground();
+        HSLFBackground background = sheet.getBackground();
         assertNotNull(background);
 
         assertTrue(sheet._getSheetNumber() != 0);
         assertTrue(sheet._getSheetRefId() != 0);
 
-        TextRun[] txt = sheet.getTextRuns();
-        if (txt == null) {
-            throw new AssertionFailedError("no text runs");
-        }
-        for (int i = 0; i < txt.length; i++) {
-            assertNotNull(txt[i].getSheet());
+        List<List<HSLFTextParagraph>> txt = sheet.getTextParagraphs();
+        // assertTrue("no text runs", txt != null && !txt.isEmpty());
+        // backgrounds.ppt has no texts
+        for (List<HSLFTextParagraph> t : txt) {
+            for (HSLFTextParagraph tp : t) {
+                assertNotNull(tp.getSheet());
+            }
         }
 
-        Shape[] shape = sheet.getShapes();
-        if (shape == null) {
-            throw new AssertionFailedError("no shapes");
-        }
-        for (int i = 0; i < shape.length; i++) {
-            assertNotNull(shape[i].getSpContainer());
-            assertNotNull(shape[i].getSheet());
-            assertNotNull(shape[i].getShapeName());
-            assertNotNull(shape[i].getAnchor());
+        List<HSLFShape> shape = sheet.getShapes();
+        assertTrue("no shapes", shape != null && !shape.isEmpty());
+        for (HSLFShape s : shape) {
+            assertNotNull(s.getSpContainer());
+            assertNotNull(s.getSheet());
+            assertNotNull(s.getShapeName());
+            assertNotNull(s.getAnchor());
         }
     }
 }

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java Fri Jul 24 21:47:55 2015
@@ -18,30 +18,33 @@
 package org.apache.poi.hslf.model;
 
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
 
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.record.SlideAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
 import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.record.SlideAtom;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Before;
+import org.junit.Test;
 
 /**
  * Tests that changing a slide's idea of what notes sheet is its works right
  *
  * @author Nick Burch (nick at torchbox dot com)
  */
-public final class TestSlideChangeNotes extends TestCase {
+public final class TestSlideChangeNotes {
 	// SlideShow primed on the test data
-	private SlideShow ss;
+	private HSLFSlideShow ss;
 
-	public TestSlideChangeNotes() throws Exception {
+	@Before
+	public void init() throws Exception {
         POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
-		HSLFSlideShow hss = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
-		ss = new SlideShow(hss);
+		HSLFSlideShowImpl hss = new HSLFSlideShowImpl(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+		ss = new HSLFSlideShow(hss);
 	}
 
+	@Test
 	public void testSetToNone() {
-		Slide slideOne = ss.getSlides()[0];
+		HSLFSlide slideOne = ss.getSlides().get(0);
 		SlideAtom sa = slideOne.getSlideRecord().getSlideAtom();
 
 		slideOne.setNotes(null);
@@ -49,9 +52,10 @@ public final class TestSlideChangeNotes
 		assertEquals(0, sa.getNotesID());
 	}
 
+	@Test
 	public void testSetToSomething() {
-		Slide slideOne = ss.getSlides()[0];
-		Notes notesOne = ss.getNotes()[1];
+		HSLFSlide slideOne = ss.getSlides().get(0);
+		HSLFNotes notesOne = ss.getNotes().get(1);
 		SlideAtom sa = slideOne.getSlideRecord().getSlideAtom();
 
 		slideOne.setNotes(notesOne);



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