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 2018/05/01 18:22:00 UTC

svn commit: r1830705 - in /poi/trunk/src: examples/src/org/apache/poi/hpsf/examples/ ooxml/testcases/org/apache/poi/poifs/crypt/ scratchpad/testcases/org/apache/poi/ scratchpad/testcases/org/apache/poi/hslf/record/ testcases/org/apache/poi/ testcases/o...

Author: kiwiwings
Date: Tue May  1 18:22:00 2018
New Revision: 1830705

URL: http://svn.apache.org/viewvc?rev=1830705&view=rev
Log:
Cleanup Biff8EncryptionKey usage and use HPSF constants instead of duplicated strings

Modified:
    poi/trunk/src/examples/src/org/apache/poi/hpsf/examples/ReadTitle.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestHxxFEncryption.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/TestPOIDocumentScratchpad.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestDocumentEncryption.java
    poi/trunk/src/testcases/org/apache/poi/TestPOIDocumentMain.java
    poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestBasic.java
    poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestEmptyProperties.java
    poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestUnicode.java
    poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseXLSIteratingTest.java
    poi/trunk/src/testcases/org/apache/poi/hssf/eventusermodel/TestHSSFEventFactory.java
    poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestExcelExtractor.java
    poi/trunk/src/testcases/org/apache/poi/hssf/record/TestRecordFactoryInputStream.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestCryptoAPI.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestNonStandardWorkbookStreamNames.java
    poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestXorEncryption.java
    poi/trunk/src/testcases/org/apache/poi/poifs/property/TestDocumentProperty.java
    poi/trunk/src/testcases/org/apache/poi/poifs/property/TestPropertyTable.java

