Author: centic
Date: Mon Apr  2 17:16:01 2018
New Revision: 1828178

URL: http://svn.apache.org/viewvc?rev=1828178&view=rev
Log:
Close resources in tests and in case of Exceptions and use try-with-resources. 
Close the socket-connection during encrpyting/decrypting as soon as it is not 
needed any more.

Modified:
    
poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java
    
poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java?rev=1828178&r1=1828177&r2=1828178&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
 (original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
 Mon Apr  2 17:16:01 2018
@@ -124,48 +124,53 @@ public class TSPTimeStampService impleme
             int port = proxyUrl.getPort();
             proxy = new Proxy(Proxy.Type.HTTP, new 
InetSocketAddress(InetAddress.getByName(host), (port == -1 ? 80 : port)));
         }
-        
+
+        ByteArrayOutputStream bos;
+        String contentType;
         HttpURLConnection huc = (HttpURLConnection)new 
URL(signatureConfig.getTspUrl()).openConnection(proxy);
-        
-        if (signatureConfig.getTspUser() != null) {
-            String userPassword = signatureConfig.getTspUser() + ":" + 
signatureConfig.getTspPass();
-            String encoding = 
DatatypeConverter.printBase64Binary(userPassword.getBytes(StandardCharsets.ISO_8859_1));
-            huc.setRequestProperty("Authorization", "Basic " + encoding);
-        }
+        try {
+            if (signatureConfig.getTspUser() != null) {
+                String userPassword = signatureConfig.getTspUser() + ":" + 
signatureConfig.getTspPass();
+                String encoding = 
DatatypeConverter.printBase64Binary(userPassword.getBytes(StandardCharsets.ISO_8859_1));
+                huc.setRequestProperty("Authorization", "Basic " + encoding);
+            }
 
-        huc.setRequestMethod("POST");
-        huc.setConnectTimeout(20000);
-        huc.setReadTimeout(20000);
-        huc.setDoOutput(true); // also sets method to POST.
-        huc.setRequestProperty("User-Agent", signatureConfig.getUserAgent());
-        huc.setRequestProperty("Content-Type", 
signatureConfig.isTspOldProtocol()
-            ? "application/timestamp-request"
-            : "application/timestamp-query"); // "; charset=ISO-8859-1");
-        
-        OutputStream hucOut = huc.getOutputStream();
-        hucOut.write(encodedRequest);
-        
-        // invoke TSP service
-        huc.connect();
-        
-        int statusCode = huc.getResponseCode();
-        if (statusCode != 200) {
-            LOG.log(POILogger.ERROR, "Error contacting TSP server ", 
signatureConfig.getTspUrl() +
-                    ", had status code " + statusCode + "/" + 
huc.getResponseMessage());
-            throw new IOException("Error contacting TSP server " + 
signatureConfig.getTspUrl() +
-                    ", had status code " + statusCode + "/" + 
huc.getResponseMessage());
-        }
+            huc.setRequestMethod("POST");
+            huc.setConnectTimeout(20000);
+            huc.setReadTimeout(20000);
+            huc.setDoOutput(true); // also sets method to POST.
+            huc.setRequestProperty("User-Agent", 
signatureConfig.getUserAgent());
+            huc.setRequestProperty("Content-Type", 
signatureConfig.isTspOldProtocol()
+                    ? "application/timestamp-request"
+                    : "application/timestamp-query"); // "; 
charset=ISO-8859-1");
+
+            OutputStream hucOut = huc.getOutputStream();
+            hucOut.write(encodedRequest);
 
-        // HTTP input validation
-        String contentType = huc.getHeaderField("Content-Type");
-        if (null == contentType) {
-            throw new RuntimeException("missing Content-Type header");
+            // invoke TSP service
+            huc.connect();
+
+            int statusCode = huc.getResponseCode();
+            if (statusCode != 200) {
+                LOG.log(POILogger.ERROR, "Error contacting TSP server ", 
signatureConfig.getTspUrl() +
+                        ", had status code " + statusCode + "/" + 
huc.getResponseMessage());
+                throw new IOException("Error contacting TSP server " + 
signatureConfig.getTspUrl() +
+                        ", had status code " + statusCode + "/" + 
huc.getResponseMessage());
+            }
+
+            // HTTP input validation
+            contentType = huc.getHeaderField("Content-Type");
+            if (null == contentType) {
+                throw new RuntimeException("missing Content-Type header");
+            }
+
+            bos = new ByteArrayOutputStream();
+            IOUtils.copy(huc.getInputStream(), bos);
+            LOG.log(POILogger.DEBUG, "response content: ", 
HexDump.dump(bos.toByteArray(), 0, 0));
+        } finally {
+            huc.disconnect();
         }
-        
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        IOUtils.copy(huc.getInputStream(), bos);
-        LOG.log(POILogger.DEBUG, "response content: ", 
HexDump.dump(bos.toByteArray(), 0, 0));
-        
+
         if (!contentType.startsWith(signatureConfig.isTspOldProtocol() 
             ? "application/timestamp-response"
             : "application/timestamp-reply"

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java?rev=1828178&r1=1828177&r2=1828178&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java
 Mon Apr  2 17:16:01 2018
@@ -806,6 +806,7 @@ public class TestExtractorFactory {
                 ExtractorFactory.createExtractor(xlsEmb);
         embeds = ExtractorFactory.getEmbededDocsTextExtractors(ext);
         assertNotNull(embeds);
+        ext.close();
 
         // Excel
         ext = (POIOLE2TextExtractor)

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java?rev=1828178&r1=1828177&r2=1828178&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java
 Mon Apr  2 17:16:01 2018
@@ -33,16 +33,16 @@ public class TestZipSecureFile {
         // ClassCastException in ZipFile now
         // The relevant change in the JDK is 
http://hg.openjdk.java.net/jdk/jdk10/rev/85ea7e83af30#l5.66
 
-        ZipFile thresholdInputStream = new 
ZipFile(XSSFTestDataSamples.getSampleFile("template.xlsx"));
+        try (ZipFile thresholdInputStream = new 
ZipFile(XSSFTestDataSamples.getSampleFile("template.xlsx"))) {
+            try (ZipSecureFile secureFile = new 
ZipSecureFile(XSSFTestDataSamples.getSampleFile("template.xlsx"))) {
+                Enumeration<? extends ZipEntry> entries = 
thresholdInputStream.entries();
+                while (entries.hasMoreElements()) {
+                    ZipEntry entry = entries.nextElement();
 
-        ZipSecureFile secureFile = new 
ZipSecureFile(XSSFTestDataSamples.getSampleFile("template.xlsx"));
-
-        Enumeration<? extends ZipEntry> entries = 
thresholdInputStream.entries();
-        while (entries.hasMoreElements()) {
-            ZipEntry entry = entries.nextElement();
-
-            InputStream inputStream = secureFile.getInputStream(entry);
-            assertTrue(inputStream.available() > 0);
+                    InputStream inputStream = secureFile.getInputStream(entry);
+                    assertTrue(inputStream.available() > 0);
+                }
+            }
         }
     }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java?rev=1828178&r1=1828177&r2=1828178&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java 
Mon Apr  2 17:16:01 2018
@@ -113,7 +113,7 @@ public class TestSignatureInfo {
     }
     
     @BeforeClass
-    public static void initBouncy() throws IOException {
+    public static void initBouncy() {
         CryptoFunctions.registerBouncyCastle();
 
         // Set cal to now ... only set to fixed date for debugging ...
@@ -164,7 +164,7 @@ public class TestSignatureInfo {
         Calendar cal = LocaleUtil.getLocaleCalendar(LocaleUtil.TIMEZONE_UTC);
         cal.clear();
         cal.setTimeZone(LocaleUtil.TIMEZONE_UTC);
-        cal.set(2017, 6, 1);
+        cal.set(2017, Calendar.JULY, 1);
         
         SignatureConfig signatureConfig = prepareConfig("test", "CN=Test", 
pfxInput);
         signatureConfig.setExecutionTime(cal.getTime());
@@ -440,7 +440,7 @@ public class TestSignatureInfo {
         if (mockTsp) {
             TimeStampService tspService = new TimeStampService(){
                 @Override
-                public byte[] timeStamp(byte[] data, RevocationData 
revocationData) throws Exception {
+                public byte[] timeStamp(byte[] data, RevocationData 
revocationData) {
                     revocationData.addCRL(crl);
                     return 
"time-stamp-token".getBytes(LocaleUtil.CHARSET_1252);                
                 }
@@ -451,14 +451,10 @@ public class TestSignatureInfo {
             };
             signatureConfig.setTspService(tspService);
         } else {
-            TimeStampServiceValidator tspValidator = new 
TimeStampServiceValidator() {
-                @Override
-                public void validate(List<X509Certificate> validateChain,
-                RevocationData revocationData) throws Exception {
-                    for (X509Certificate certificate : validateChain) {
-                        LOG.log(POILogger.DEBUG, "certificate: " + 
certificate.getSubjectX500Principal());
-                        LOG.log(POILogger.DEBUG, "validity: " + 
certificate.getNotBefore() + " - " + certificate.getNotAfter());
-                    }
+            TimeStampServiceValidator tspValidator = (validateChain, 
revocationData) -> {
+                for (X509Certificate certificate : validateChain) {
+                    LOG.log(POILogger.DEBUG, "certificate: " + 
certificate.getSubjectX500Principal());
+                    LOG.log(POILogger.DEBUG, "validity: " + 
certificate.getNotBefore() + " - " + certificate.getNotAfter());
                 }
             };
             signatureConfig.setTspValidator(tspValidator);
@@ -471,12 +467,7 @@ public class TestSignatureInfo {
                 x509, x509, keyPair.getPrivate(), "SHA1withRSA", 
cal.getTimeInMillis());
         revocationData.addOCSP(ocspResp.getEncoded());
 
-        RevocationDataService revocationDataService = new 
RevocationDataService(){
-            @Override
-            public RevocationData getRevocationData(List<X509Certificate> 
revocationChain) {
-                return revocationData;
-            }
-        };
+        RevocationDataService revocationDataService = revocationChain -> 
revocationData;
         signatureConfig.setRevocationDataService(revocationDataService);
 
         // operate

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java?rev=1828178&r1=1828177&r2=1828178&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java 
Mon Apr  2 17:16:01 2018
@@ -113,8 +113,8 @@ public final class TestSXSSFBugs extends
         writeWorkbook(new XSSFWorkbook(), XSSFITestDataProvider.instance);
 
         // does not work
-        try {
-            writeWorkbook(new SXSSFWorkbook(), 
SXSSFITestDataProvider.instance);
+        try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
+            writeWorkbook(wb, SXSSFITestDataProvider.instance);
             fail("Should catch exception here");
         } catch (RuntimeException e) {
             // this is not implemented yet

Modified: 
poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java?rev=1828178&r1=1828177&r2=1828178&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java 
(original)
+++ 
poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/HWPFTestDataSamples.java 
Mon Apr  2 17:16:01 2018
@@ -37,7 +37,12 @@ public class HWPFTestDataSamples {
     public static HWPFDocument openSampleFile(String sampleFileName) {
         try {
             InputStream is = 
POIDataSamples.getDocumentInstance().openResourceAsStream(sampleFileName);
-            return new HWPFDocument(is);
+            try {
+                return new HWPFDocument(is);
+            } catch (Throwable e) {
+                is.close();
+                throw e;
+            }
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
@@ -48,42 +53,33 @@ public class HWPFTestDataSamples {
         final long start = System.currentTimeMillis();
         try
         {
-            ZipInputStream is = new ZipInputStream( POIDataSamples
+            try (ZipInputStream is = new ZipInputStream(POIDataSamples
                     .getDocumentInstance()
-                    .openResourceAsStream( sampleFileName ) );
-            try
-            {
+                    .openResourceAsStream(sampleFileName))) {
                 is.getNextEntry();
                 ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                try
-                {
-                    IOUtils.copy( is, baos );
-                }
-                finally
-                {
+                try {
+                    IOUtils.copy(is, baos);
+                } finally {
                     baos.close();
                 }
 
                 final long endUnzip = System.currentTimeMillis();
                 byte[] byteArray = baos.toByteArray();
 
-                logger.log( POILogger.DEBUG, "Unzipped in ",
-                        Long.valueOf( endUnzip - start ), " ms -- ",
-                        Long.valueOf( byteArray.length ), " byte(s)" );
+                logger.log(POILogger.DEBUG, "Unzipped in ",
+                        Long.valueOf(endUnzip - start), " ms -- ",
+                        Long.valueOf(byteArray.length), " byte(s)");
 
-                ByteArrayInputStream bais = new ByteArrayInputStream( 
byteArray );
-                HWPFDocument doc = new HWPFDocument( bais );
+                ByteArrayInputStream bais = new 
ByteArrayInputStream(byteArray);
+                HWPFDocument doc = new HWPFDocument(bais);
                 final long endParse = System.currentTimeMillis();
 
-                logger.log( POILogger.DEBUG, "Parsed in ",
-                        Long.valueOf( endParse - start ), " ms" );
+                logger.log(POILogger.DEBUG, "Parsed in ",
+                        Long.valueOf(endParse - start), " ms");
 
                 return doc;
             }
-            finally
-            {
-                is.close();
-            }
         }
         catch ( IOException e )
         {
@@ -105,39 +101,30 @@ public class HWPFTestDataSamples {
         {
                        logger.log(POILogger.DEBUG, "Downloading ", 
sampleFileUrl, " ...");
 
-            InputStream is = new URL( sampleFileUrl ).openStream();
-            try
-            {
+            try (InputStream is = new URL(sampleFileUrl).openStream()) {
                 ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                try
-                {
-                    IOUtils.copy( is, baos );
-                }
-                finally
-                {
+                try {
+                    IOUtils.copy(is, baos);
+                } finally {
                     baos.close();
                 }
 
                 final long endDownload = System.currentTimeMillis();
                 byte[] byteArray = baos.toByteArray();
 
-                logger.log( POILogger.DEBUG, "Downloaded in ",
-                        Long.valueOf( endDownload - start ), " ms -- ",
-                        Long.valueOf( byteArray.length ), " byte(s)" );
+                logger.log(POILogger.DEBUG, "Downloaded in ",
+                        Long.valueOf(endDownload - start), " ms -- ",
+                        Long.valueOf(byteArray.length), " byte(s)");
 
-                ByteArrayInputStream bais = new ByteArrayInputStream( 
byteArray );
-                HWPFDocument doc = new HWPFDocument( bais );
+                ByteArrayInputStream bais = new 
ByteArrayInputStream(byteArray);
+                HWPFDocument doc = new HWPFDocument(bais);
                 final long endParse = System.currentTimeMillis();
 
-                logger.log( POILogger.DEBUG, "Parsed in ",
-                        Long.valueOf( endParse - start ), " ms" );
+                logger.log(POILogger.DEBUG, "Parsed in ",
+                        Long.valueOf(endParse - start), " ms");
 
                 return doc;
             }
-            finally
-            {
-                is.close();
-            }
         }
         catch ( IOException e )
         {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to