From: Dominik Stadler Date: Wed, 26 Dec 2018 13:28:10 +0000 (+0000) Subject: Fix various IDE warnings and some JavaDoc adjustments X-Git-Tag: REL_4_1_0~158 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6f2f283db887c6179d36a7f3c0bfc5b98aaa00c8;p=poi.git Fix various IDE warnings and some JavaDoc adjustments git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1849763 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/poi/ss/formula/functions/Complex.java b/src/java/org/apache/poi/ss/formula/functions/Complex.java index 2282247a59..b616eba7a7 100644 --- a/src/java/org/apache/poi/ss/formula/functions/Complex.java +++ b/src/java/org/apache/poi/ss/formula/functions/Complex.java @@ -72,7 +72,7 @@ public class Complex extends Var2or3ArgFunction implements FreeRefFunction { } catch (EvaluationException e) { return e.getErrorEval(); } - double realNum = 0; + double realNum; try { realNum = OperandResolver.coerceValueToDouble(veText1); } catch (EvaluationException e) { @@ -85,7 +85,7 @@ public class Complex extends Var2or3ArgFunction implements FreeRefFunction { } catch (EvaluationException e) { return e.getErrorEval(); } - double realINum = 0; + double realINum; try { realINum = OperandResolver.coerceValueToDouble(veINum); } catch (EvaluationException e) { @@ -104,7 +104,7 @@ public class Complex extends Var2or3ArgFunction implements FreeRefFunction { return ErrorEval.VALUE_INVALID; } - StringBuffer strb = new StringBuffer(""); + StringBuilder strb = new StringBuilder(); if (realNum != 0) { if (isDoubleAnInt(realNum)) { strb.append((int)realNum); diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java index 767abc239d..1a4bef5939 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java @@ -293,6 +293,8 @@ public abstract class OPCPackage implements RelationshipSource, Closeable { * @return A PackageBase object * * @throws InvalidFormatException + * Throws if the specified file exist and is not valid. + * @throws IOException If reading the stream fails */ public static OPCPackage open(InputStream in) throws InvalidFormatException, IOException { @@ -1466,14 +1468,8 @@ public abstract class OPCPackage implements RelationshipSource, Closeable { } // Do the save - FileOutputStream fos = null; - try { - fos = new FileOutputStream(targetFile); + try (FileOutputStream fos = new FileOutputStream(targetFile)) { this.save(fos); - } finally { - if (fos != null) { - fos.close(); - } } } diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePartName.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePartName.java index baee7e2abd..8bcfb33e92 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePartName.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePartName.java @@ -161,7 +161,7 @@ public final class PackagePartName implements Comparable { * * @param partUri * The part name to check. - * @throws Exception + * @throws InvalidFormatException * Throws if the part name is invalid. */ private static void throwExceptionIfInvalidPartUri(URI partUri) @@ -513,7 +513,7 @@ public final class PackagePartName implements Comparable { * (lexigraphical sort) * * @param str1 first string to compare - * @param str1 second string to compare + * @param str2 second string to compare * @return a negative integer, zero, or a positive integer as the first argument is less than, * equal to, or greater than the second. */ diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationship.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationship.java index 174f2f901b..9f82d512fa 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationship.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackageRelationship.java @@ -210,18 +210,11 @@ public final class PackageRelationship { @Override public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(id == null ? "id=null" : "id=" + id); - sb.append(container == null ? " - container=null" : " - container=" - + container); - sb.append(relationshipType == null ? " - relationshipType=null" - : " - relationshipType=" + relationshipType); - sb.append(source == null ? " - source=null" : " - source=" - + getSourceURI().toASCIIString()); - sb.append(targetUri == null ? " - target=null" : " - target=" - + getTargetURI().toASCIIString()); - sb.append(targetMode == null ? ",targetMode=null" : ",targetMode=" - + targetMode); - return sb.toString(); + return (id == null ? "id=null" : "id=" + id) + + (container == null ? " - container=null" : " - container=" + container) + + (relationshipType == null ? " - relationshipType=null" : " - relationshipType=" + relationshipType) + + (source == null ? " - source=null" : " - source=" + getSourceURI().toASCIIString()) + + (targetUri == null ? " - target=null" : " - target=" + getTargetURI().toASCIIString()) + + (targetMode == null ? ",targetMode=null" : ",targetMode=" + targetMode); } } diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java index 5a8db38ff0..b5da3d9bcb 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java @@ -48,32 +48,32 @@ public final class PackagingURIHelper { /** * Extension name of a relationship part. */ - public static final String RELATIONSHIP_PART_EXTENSION_NAME; + public static final String RELATIONSHIP_PART_EXTENSION_NAME = ".rels"; /** * Segment name of a relationship part. */ - public static final String RELATIONSHIP_PART_SEGMENT_NAME; + public static final String RELATIONSHIP_PART_SEGMENT_NAME = "_rels"; /** * Segment name of the package properties folder. */ - public static final String PACKAGE_PROPERTIES_SEGMENT_NAME; + public static final String PACKAGE_PROPERTIES_SEGMENT_NAME = "docProps"; /** * Core package properties art name. */ - public static final String PACKAGE_CORE_PROPERTIES_NAME; + public static final String PACKAGE_CORE_PROPERTIES_NAME = "core.xml"; /** * Forward slash URI separator. */ - public static final char FORWARD_SLASH_CHAR; + public static final char FORWARD_SLASH_CHAR = '/'; /** * Forward slash URI separator. */ - public static final String FORWARD_SLASH_STRING; + public static final String FORWARD_SLASH_STRING = "/"; /** * Package relationships part URI @@ -107,13 +107,6 @@ public final class PackagingURIHelper { /* Static initialization */ static { - RELATIONSHIP_PART_SEGMENT_NAME = "_rels"; - RELATIONSHIP_PART_EXTENSION_NAME = ".rels"; - FORWARD_SLASH_CHAR = '/'; - FORWARD_SLASH_STRING = "/"; - PACKAGE_PROPERTIES_SEGMENT_NAME = "docProps"; - PACKAGE_CORE_PROPERTIES_NAME = "core.xml"; - // Make URI URI uriPACKAGE_ROOT_URI = null; URI uriPACKAGE_RELATIONSHIPS_ROOT_URI = null; diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java index ecec63ce9f..f31808f697 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java @@ -94,7 +94,7 @@ public final class ZipPackage extends OPCPackage { * @param access * The package access mode. * @throws IllegalArgumentException - * If the specified input stream not an instance of + * If the specified input stream is not an instance of * ZipInputStream. * @throws IOException * if input stream cannot be opened, read, or closed diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentType.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentType.java index 43449b20a9..ec4a1a2080 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentType.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentType.java @@ -92,7 +92,7 @@ public final class ContentType { * * CHAR = */ - String token = "[\\x21-\\x7E&&[^\\(\\)<>@,;:\\\\/\"\\[\\]\\?={}\\x20\\x09]]"; + String token = "[\\x21-\\x7E&&[^()<>@,;:\\\\/\"\\[\\]?={}\\x20\\x09]]"; /* * parameter = attribute "=" value @@ -248,7 +248,7 @@ public final class ContentType { public String[] getParameterKeys() { if (parameters == null) return new String[0]; - return parameters.keySet().toArray(new String[parameters.size()]); + return parameters.keySet().toArray(new String[0]); } /** diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/FileHelper.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/FileHelper.java index b1e8192d52..44e3766eb1 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/FileHelper.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/FileHelper.java @@ -69,7 +69,6 @@ public final class FileHelper { FileChannel destinationChannel = fos.getChannel()) { sourceChannel.transferTo(0, sourceChannel.size(), destinationChannel); - sourceChannel.close(); } } diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/PartUnmarshaller.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/PartUnmarshaller.java index e5487a6381..b3f74323f3 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/PartUnmarshaller.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/PartUnmarshaller.java @@ -26,7 +26,7 @@ import org.apache.poi.openxml4j.opc.PackagePart; import org.apache.poi.openxml4j.opc.internal.unmarshallers.UnmarshallContext; /** - * Object implemented this interface are considered as part unmarshaller. A part + * Classes implementing this interface are considered as part unmarshaller. A part * unmarshaller is responsible to unmarshall a part in order to load it from a * package. * @@ -38,12 +38,10 @@ public interface PartUnmarshaller { /** * Save the content of the package in the stream * - * @param in - * The input stream from which the part will be unmarshall. - * @return The part freshly unmarshall from the input stream. - * @throws OpenXML4JException - * Throws only if any other exceptions are thrown by inner - * methods. + * @param in The input stream from which the part will be read. + * @return The part freshly read from the input stream. + * @throws InvalidFormatException If the data can not be interpreted correctly + * @throws IOException if reading from the stream fails */ public PackagePart unmarshall(UnmarshallContext context, InputStream in) throws InvalidFormatException, IOException; diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java index 4e97633285..9050e01a59 100644 --- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java +++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java @@ -17,9 +17,6 @@ package org.apache.poi.openxml4j.opc; -import java.io.InputStream; -import java.net.URL; - import org.apache.poi.ooxml.util.POIXMLConstants; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; @@ -28,9 +25,13 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import static org.junit.Assert.*; - import javax.xml.parsers.DocumentBuilderFactory; +import java.io.InputStream; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Tests for content type (ContentType class). @@ -169,67 +170,67 @@ public final class TestContentType { */ @Test public void testFileWithContentTypeParams() throws Exception { - InputStream is = OpenXML4JTestDataSamples.openSampleStream("ContentTypeHasParameters.ooxml"); - - OPCPackage p = OPCPackage.open(is); - - final String typeResqml = "application/x-resqml+xml"; - - // Check the types on everything - for (PackagePart part : p.getParts()) { - final String contentType = part.getContentType(); - final ContentType details = part.getContentTypeDetails(); - final int length = details.getParameterKeys().length; - final boolean hasParameters = details.hasParameters(); - - // _rels type doesn't have any params - if (part.isRelationshipPart()) { - assertEquals(ContentTypes.RELATIONSHIPS_PART, contentType); - assertEquals(ContentTypes.RELATIONSHIPS_PART, details.toString()); - assertEquals(false, hasParameters); - assertEquals(0, length); - } - // Core type doesn't have any params - else if (part.getPartName().toString().equals("/docProps/core.xml")) { - assertEquals(ContentTypes.CORE_PROPERTIES_PART, contentType); - assertEquals(ContentTypes.CORE_PROPERTIES_PART, details.toString()); - assertEquals(false, hasParameters); - assertEquals(0, length); - } - // Global Crs types do have params - else if (part.getPartName().toString().equals("/global1dCrs.xml")) { - assertTrue(part.getContentType().startsWith(typeResqml)); - assertEquals(typeResqml, details.toString(false)); - assertEquals(true, hasParameters); - assertContains("version=2.0", details.toString()); - assertContains("type=obj_global1dCrs", details.toString()); - assertEquals(2, length); - assertEquals("2.0", details.getParameter("version")); - assertEquals("obj_global1dCrs", details.getParameter("type")); - } else if (part.getPartName().toString().equals("/global2dCrs.xml")) { - assertTrue(part.getContentType().startsWith(typeResqml)); - assertEquals(typeResqml, details.toString(false)); - assertEquals(true, hasParameters); - assertContains("version=2.0", details.toString()); - assertContains("type=obj_global2dCrs", details.toString()); - assertEquals(2, length); - assertEquals("2.0", details.getParameter("version")); - assertEquals("obj_global2dCrs", details.getParameter("type")); - } - // Other thingy - else if (part.getPartName().toString().equals("/myTestingGuid.xml")) { - assertTrue(part.getContentType().startsWith(typeResqml)); - assertEquals(typeResqml, details.toString(false)); - assertEquals(true, hasParameters); - assertContains("version=2.0", details.toString()); - assertContains("type=obj_tectonicBoundaryFeature", details.toString()); - assertEquals(2, length); - assertEquals("2.0", details.getParameter("version")); - assertEquals("obj_tectonicBoundaryFeature", details.getParameter("type")); - } - // That should be it! - else { - fail("Unexpected part " + part); + try (InputStream is = OpenXML4JTestDataSamples.openSampleStream("ContentTypeHasParameters.ooxml"); + OPCPackage p = OPCPackage.open(is)) { + + final String typeResqml = "application/x-resqml+xml"; + + // Check the types on everything + for (PackagePart part : p.getParts()) { + final String contentType = part.getContentType(); + final ContentType details = part.getContentTypeDetails(); + final int length = details.getParameterKeys().length; + final boolean hasParameters = details.hasParameters(); + + // _rels type doesn't have any params + if (part.isRelationshipPart()) { + assertEquals(ContentTypes.RELATIONSHIPS_PART, contentType); + assertEquals(ContentTypes.RELATIONSHIPS_PART, details.toString()); + assertFalse(hasParameters); + assertEquals(0, length); + } + // Core type doesn't have any params + else if (part.getPartName().toString().equals("/docProps/core.xml")) { + assertEquals(ContentTypes.CORE_PROPERTIES_PART, contentType); + assertEquals(ContentTypes.CORE_PROPERTIES_PART, details.toString()); + assertFalse(hasParameters); + assertEquals(0, length); + } + // Global Crs types do have params + else if (part.getPartName().toString().equals("/global1dCrs.xml")) { + assertTrue(part.getContentType().startsWith(typeResqml)); + assertEquals(typeResqml, details.toString(false)); + assertTrue(hasParameters); + assertContains("version=2.0", details.toString()); + assertContains("type=obj_global1dCrs", details.toString()); + assertEquals(2, length); + assertEquals("2.0", details.getParameter("version")); + assertEquals("obj_global1dCrs", details.getParameter("type")); + } else if (part.getPartName().toString().equals("/global2dCrs.xml")) { + assertTrue(part.getContentType().startsWith(typeResqml)); + assertEquals(typeResqml, details.toString(false)); + assertTrue(hasParameters); + assertContains("version=2.0", details.toString()); + assertContains("type=obj_global2dCrs", details.toString()); + assertEquals(2, length); + assertEquals("2.0", details.getParameter("version")); + assertEquals("obj_global2dCrs", details.getParameter("type")); + } + // Other thingy + else if (part.getPartName().toString().equals("/myTestingGuid.xml")) { + assertTrue(part.getContentType().startsWith(typeResqml)); + assertEquals(typeResqml, details.toString(false)); + assertTrue(hasParameters); + assertContains("version=2.0", details.toString()); + assertContains("type=obj_tectonicBoundaryFeature", details.toString()); + assertEquals(2, length); + assertEquals("2.0", details.getParameter("version")); + assertEquals("obj_tectonicBoundaryFeature", details.getParameter("type")); + } + // That should be it! + else { + fail("Unexpected part " + part); + } } } } diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java index 8bccffb3ee..d15281b2d3 100644 --- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java +++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java @@ -17,7 +17,7 @@ package org.apache.poi.openxml4j.opc; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; import java.io.File; import java.util.TreeMap; @@ -52,7 +52,7 @@ public final class TestFileHelper { // assertTrue(expectedValue.get(filename).equalsIgnoreCase(f2.getAbsolutePath())); // // This comparison is platform dependent. A better approach is below // } - assertTrue(f1.equals(f2)); + assertEquals(f1, f2); } } } diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java index 3cf0c9a100..f2a111ea3b 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java @@ -579,20 +579,20 @@ public final class TestBugs { @Test public void bug47261() throws IOException { - HSLFSlideShow ppt = open("bug47261.ppt"); - ppt.removeSlide(0); - ppt.createSlide(); - HSLFTestDataSamples.writeOutAndReadBack(ppt).close(); - ppt.close(); + try (HSLFSlideShow ppt = open("bug47261.ppt")) { + ppt.removeSlide(0); + ppt.createSlide(); + HSLFTestDataSamples.writeOutAndReadBack(ppt).close(); + } } @Test public void bug56240() throws IOException { - HSLFSlideShow ppt = open("bug56240.ppt"); - int slideCnt = ppt.getSlides().size(); - assertEquals(105, slideCnt); - HSLFTestDataSamples.writeOutAndReadBack(ppt).close(); - ppt.close(); + try (HSLFSlideShow ppt = open("bug56240.ppt")) { + int slideCnt = ppt.getSlides().size(); + assertEquals(105, slideCnt); + HSLFTestDataSamples.writeOutAndReadBack(ppt).close(); + } } @Test diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java index 5dbef749d6..a96460c1a8 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java @@ -69,7 +69,6 @@ public class TestBug47563 extends TestCase { row.sanityCheck(); table.sanityCheck(); range.sanityCheck(); - } } @@ -77,7 +76,8 @@ public class TestBug47563 extends TestCase { int mustBeAfter = 0; for (int i = 0; i < rows * columns; i++) { int next = text.indexOf(Integer.toString(i), mustBeAfter); - assertTrue("Test with " + rows + "/" + columns + ": Should not find " + i + " but found it at " + next + " in " + text, + assertTrue("Test with " + rows + "/" + columns + ": Should not find " + i + " but found it at " + next + " with " + mustBeAfter + " in " + text + "\n" + + text.indexOf(Integer.toString(i), mustBeAfter), next != -1); mustBeAfter = next; }