Modified: poi/trunk/src/examples/src/org/apache/poi/hpsf/examples/ReadTitle.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hpsf/examples/ReadTitle.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hpsf/examples/ReadTitle.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hpsf/examples/ReadTitle.java Tue May  1 18:22:00 2018
@@ -46,8 +46,7 @@ public class ReadTitle
     {
         final String filename = args[0];
         POIFSReader r = new POIFSReader();
-        r.registerListener(new MyPOIFSReaderListener(),
-                           "\005SummaryInformation");
+        r.registerListener(new MyPOIFSReaderListener(), SummaryInformation.DEFAULT_STREAM_NAME);
         r.read(new FileInputStream(filename));
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestHxxFEncryption.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestHxxFEncryption.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestHxxFEncryption.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestHxxFEncryption.java Tue May  1 18:22:00 2018
@@ -52,11 +52,6 @@ import org.junit.runners.Parameterized.P
 
 @RunWith(Parameterized.class)
 public class TestHxxFEncryption {
-    @AfterClass
-    public static void clearPass() {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-    }
-
     @Parameter(value = 0)
     public POIDataSamples sampleDir;
 
@@ -99,12 +94,14 @@ public class TestHxxFEncryption {
     
     @Test
     public void extract() throws IOException, OpenXML4JException, XmlException {
-        Biff8EncryptionKey.setCurrentUserPassword(password);
         File f = sampleDir.getFile(file);
-        POITextExtractor te = ExtractorFactory.createExtractor(f);
-        String actual = te.getText().trim();
-        assertEquals(expected, actual);
-        te.close();
+        Biff8EncryptionKey.setCurrentUserPassword(password);
+        try (POITextExtractor te = ExtractorFactory.createExtractor(f)) {
+            String actual = te.getText().trim();
+            assertEquals(expected, actual);
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
+        }
     }
     
     @Test
@@ -118,70 +115,72 @@ public class TestHxxFEncryption {
     }
     
     public void newPassword(String newPass) throws IOException, OpenXML4JException, XmlException {
-        Biff8EncryptionKey.setCurrentUserPassword(password);
         File f = sampleDir.getFile(file);
-        POITextExtractor te1 = ExtractorFactory.createExtractor(f);
-        Biff8EncryptionKey.setCurrentUserPassword(newPass);
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        POIDocument doc = (POIDocument)te1.getDocument();
-        doc.write(bos);
-        doc.close();
-        te1.close();
-        ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
-        POITextExtractor te2 = ExtractorFactory.createExtractor(bis);
-        String actual = te2.getText().trim();
-        assertEquals(expected, actual);
-        te2.close();
+        Biff8EncryptionKey.setCurrentUserPassword(password);
+        try (POITextExtractor te1 = ExtractorFactory.createExtractor(f)) {
+            Biff8EncryptionKey.setCurrentUserPassword(newPass);
+            ByteArrayOutputStream bos = new ByteArrayOutputStream();
+            try (POIDocument doc = (POIDocument) te1.getDocument()) {
+                doc.write(bos);
+            }
+            ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
+            try (POITextExtractor te2 = ExtractorFactory.createExtractor(bis)) {
+                String actual = te2.getText().trim();
+                assertEquals(expected, actual);
+            }
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
+        }
     }
 
     /** changing the encryption mode and key size in poor mans style - see comments below */
     @Test
     public void changeEncryption() throws IOException, OpenXML4JException, XmlException {
+        File f = sampleDir.getFile(file);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         Biff8EncryptionKey.setCurrentUserPassword(password);
-        File f = sampleDir.getFile(file);
-        POITextExtractor te1 = ExtractorFactory.createExtractor(f);
-        // first remove encryption
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-        POIDocument doc = (POIDocument)te1.getDocument();
-        doc.write(bos);
-        doc.close();
-        te1.close();
-        // then use default setting, which is cryptoapi
-        String newPass = "newPass";
-        POITextExtractor te2 = ExtractorFactory.createExtractor(new ByteArrayInputStream(bos.toByteArray()));
-        Biff8EncryptionKey.setCurrentUserPassword(newPass);
-        doc = (POIDocument)te2.getDocument();
-        bos.reset();
-        doc.write(bos);
-        doc.close();
-        te2.close();
-        // and finally update cryptoapi setting
-        POITextExtractor te3 = ExtractorFactory.createExtractor(new ByteArrayInputStream(bos.toByteArray()));
-        doc = (POIDocument)te3.getDocument();
-        // need to cache data (i.e. read all data) before changing the key size
-        if (doc instanceof HSLFSlideShowImpl) {
-            HSLFSlideShowImpl hss = (HSLFSlideShowImpl)doc;
-            hss.getPictureData();
-            hss.getDocumentSummaryInformation();
+        try (POITextExtractor te1 = ExtractorFactory.createExtractor(f)) {
+            // first remove encryption
+            Biff8EncryptionKey.setCurrentUserPassword(null);
+            try (POIDocument doc = (POIDocument) te1.getDocument()) {
+                doc.write(bos);
+            }
+            // then use default setting, which is cryptoapi
+            String newPass = "newPass";
+            try (POITextExtractor te2 = ExtractorFactory.createExtractor(new ByteArrayInputStream(bos.toByteArray()))) {
+                Biff8EncryptionKey.setCurrentUserPassword(newPass);
+                try (POIDocument doc = (POIDocument) te2.getDocument()) {
+                    bos.reset();
+                    doc.write(bos);
+                }
+            }
+            // and finally update cryptoapi setting
+            try (POITextExtractor te3 = ExtractorFactory.createExtractor(new ByteArrayInputStream(bos.toByteArray()));
+                 POIDocument doc = (POIDocument) te3.getDocument()) {
+                // need to cache data (i.e. read all data) before changing the key size
+                if (doc instanceof HSLFSlideShowImpl) {
+                    HSLFSlideShowImpl hss = (HSLFSlideShowImpl) doc;
+                    hss.getPictureData();
+                    hss.getDocumentSummaryInformation();
+                }
+                EncryptionInfo ei = doc.getEncryptionInfo();
+                assertNotNull(ei);
+                assertTrue(ei.getHeader() instanceof CryptoAPIEncryptionHeader);
+                assertEquals(0x28, ei.getHeader().getKeySize());
+                ei.getHeader().setKeySize(0x78);
+                bos.reset();
+                doc.write(bos);
+            }
+            // check the setting
+            try (POITextExtractor te4 = ExtractorFactory.createExtractor(new ByteArrayInputStream(bos.toByteArray()));
+                 POIDocument doc = (POIDocument) te4.getDocument()) {
+                EncryptionInfo ei = doc.getEncryptionInfo();
+                assertNotNull(ei);
+                assertTrue(ei.getHeader() instanceof CryptoAPIEncryptionHeader);
+                assertEquals(0x78, ei.getHeader().getKeySize());
+            }
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
         }
-        EncryptionInfo ei = doc.getEncryptionInfo();
-        assertNotNull(ei);
-        assertTrue(ei.getHeader() instanceof CryptoAPIEncryptionHeader);
-        assertEquals(0x28, ei.getHeader().getKeySize());
-        ei.getHeader().setKeySize(0x78);
-        bos.reset();
-        doc.write(bos);
-        doc.close();
-        te3.close();
-        // check the setting
-        POITextExtractor te4 = ExtractorFactory.createExtractor(new ByteArrayInputStream(bos.toByteArray()));
-        doc = (POIDocument)te4.getDocument();
-        ei = doc.getEncryptionInfo();
-        assertNotNull(ei);
-        assertTrue(ei.getHeader() instanceof CryptoAPIEncryptionHeader);
-        assertEquals(0x78, ei.getHeader().getKeySize());
-        doc.close();
-        te4.close();
     }
 }

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/TestPOIDocumentScratchpad.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/TestPOIDocumentScratchpad.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/TestPOIDocumentScratchpad.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/TestPOIDocumentScratchpad.java Tue May  1 18:22:00 2018
@@ -28,7 +28,9 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.apache.poi.hpsf.DocumentSummaryInformation;
 import org.apache.poi.hpsf.HPSFPropertiesOnlyDocument;
+import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hslf.usermodel.HSLFSlideShowImpl;
 import org.apache.poi.hwpf.HWPFTestDataSamples;
 import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
@@ -91,8 +93,8 @@ public final class TestPOIDocumentScratc
 		doc.writeProperties(outFS);
 
 		// Should now hold them
-		assertNotNull(outFS.createDocumentInputStream("\005SummaryInformation"));
-		assertNotNull(outFS.createDocumentInputStream("\005DocumentSummaryInformation"));
+		assertNotNull(outFS.createDocumentInputStream(SummaryInformation.DEFAULT_STREAM_NAME));
+		assertNotNull(outFS.createDocumentInputStream(DocumentSummaryInformation.DEFAULT_STREAM_NAME));
 		outFS.close();
 	}
 

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestDocumentEncryption.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestDocumentEncryption.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestDocumentEncryption.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestDocumentEncryption.java Tue May  1 18:22:00 2018
@@ -59,94 +59,90 @@ import org.junit.Test;
 public class TestDocumentEncryption {
     POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
 
-    @Before
-    @After  // also afterwards to not affect other tests running in the same JVM
-    public void resetPassword() {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-    }
-    
     @Test
     public void cryptoAPIDecryptionOther() throws Exception {
-        Biff8EncryptionKey.setCurrentUserPassword("hello");
         String encPpts[] = {
             "Password_Protected-56-hello.ppt",
             "Password_Protected-hello.ppt",
             "Password_Protected-np-hello.ppt",
         };
 
-        for (String pptFile : encPpts) {
-            try {
-                NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);
-                HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs);
-                new HSLFSlideShow(hss).close();
-                fs.close();
-            } catch (EncryptedPowerPointFileException e) {
-                fail(pptFile+" can't be decrypted");
+        Biff8EncryptionKey.setCurrentUserPassword("hello");
+        try {
+            for (String pptFile : encPpts) {
+                try (NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);
+                     HSLFSlideShow ppt = new HSLFSlideShow(fs)) {
+                    assertTrue(ppt.getSlides().size() > 0);
+                } catch (EncryptedPowerPointFileException e) {
+                    fail(pptFile + " can't be decrypted");
+                }
             }
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
         }
-        // password is reset in @After
     }
 
     @Test
     public void cryptoAPIChangeKeySize() throws Exception {
         String pptFile = "cryptoapi-proc2356.ppt";
         Biff8EncryptionKey.setCurrentUserPassword("crypto");
-        NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);
-        HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs);
-        // need to cache data (i.e. read all data) before changing the key size
-        List<HSLFPictureData> picsExpected = hss.getPictureData();
-        hss.getDocumentSummaryInformation();
-        DocumentEncryptionAtom documentEncryptionAtom = hss.getDocumentEncryptionAtom();
-        assertNotNull(documentEncryptionAtom);
-        EncryptionInfo ei = documentEncryptionAtom.getEncryptionInfo();
-        ((CryptoAPIEncryptionHeader) ei.getHeader()).setKeySize(0x78);
-
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        hss.write(bos);
-        hss.close();
-        fs.close();
-
-        fs = new NPOIFSFileSystem(new ByteArrayInputStream(bos.toByteArray()));
-        hss = new HSLFSlideShowImpl(fs);
-        List<HSLFPictureData> picsActual = hss.getPictureData();
-
-        assertEquals(picsExpected.size(), picsActual.size());
-        for (int i = 0; i < picsExpected.size(); i++) {
-            assertArrayEquals(picsExpected.get(i).getRawData(), picsActual.get(i).getRawData());
+        try (NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);
+             HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs)) {
+            // need to cache data (i.e. read all data) before changing the key size
+            List<HSLFPictureData> picsExpected = hss.getPictureData();
+            hss.getDocumentSummaryInformation();
+            DocumentEncryptionAtom documentEncryptionAtom = hss.getDocumentEncryptionAtom();
+            assertNotNull(documentEncryptionAtom);
+            EncryptionInfo ei = documentEncryptionAtom.getEncryptionInfo();
+            ((CryptoAPIEncryptionHeader) ei.getHeader()).setKeySize(0x78);
+
+            ByteArrayOutputStream bos = new ByteArrayOutputStream();
+            hss.write(bos);
+
+            try (NPOIFSFileSystem fs2 = new NPOIFSFileSystem(new ByteArrayInputStream(bos.toByteArray()));
+                 HSLFSlideShowImpl hss2 = new HSLFSlideShowImpl(fs2)) {
+                List<HSLFPictureData> picsActual = hss2.getPictureData();
+
+                assertEquals(picsExpected.size(), picsActual.size());
+                for (int i = 0; i < picsExpected.size(); i++) {
+                    assertArrayEquals(picsExpected.get(i).getRawData(), picsActual.get(i).getRawData());
+                }
+            }
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
         }
-        hss.close();
-        fs.close();
-        // password is reset in @After
     }
 
     @Test
     public void cryptoAPIEncryption() throws Exception {
         /* documents with multiple edits need to be normalized for encryption */
         String pptFile = "57272_corrupted_usereditatom.ppt";
-        NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);
-        HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs);
-        hss.normalizeRecords();
-        
-        // normalized ppt
-        ByteArrayOutputStream expected = new ByteArrayOutputStream();
-        hss.write(expected);
-        
-        // encrypted
-        Biff8EncryptionKey.setCurrentUserPassword("hello");
         ByteArrayOutputStream encrypted = new ByteArrayOutputStream();
-        hss.write(encrypted);
-        hss.close();
-        fs.close();
-
-        // decrypted
-        ByteArrayInputStream bis = new ByteArrayInputStream(encrypted.toByteArray());
-        fs = new NPOIFSFileSystem(bis);
-        hss = new HSLFSlideShowImpl(fs);
-        Biff8EncryptionKey.setCurrentUserPassword(null);
+        ByteArrayOutputStream expected = new ByteArrayOutputStream();
         ByteArrayOutputStream actual = new ByteArrayOutputStream();
-        hss.write(actual);
-        hss.close();
-        fs.close();
+        try {
+            try (NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);
+                 HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs)) {
+                hss.normalizeRecords();
+
+                // normalized ppt
+                hss.write(expected);
+
+                // encrypted
+                Biff8EncryptionKey.setCurrentUserPassword("hello");
+                hss.write(encrypted);
+            }
+
+            // decrypted
+            ByteArrayInputStream bis = new ByteArrayInputStream(encrypted.toByteArray());
+            try (NPOIFSFileSystem fs = new NPOIFSFileSystem(bis);
+                 HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs)) {
+                Biff8EncryptionKey.setCurrentUserPassword(null);
+                hss.write(actual);
+            }
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
+        }
         
         assertArrayEquals(expected.toByteArray(), actual.toByteArray());
     }    
@@ -156,49 +152,49 @@ public class TestDocumentEncryption {
         // taken from a msdn blog:
         // http://blogs.msdn.com/b/openspecification/archive/2009/05/08/dominic-salemno.aspx
         Biff8EncryptionKey.setCurrentUserPassword("crypto");
-        NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile("cryptoapi-proc2356.ppt"));
-        HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs);
-        HSLFSlideShow ss = new HSLFSlideShow(hss);
-
-        HSLFSlide slide = ss.getSlides().get(0);
-        String rawText = HSLFTextParagraph.getRawText(slide.getTextParagraphs().get(0));
-        assertEquals("Dominic Salemno", rawText);
-
-        String picCmp[][] = {
-                {"0", "nKsDTKqxTCR8LFkVVWlP9GSTvZ0="},
-                {"95163", "SuNOR+9V1UVYZIoeD65l3VTaLoc="},
-                {"100864", "Ql3IGrr4bNq07ZTp5iPg7b+pva8="},
-                {"714114", "8pdst9NjBGSfWezSZE8+aVhIRe0="},
-                {"723752", "go6xqW7lvkCtlOO5tYLiMfb4oxw="},
-                {"770128", "gZUM8YqRNL5kGNfyyYvEEernvCc="},
-                {"957958", "CNU2iiqUFAnk3TDXsXV1ihH9eRM="},
-        };
+        try (NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile("cryptoapi-proc2356.ppt"));
+             HSLFSlideShow ss = new HSLFSlideShow(fs)) {
 
-        MessageDigest md = CryptoFunctions.getMessageDigest(HashAlgorithm.sha1);
-        List<HSLFPictureData> pd = hss.getPictureData();
-        int i = 0;
-        for (HSLFPictureData p : pd) {
-            byte hash[] = md.digest(p.getData());
-            assertEquals(Integer.parseInt(picCmp[i][0]), p.getOffset());
-            assertEquals(picCmp[i][1], Base64.encodeBase64String(hash));
-            i++;
-        }
+            HSLFSlide slide = ss.getSlides().get(0);
+            String rawText = HSLFTextParagraph.getRawText(slide.getTextParagraphs().get(0));
+            assertEquals("Dominic Salemno", rawText);
+
+            String picCmp[][] = {
+                    {"0", "nKsDTKqxTCR8LFkVVWlP9GSTvZ0="},
+                    {"95163", "SuNOR+9V1UVYZIoeD65l3VTaLoc="},
+                    {"100864", "Ql3IGrr4bNq07ZTp5iPg7b+pva8="},
+                    {"714114", "8pdst9NjBGSfWezSZE8+aVhIRe0="},
+                    {"723752", "go6xqW7lvkCtlOO5tYLiMfb4oxw="},
+                    {"770128", "gZUM8YqRNL5kGNfyyYvEEernvCc="},
+                    {"957958", "CNU2iiqUFAnk3TDXsXV1ihH9eRM="},
+            };
+
+            MessageDigest md = CryptoFunctions.getMessageDigest(HashAlgorithm.sha1);
+            List<HSLFPictureData> pd = ss.getSlideShowImpl().getPictureData();
+            int i = 0;
+            for (HSLFPictureData p : pd) {
+                byte hash[] = md.digest(p.getData());
+                assertEquals(Integer.parseInt(picCmp[i][0]), p.getOffset());
+                assertEquals(picCmp[i][1], Base64.encodeBase64String(hash));
+                i++;
+            }
 
-        DocumentEncryptionAtom dea = hss.getDocumentEncryptionAtom();
-        assertNotNull(dea);
+            DocumentEncryptionAtom dea = ss.getSlideShowImpl().getDocumentEncryptionAtom();
+            assertNotNull(dea);
 
-        POIFSFileSystem fs2 = ((CryptoAPIDecryptor) dea.getEncryptionInfo().getDecryptor()).getSummaryEntries(fs.getRoot(), "EncryptedSummary");
-        PropertySet ps = PropertySetFactory.create(fs2.getRoot(), SummaryInformation.DEFAULT_STREAM_NAME);
-        assertNotNull(ps);
-        assertTrue(ps.isSummaryInformation());
-        assertEquals("RC4 CryptoAPI Encryption", ps.getProperties()[1].getValue());
-        ps = PropertySetFactory.create(fs2.getRoot(), DocumentSummaryInformation.DEFAULT_STREAM_NAME);
-        assertNotNull(ps);
-        assertTrue(ps.isDocumentSummaryInformation());
-        assertEquals("On-screen Show (4:3)", ps.getProperties()[1].getValue());
-        ss.close();
-        fs.close();
-        fs2.close();
-        // password is reset in @After
+            CryptoAPIDecryptor dec = (CryptoAPIDecryptor) dea.getEncryptionInfo().getDecryptor();
+            try (POIFSFileSystem fs2 = dec.getSummaryEntries(fs.getRoot(), "EncryptedSummary")) {
+                PropertySet ps = PropertySetFactory.create(fs2.getRoot(), SummaryInformation.DEFAULT_STREAM_NAME);
+                assertNotNull(ps);
+                assertTrue(ps.isSummaryInformation());
+                assertEquals("RC4 CryptoAPI Encryption", ps.getProperties()[1].getValue());
+                ps = PropertySetFactory.create(fs2.getRoot(), DocumentSummaryInformation.DEFAULT_STREAM_NAME);
+                assertNotNull(ps);
+                assertTrue(ps.isDocumentSummaryInformation());
+                assertEquals("On-screen Show (4:3)", ps.getProperties()[1].getValue());
+            }
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
+        }
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/TestPOIDocumentMain.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/TestPOIDocumentMain.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/TestPOIDocumentMain.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/TestPOIDocumentMain.java Tue May  1 18:22:00 2018
@@ -25,7 +25,9 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.apache.poi.hpsf.DocumentSummaryInformation;
 import org.apache.poi.hpsf.HPSFPropertiesOnlyDocument;
+import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
@@ -89,10 +91,10 @@ public final class TestPOIDocumentMain {
 
         // Should now hold them
         assertNotNull(
-                outFS.createDocumentInputStream("\005SummaryInformation")
+                outFS.createDocumentInputStream(SummaryInformation.DEFAULT_STREAM_NAME)
         );
         assertNotNull(
-                outFS.createDocumentInputStream("\005DocumentSummaryInformation")
+                outFS.createDocumentInputStream(DocumentSummaryInformation.DEFAULT_STREAM_NAME)
         );
     }
 

Modified: poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestBasic.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestBasic.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestBasic.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestBasic.java Tue May  1 18:22:00 2018
@@ -53,8 +53,8 @@ public final class TestBasic {
     private static final POIDataSamples samples = POIDataSamples.getHPSFInstance();
 
     private static final String[] POI_FILES = {
-        "\005SummaryInformation",
-        "\005DocumentSummaryInformation",
+        SummaryInformation.DEFAULT_STREAM_NAME,
+        DocumentSummaryInformation.DEFAULT_STREAM_NAME,
         "WordDocument",
         "\001CompObj",
         "1Table"

Modified: poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestEmptyProperties.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestEmptyProperties.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestEmptyProperties.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestEmptyProperties.java Tue May  1 18:22:00 2018
@@ -56,7 +56,7 @@ public final class TestEmptyProperties {
 
 	private static final String[] POI_FILES = {
         "PerfectOffice_MAIN",
-        "\005SummaryInformation",
+        SummaryInformation.DEFAULT_STREAM_NAME,
         "Main"
     };
 

Modified: poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestUnicode.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestUnicode.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestUnicode.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hpsf/basic/TestUnicode.java Tue May  1 18:22:00 2018
@@ -43,7 +43,7 @@ public class TestUnicode {
 
     static final String POI_FS = "TestUnicode.xls";
     static final String[] POI_FILES =  {
-        "\005DocumentSummaryInformation",
+        DocumentSummaryInformation.DEFAULT_STREAM_NAME,
     };
     File data;
     POIFile[] poiFiles;

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseXLSIteratingTest.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseXLSIteratingTest.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseXLSIteratingTest.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseXLSIteratingTest.java Tue May  1 18:22:00 2018
@@ -90,9 +90,6 @@ public abstract class BaseXLSIteratingTe
     
 	@Test
 	public void testMain() throws Exception {
-	    // we had intermittent problems when this was set differently somehow, let's try to set it here so it always is set correctly for these tests
-	    Biff8EncryptionKey.setCurrentUserPassword(null);
-
 	    String fileName = file.getName();
 	    if (EXCLUDED.containsKey(fileName)) {
 	        thrown.expect(EXCLUDED.get(fileName));

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/eventusermodel/TestHSSFEventFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/eventusermodel/TestHSSFEventFactory.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/eventusermodel/TestHSSFEventFactory.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/eventusermodel/TestHSSFEventFactory.java Tue May  1 18:22:00 2018
@@ -46,12 +46,6 @@ public final class TestHSSFEventFactory
         return HSSFTestDataSamples.openSampleFileStream(sampleFileName);
     }
 
-    // to not affect other tests running in the same JVM
-    @After
-    public void resetPassword() {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-    }
-
     public void testWithMissingRecords() throws Exception {
 
         HSSFRequest req = new HSSFRequest();
@@ -156,7 +150,6 @@ public final class TestHSSFEventFactory
         req.addListenerForAllRecords(mockListen);
 
         // Without a password, can't be read
-        Biff8EncryptionKey.setCurrentUserPassword(null);
         POIFSFileSystem fs = new POIFSFileSystem(openSample("xor-encryption-abc.xls"));
 
         HSSFEventFactory factory = new HSSFEventFactory();
@@ -168,44 +161,47 @@ public final class TestHSSFEventFactory
 
         // With the password, is properly processed
         Biff8EncryptionKey.setCurrentUserPassword("abc");
+        try {
+            req = new HSSFRequest();
+            mockListen = new MockHSSFListener();
+            req.addListenerForAllRecords(mockListen);
+            factory.processWorkbookEvents(req, fs);
 
-        req = new HSSFRequest();
-        mockListen = new MockHSSFListener();
-        req.addListenerForAllRecords(mockListen);
-        factory.processWorkbookEvents(req, fs);
-
-        // Check we got the sheet and the contents
-        Record[] recs = mockListen.getRecords();
-        assertTrue( recs.length > 50 );
-
-        // Has one sheet, with values 1,2,3 in column A rows 1-3
-        boolean hasSheet=false, hasA1=false, hasA2=false, hasA3=false;
-        for (Record r : recs) {
-            if (r instanceof BoundSheetRecord) {
-                BoundSheetRecord bsr = (BoundSheetRecord)r;
-                assertEquals("Sheet1", bsr.getSheetname());
-                hasSheet = true;
-            }
-            if (r instanceof NumberRecord) {
-                NumberRecord nr = (NumberRecord)r;
-                if (nr.getColumn() == 0 && nr.getRow() == 0) {
-                    assertEquals(1, (int)nr.getValue());
-                    hasA1 = true;
+            // Check we got the sheet and the contents
+            Record[] recs = mockListen.getRecords();
+            assertTrue(recs.length > 50);
+
+            // Has one sheet, with values 1,2,3 in column A rows 1-3
+            boolean hasSheet = false, hasA1 = false, hasA2 = false, hasA3 = false;
+            for (Record r : recs) {
+                if (r instanceof BoundSheetRecord) {
+                    BoundSheetRecord bsr = (BoundSheetRecord) r;
+                    assertEquals("Sheet1", bsr.getSheetname());
+                    hasSheet = true;
                 }
-                if (nr.getColumn() == 0 && nr.getRow() == 1) {
-                    assertEquals(2, (int)nr.getValue());
-                    hasA2 = true;
-                }
-                if (nr.getColumn() == 0 && nr.getRow() == 2) {
-                    assertEquals(3, (int)nr.getValue());
-                    hasA3 = true;
+                if (r instanceof NumberRecord) {
+                    NumberRecord nr = (NumberRecord) r;
+                    if (nr.getColumn() == 0 && nr.getRow() == 0) {
+                        assertEquals(1, (int) nr.getValue());
+                        hasA1 = true;
+                    }
+                    if (nr.getColumn() == 0 && nr.getRow() == 1) {
+                        assertEquals(2, (int) nr.getValue());
+                        hasA2 = true;
+                    }
+                    if (nr.getColumn() == 0 && nr.getRow() == 2) {
+                        assertEquals(3, (int) nr.getValue());
+                        hasA3 = true;
+                    }
                 }
             }
-        }
 
-        assertTrue("Sheet record not found", hasSheet);
-        assertTrue("Numeric record for A1 not found", hasA1);
-        assertTrue("Numeric record for A2 not found", hasA2);
-        assertTrue("Numeric record for A3 not found", hasA3);
+            assertTrue("Sheet record not found", hasSheet);
+            assertTrue("Numeric record for A1 not found", hasA1);
+            assertTrue("Numeric record for A2 not found", hasA2);
+            assertTrue("Numeric record for A3 not found", hasA3);
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
+        }
     }
 }	

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestExcelExtractor.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestExcelExtractor.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/extractor/TestExcelExtractor.java Tue May  1 18:22:00 2018
@@ -41,12 +41,6 @@ import org.junit.Test;
  *
  */
 public final class TestExcelExtractor {
-    // to not affect other tests running in the same JVM
-    @After
-    public void resetPassword() {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-    }
-
     private static ExcelExtractor createExtractor(String sampleFileName) throws IOException {
 		File file = HSSFTestDataSamples.getSampleFile(sampleFileName);
         POIFSFileSystem fs = new POIFSFileSystem(file);
@@ -355,9 +349,10 @@ public final class TestExcelExtractor {
 		Biff8EncryptionKey.setCurrentUserPassword("password");
 		try (ExcelExtractor extractor = createExtractor("password.xls")) {
 			String text = extractor.getText();
+			assertContains(text, "ZIP");
+		} finally {
 			Biff8EncryptionKey.setCurrentUserPassword(null);
 
-			assertContains(text, "ZIP");
 		}
 	}
 

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/record/TestRecordFactoryInputStream.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/record/TestRecordFactoryInputStream.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/record/TestRecordFactoryInputStream.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/record/TestRecordFactoryInputStream.java Tue May  1 18:22:00 2018
@@ -36,12 +36,6 @@ import org.junit.rules.ExpectedException
  * @author Josh Micich
  */
 public final class TestRecordFactoryInputStream {
-    // to not affect other tests running in the same JVM
-    @After
-    public void resetPassword() {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-    }
-
 	/**
 	 * Hex dump of a BOF record and most of a FILEPASS record.
 	 * A 16 byte saltHash should be added to complete the second record
@@ -82,7 +76,6 @@ public final class TestRecordFactoryInpu
 				+ SAMPLE_WINDOW1_ENCR1
 		);
 
-        Biff8EncryptionKey.setCurrentUserPassword(null);
 	    expectedEx.expect(EncryptedDocumentException.class);
 	    expectedEx.expectMessage("Default password is invalid for salt/verifier/verifierHash");
 		createRFIS(dataWrongDefault);
@@ -100,7 +93,6 @@ public final class TestRecordFactoryInpu
                 + SAMPLE_WINDOW1_ENCR1
         );
 
-        Biff8EncryptionKey.setCurrentUserPassword(null);
         RecordFactoryInputStream rfis = createRFIS(dataCorrectDefault);
         confirmReadInitialRecords(rfis);
     }
@@ -121,12 +113,15 @@ public final class TestRecordFactoryInpu
 				+ SAMPLE_WINDOW1_ENCR2
 		);
 
+		expectedEx.expect(EncryptedDocumentException.class);
+		expectedEx.expectMessage("Supplied password is invalid for salt/verifier/verifierHash");
 
 		Biff8EncryptionKey.setCurrentUserPassword("passw0rd");
-
-        expectedEx.expect(EncryptedDocumentException.class);
-        expectedEx.expectMessage("Supplied password is invalid for salt/verifier/verifierHash");
-        createRFIS(dataWrongDefault);
+		try {
+			createRFIS(dataWrongDefault);
+		} finally {
+			Biff8EncryptionKey.setCurrentUserPassword(null);
+		}
 	}
 
     @Test
@@ -135,18 +130,19 @@ public final class TestRecordFactoryInpu
         final String SAMPLE_WINDOW1_ENCR2 = "3D 00 12 00"
             + "45, B9, 90, FE, B6, C6, EC, 73, EE, 3F, 52, 45, 97, DB, E3, C1, D6, FE";
 
-        Biff8EncryptionKey.setCurrentUserPassword("passw0rd");
-
         byte[] dataCorrectDefault = HexRead.readFromString(""
                 + COMMON_HEX_DATA
                 + "C728659A C38E35E0 568A338F C3FC9D70" // correct saltHash for supplied password (and docId/saltHash)
                 + SAMPLE_WINDOW1_ENCR2
         );
 
-        RecordFactoryInputStream rfis = createRFIS(dataCorrectDefault);
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-
-        confirmReadInitialRecords(rfis);
+		Biff8EncryptionKey.setCurrentUserPassword("passw0rd");
+		try {
+			RecordFactoryInputStream rfis = createRFIS(dataCorrectDefault);
+			confirmReadInitialRecords(rfis);
+		} finally {
+			Biff8EncryptionKey.setCurrentUserPassword(null);
+		}
     }
 	
 	

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java Tue May  1 18:22:00 2018
@@ -102,12 +102,6 @@ import org.junit.Test;
  * define the test in the base class {@link BaseTestBugzillaIssues}</b>
  */
 public final class TestBugs extends BaseTestBugzillaIssues {
-    // to not affect other tests running in the same JVM
-    @After
-    public void resetPassword() {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-    }
-
     public TestBugs() {
         super(HSSFITestDataProvider.instance);
     }
@@ -2207,8 +2201,6 @@ public final class TestBugs extends Base
      */
     @Test
     public void bug50833() throws Exception {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-
         HSSFWorkbook wb1 = openSample("50833.xls");
         HSSFSheet s = wb1.getSheetAt(0);
         assertEquals("Sheet1", s.getSheetName());
@@ -2602,8 +2594,8 @@ public final class TestBugs extends Base
     @Test(expected = EncryptedDocumentException.class)
     public void bug35897() throws Exception {
         // password is abc
+        Biff8EncryptionKey.setCurrentUserPassword("abc");
         try {
-            Biff8EncryptionKey.setCurrentUserPassword("abc");
             openSample("xor-encryption-abc.xls").close();
         } finally {
             Biff8EncryptionKey.setCurrentUserPassword(null);

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestCryptoAPI.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestCryptoAPI.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestCryptoAPI.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestCryptoAPI.java Tue May  1 18:22:00 2018
@@ -30,11 +30,6 @@ import org.junit.Test;
 public class TestCryptoAPI {
     final HSSFITestDataProvider ssTests = HSSFITestDataProvider.instance;
 
-    @AfterClass
-    public static void resetPW() {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-    }
-
     @Test
     public void bug59857() throws IOException {
         // XOR-Obfuscation
@@ -52,19 +47,17 @@ public class TestCryptoAPI {
     
     private void validateContent(String wbFile, String password, String textExpected) throws IOException {
         Biff8EncryptionKey.setCurrentUserPassword(password);
-        HSSFWorkbook wb = ssTests.openSampleWorkbook(wbFile);
-        ExcelExtractor ee1 = new ExcelExtractor(wb);
-        String textActual = ee1.getText();
-        assertContains(textActual, textExpected);
-
-        Biff8EncryptionKey.setCurrentUserPassword("bla");
-        HSSFWorkbook wbBla = ssTests.writeOutAndReadBack(wb);
-        ExcelExtractor ee2 = new ExcelExtractor(wbBla);
-        textActual = ee2.getText();
-        assertContains(textActual, textExpected);
-        ee2.close();
-        ee1.close();
-        wbBla.close();
-        wb.close();
+        try (HSSFWorkbook wb = ssTests.openSampleWorkbook(wbFile);
+             ExcelExtractor ee1 = new ExcelExtractor(wb)
+        ) {
+            Biff8EncryptionKey.setCurrentUserPassword("bla");
+            try (HSSFWorkbook wbBla = ssTests.writeOutAndReadBack(wb);
+                 ExcelExtractor ee2 = new ExcelExtractor(wbBla)) {
+                assertContains(ee1.getText(), textExpected);
+                assertContains(ee2.getText(), textExpected);
+            }
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
+        }
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestNonStandardWorkbookStreamNames.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestNonStandardWorkbookStreamNames.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestNonStandardWorkbookStreamNames.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestNonStandardWorkbookStreamNames.java Tue May  1 18:22:00 2018
@@ -23,8 +23,12 @@ import static org.junit.Assert.assertTru
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hssf.HSSFTestDataSamples;
+import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
 import org.apache.poi.poifs.filesystem.DirectoryNode;
+import org.apache.poi.poifs.filesystem.Entry;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 /**
@@ -49,7 +53,7 @@ public final class TestNonStandardWorkbo
 
 		// Ensure that we have a WORKBOOK entry and a summary
 		assertTrue(root.hasEntry("WORKBOOK"));
-		assertTrue(root.hasEntry("\005SummaryInformation"));
+		assertTrue(root.hasEntry(SummaryInformation.DEFAULT_STREAM_NAME));
 
 		// But not a Workbook one
 		assertFalse(root.hasEntry("Workbook"));
@@ -73,7 +77,7 @@ public final class TestNonStandardWorkbo
 
       // But not a Workbook one and not a Summary one
       assertFalse(root.hasEntry("Workbook"));
-      assertFalse(root.hasEntry("\\005SummaryInformation"));
+      assertFalse(root.hasEntry(SummaryInformation.DEFAULT_STREAM_NAME));
       
       wb.close();
    }
@@ -127,7 +131,7 @@ public final class TestNonStandardWorkbo
         assertFalse(root.hasEntry("WORKBOOK"));
 
         // As we preserved, should also have a few other streams
-        assertTrue(root.hasEntry("\005SummaryInformation"));
+        assertTrue(root.hasEntry(SummaryInformation.DEFAULT_STREAM_NAME));
         wb2.close();
 	}
 }

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestXorEncryption.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestXorEncryption.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestXorEncryption.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestXorEncryption.java Tue May  1 18:22:00 2018
@@ -21,6 +21,7 @@ import static org.hamcrest.core.IsEqual.
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
+import java.io.File;
 import java.io.IOException;
 
 import org.apache.poi.hssf.HSSFTestDataSamples;
@@ -36,12 +37,6 @@ public class TestXorEncryption {
     
     private static final HSSFTestDataSamples samples = new HSSFTestDataSamples();
     
-    // to not affect other tests running in the same JVM
-    @After
-    public void resetPassword() {
-        Biff8EncryptionKey.setCurrentUserPassword(null);
-    }
-
     @Test
     public void testXorEncryption() throws IOException {
         // Xor-Password: abc
@@ -61,15 +56,16 @@ public class TestXorEncryption {
     @SuppressWarnings("static-access")
     @Test
     public void testUserFile() throws IOException {
+        File f = samples.getSampleFile("xor-encryption-abc.xls");
         Biff8EncryptionKey.setCurrentUserPassword("abc");
-        NPOIFSFileSystem fs = new NPOIFSFileSystem(samples.getSampleFile("xor-encryption-abc.xls"), true);
-        HSSFWorkbook hwb = new HSSFWorkbook(fs.getRoot(), true);
-        
-        HSSFSheet sh = hwb.getSheetAt(0);
-        assertEquals(1.0, sh.getRow(0).getCell(0).getNumericCellValue(), 0.0);
-        assertEquals(2.0, sh.getRow(1).getCell(0).getNumericCellValue(), 0.0);
-        assertEquals(3.0, sh.getRow(2).getCell(0).getNumericCellValue(), 0.0);
-        hwb.close();
-        fs.close();
+        try (NPOIFSFileSystem fs = new NPOIFSFileSystem(f, true);
+             HSSFWorkbook hwb = new HSSFWorkbook(fs.getRoot(), true)) {
+            HSSFSheet sh = hwb.getSheetAt(0);
+            assertEquals(1.0, sh.getRow(0).getCell(0).getNumericCellValue(), 0.0);
+            assertEquals(2.0, sh.getRow(1).getCell(0).getNumericCellValue(), 0.0);
+            assertEquals(3.0, sh.getRow(2).getCell(0).getNumericCellValue(), 0.0);
+        } finally {
+            Biff8EncryptionKey.setCurrentUserPassword(null);
+        }
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/property/TestDocumentProperty.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/property/TestDocumentProperty.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/property/TestDocumentProperty.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/property/TestDocumentProperty.java Tue May  1 18:22:00 2018
@@ -20,6 +20,8 @@ package org.apache.poi.poifs.property;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.apache.poi.hpsf.DocumentSummaryInformation;
+import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.poifs.storage.RawDataUtil;
 import org.apache.poi.util.LocaleUtil;
 
@@ -68,8 +70,8 @@ public final class TestDocumentProperty
         byte[] input = RawDataUtil.decode(hexData);
 
         verifyReadingProperty(1, input, 128, "Workbook");
-        verifyReadingProperty(2, input, 256, "\005SummaryInformation");
-        verifyReadingProperty(3, input, 384, "\005DocumentSummaryInformation");
+        verifyReadingProperty(2, input, 256, SummaryInformation.DEFAULT_STREAM_NAME);
+        verifyReadingProperty(3, input, 384, DocumentSummaryInformation.DEFAULT_STREAM_NAME);
     }
 
     private void verifyReadingProperty(int index, byte[] input, int offset, String name)

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/property/TestPropertyTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/property/TestPropertyTable.java?rev=1830705&r1=1830704&r2=1830705&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/property/TestPropertyTable.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/property/TestPropertyTable.java Tue May  1 18:22:00 2018
@@ -25,6 +25,8 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.apache.poi.hpsf.DocumentSummaryInformation;
+import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.poifs.common.POIFSConstants;
 import org.apache.poi.poifs.storage.BlockAllocationTableReader;
 import org.apache.poi.poifs.storage.HeaderBlock;
@@ -79,11 +81,10 @@ public final class TestPropertyTable {
 		DocumentProperty workbook = new DocumentProperty("Workbook", 0x00046777);
 
 		workbook.setStartBlock(0);
-		DocumentProperty summary1 = new DocumentProperty("\005SummaryInformation", 0x00001000);
+		DocumentProperty summary1 = new DocumentProperty(SummaryInformation.DEFAULT_STREAM_NAME, 0x00001000);
 
 		summary1.setStartBlock(0x00000234);
-		DocumentProperty summary2 = new DocumentProperty("\005DocumentSummaryInformation",
-				0x00001000);
+		DocumentProperty summary2 = new DocumentProperty(DocumentSummaryInformation.DEFAULT_STREAM_NAME, 0x00001000);
 
 		summary2.setStartBlock(0x0000023C);
 		table.addProperty(workbook);



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