You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2019/07/16 16:00:30 UTC

[cxf] branch master updated: Fixed PMD issues

This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/master by this push:
     new 66317cc  Fixed PMD issues
66317cc is described below

commit 66317cc113752a2129d914ad5c5e7c00bc6fa60e
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Tue Jul 16 14:17:16 2019 +0100

    Fixed PMD issues
---
 .../java/org/apache/cxf/jca/cxf/JCABusFactory.java | 12 +----
 .../cxf/tracing/brave/BraveTracerContext.java      |  2 +-
 .../tracing/opentracing/OpenTracingContext.java    |  2 +-
 .../cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java  | 12 +----
 .../java2swagger/Java2SwaggerMojo.java             | 57 +++++++++-----------
 .../apache/cxf/binding/corba/utils/CorbaUtils.java | 20 ++-----
 .../org/apache/cxf/aegis/type/XMLTypeCreator.java  | 27 ++++------
 .../apache/cxf/aegis/type/mtom/ByteArrayType.java  | 27 ++--------
 .../cxf/jaxrs/interceptor/JAXRSOutInterceptor.java |  2 +-
 .../org/apache/cxf/jaxws/EndpointImplTest.java     | 19 +------
 .../apache/cxf/jaxws/spring/SpringBeansTest.java   |  8 +--
 .../cxf/management/InstrumentationManagerTest.java | 16 ++----
 .../jaxrs/common/openapi/SwaggerProperties.java    | 24 ++++-----
 .../jaxrs/provider/jsrjsonp/JsrJsonpProvider.java  | 16 +-----
 .../jaxrs/ext/search/hbase/HBaseVisitorTest.java   |  5 +-
 .../tika/TikaLuceneContentExtractorTest.java       |  7 +--
 .../transport/local/LocalTransportFactoryTest.java | 24 ++-------
 .../apache/cxf/ws/rm/RMCaptureInInterceptor.java   | 13 +----
 .../cxf/ws/rm/persistence/PersistenceUtils.java    |  2 +-
 .../cxf/ws/rm/persistence/jdbc/RMTxStore.java      | 61 +++++++---------------
 .../cxf/ws/rm/soap/RetransmissionQueueImpl.java    |  2 +-
 .../java/org/apache/cxf/ws/rm/RMManagerTest.java   | 10 ++--
 .../ws/rm/persistence/PersistenceUtilsTest.java    | 10 ++--
 ...entServerResourceCreatedSpringProviderTest.java | 11 ++--
 .../cxf/systest/jaxrs/extraction/BookCatalog.java  | 20 ++-----
 .../cxf/systest/jaxrs/nio/NioBookStoreTest.java    | 20 ++-----
 .../cxf/systest/jms/JMSClientServerTest.java       |  6 +--
 .../corba/processors/idl/IDLToWSDLProcessor.java   | 12 ++---
 .../corba/processors/wsdl/WSDLToCorbaBinding.java  | 12 ++---
 .../idlpreprocessor/IdlPreprocessorReaderTest.java |  6 +--
 .../tools/java2js/processor/JavaToJSProcessor.java | 34 +++++-------
 .../wsdlto/databinding/jaxb/JAXBDataBinding.java   |  2 +-
 .../javascript/WSDLToJavaScriptProcessor.java      | 42 ++++++---------
 .../jaxws/customization/CustomizationParser.java   |  2 +-
 34 files changed, 161 insertions(+), 384 deletions(-)

diff --git a/integration/jca/src/main/java/org/apache/cxf/jca/cxf/JCABusFactory.java b/integration/jca/src/main/java/org/apache/cxf/jca/cxf/JCABusFactory.java
index e702459..fa8be7a 100644
--- a/integration/jca/src/main/java/org/apache/cxf/jca/cxf/JCABusFactory.java
+++ b/integration/jca/src/main/java/org/apache/cxf/jca/cxf/JCABusFactory.java
@@ -181,25 +181,15 @@ public class JCABusFactory {
 
     protected Properties loadProperties(URL propsUrl) throws ResourceException {
         Properties props = null;
-        InputStream istream = null;
 
         LOG.info("loadProperties, url=" + propsUrl);
 
-        try {
-            istream = propsUrl.openStream();
+        try (InputStream istream = propsUrl.openStream()) {
             props = new Properties();
             props.load(istream);
         } catch (IOException e) {
             throw new ResourceAdapterInternalException(
                        new Message("FAIL_TO_LOAD_EJB_SERVANT_PROPERTIES", BUNDLE, propsUrl).toString(), e);
-        } finally {
-            if (istream != null) {
-                try {
-                    istream.close();
-                } catch (IOException e) {
-                    //DO Nothing
-                }
-            }
         }
 
         return props;
diff --git a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveTracerContext.java b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveTracerContext.java
index cf66888..f23f78c 100644
--- a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveTracerContext.java
+++ b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveTracerContext.java
@@ -58,7 +58,7 @@ public class BraveTracerContext implements TracerContext {
             scope = tracer.withSpanInScope(continuationSpan);
         }
 
-        try {
+        try { //NOPMD
             return traceable.call(new BraveTracerContext(brave));
         } finally {
             if (continuationSpan != null && scope != null) {
diff --git a/integration/tracing/tracing-opentracing/src/main/java/org/apache/cxf/tracing/opentracing/OpenTracingContext.java b/integration/tracing/tracing-opentracing/src/main/java/org/apache/cxf/tracing/opentracing/OpenTracingContext.java
index 290bf00..e184dd4 100644
--- a/integration/tracing/tracing-opentracing/src/main/java/org/apache/cxf/tracing/opentracing/OpenTracingContext.java
+++ b/integration/tracing/tracing-opentracing/src/main/java/org/apache/cxf/tracing/opentracing/OpenTracingContext.java
@@ -54,7 +54,7 @@ public class OpenTracingContext implements TracerContext {
             scope = tracer.scopeManager().activate(continuation);
         }
 
-        try {
+        try { //NOPMD
             return traceable.call(new OpenTracingContext(tracer));
         } finally {
             if (continuation != null && scope != null) {
diff --git a/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java b/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java
index 6fa3fc8..706e5a9 100644
--- a/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java
+++ b/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java
@@ -238,23 +238,13 @@ public class WSDL2JavaMojo extends AbstractCodegenMoho {
         if (!doWork) {
             URI basedir = project.getBasedir().toURI();
             String options = wsdlOption.generateCommandLine(null, basedir, wsdlURI, false).toString();
-            DataInputStream reader = null;
-            try {
-                reader = new DataInputStream(Files.newInputStream(doneFile.toPath()));
+            try (DataInputStream reader = new DataInputStream(Files.newInputStream(doneFile.toPath()))) {
                 String s = reader.readUTF();
                 if (!options.equals(s)) {
                     doWork = true;
                 }
             } catch (Exception ex) {
                 //ignore
-            } finally {
-                if (reader != null) {
-                    try {
-                        reader.close();
-                    } catch (IOException e) {
-                        //ignore
-                    }
-                }
             }
         }
         return doWork;
diff --git a/maven-plugins/java2swagger-plugin/src/main/java/org/apache/cxf/maven_plugin/java2swagger/Java2SwaggerMojo.java b/maven-plugins/java2swagger-plugin/src/main/java/org/apache/cxf/maven_plugin/java2swagger/Java2SwaggerMojo.java
index d12887b..8e49436 100644
--- a/maven-plugins/java2swagger-plugin/src/main/java/org/apache/cxf/maven_plugin/java2swagger/Java2SwaggerMojo.java
+++ b/maven-plugins/java2swagger-plugin/src/main/java/org/apache/cxf/maven_plugin/java2swagger/Java2SwaggerMojo.java
@@ -60,52 +60,52 @@ import io.swagger.util.Yaml;
  * @threadSafe
  */
 public class Java2SwaggerMojo extends AbstractMojo {
-    
+
     /**
     * @parameter
     * @required
     */
     private List<String> resourcePackages;
-    
+
     /**
      * @parameter default-value="${project.version}"
      */
     private String version;
-    
-    
+
+
     /**
      * @parameter default-value="/api"
      */
     private String basePath;
-    
+
     /**
      * @parameter default-value="${project.name}"
      */
     private String title;
-    
-    
+
+
     /**
      * @parameter default-value="${project.description}"
      */
     private String description;
-    
-    
+
+
     /**
      * @parameter
      */
     private String contact;
-    
-    
+
+
     /**
      * @parameter default-value="Apache 2.0 License"
      */
     private String license;
-    
+
     /**
      * @parameter default-value="http://www.apache.org/licenses/LICENSE-2.0.html"
      */
     private String licenseUrl;
-    
+
     /**
      * @parameter
      */
@@ -116,12 +116,12 @@ public class Java2SwaggerMojo extends AbstractMojo {
      */
     private List<String> schemes;
 
-    
+
     /**
      * @parameter default-value="json"
      */
     private String payload;
-    
+
 
     /**
      * @parameter
@@ -168,13 +168,13 @@ public class Java2SwaggerMojo extends AbstractMojo {
      */
     private String outputFileName;
 
-      
+
     private ClassLoader resourceClassLoader;
-    
+
     private Swagger swagger;
-    
+
     private ObjectMapper mapper = new ObjectMapper();
-    
+
     private Set<Class<?>> resourceClasses;
 
 
@@ -207,28 +207,19 @@ public class Java2SwaggerMojo extends AbstractMojo {
                     + payload.toLowerCase()).replace("/", File.separator);
         }
 
-        BufferedWriter writer = null;
-        try {
-            FileUtils.mkDir(new File(outputFile).getParentFile());
-            writer = new BufferedWriter(new FileWriter(outputFile));
+        FileUtils.mkDir(new File(outputFile).getParentFile());
+        try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) {
             if ("json".equals(this.payload)) {
                 ObjectWriter jsonWriter = mapper.writer(new DefaultPrettyPrinter());
                 writer.write(jsonWriter.writeValueAsString(swagger));
             } else if ("yaml".equals(this.payload)) {
                 writer.write(Yaml.pretty().writeValueAsString(swagger));
             }
-       
+
         } catch (IOException e) {
             throw new MojoExecutionException(e.getMessage(), e);
-        } finally {
-            try {
-                if (writer != null) {
-                    writer.close();
-                }
-            } catch (IOException e) {
-                throw new MojoExecutionException(e.getMessage(), e);
-            }
         }
+
         // Attach the generated swagger file to the artifacts that get deployed
         // with the enclosing project
         if (attachSwagger && outputFile != null) {
@@ -277,7 +268,7 @@ public class Java2SwaggerMojo extends AbstractMojo {
     }
 
 
-      
+
     private void loadSwaggerAnnotation() throws MojoExecutionException {
         Reader reader = new Reader(swagger);
         swagger = reader.read(loadResourceClasses(Api.class));
diff --git a/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/utils/CorbaUtils.java b/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/utils/CorbaUtils.java
index 6425cda..daddefd 100644
--- a/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/utils/CorbaUtils.java
+++ b/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/utils/CorbaUtils.java
@@ -521,13 +521,11 @@ public final class CorbaUtils {
                                                                      String url) {
         org.omg.CORBA.Object result;
 
-        java.io.BufferedReader reader = null;
-        try {
-            java.io.File file = new java.io.File(url);
-            if (!file.exists()) {
-                throw new RuntimeException("Could not find file " + url + " to read the object reference");
-            }
-            reader = new java.io.BufferedReader(new java.io.FileReader(file));
+        java.io.File file = new java.io.File(url);
+        if (!file.exists()) {
+            throw new RuntimeException("Could not find file " + url + " to read the object reference");
+        }
+        try (java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(file))) {
             String ior = reader.readLine();
             if (ior == null) {
                 throw new RuntimeException("Invalid object reference found in file " + url);
@@ -535,14 +533,6 @@ public final class CorbaUtils {
             result = orb.string_to_object(ior.trim());
         } catch (java.io.IOException ex) {
             throw new RuntimeException(ex);
-        } finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                } catch (java.io.IOException ex) {
-                    throw new RuntimeException(ex);
-                }
-            }
         }
         return result;
     }
diff --git a/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java b/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java
index f321f70..85c26c8 100644
--- a/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java
+++ b/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java
@@ -123,25 +123,20 @@ public class XMLTypeCreator extends AbstractTypeCreator {
         }
 
         String path = "/META-INF/cxf/aegis.xsd";
-        InputStream is = XMLTypeCreator.class.getResourceAsStream(path);
-        if (is != null) {
-            try {
+        try (InputStream is = XMLTypeCreator.class.getResourceAsStream(path)) {
+            if (is != null) {
                 SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
                 Schema aegisSchema = schemaFactory.newSchema(new StreamSource(is));
                 AEGIS_DOCUMENT_BUILDER_FACTORY.setSchema(aegisSchema);
-            } catch (Throwable e) {
-                String msg = "Could not set aegis schema.  Not validating.";
-                if (LOG.isLoggable(Level.FINE)) {
-                    LOG.log(Level.INFO, msg, e);
-                } else {
-                    LOG.log(Level.INFO, msg);
-                }
-            } finally {
-                try {
-                    is.close();
-                } catch (IOException ex) {
-                    //ignore
-                }
+            }
+        } catch (IOException ex) {
+            // ignore
+        } catch (Throwable e) {
+            String msg = "Could not set aegis schema.  Not validating.";
+            if (LOG.isLoggable(Level.FINE)) {
+                LOG.log(Level.INFO, msg, e);
+            } else {
+                LOG.log(Level.INFO, msg);
             }
         }
     }
diff --git a/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/ByteArrayType.java b/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/ByteArrayType.java
index c53c962..69791b0 100644
--- a/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/ByteArrayType.java
+++ b/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/ByteArrayType.java
@@ -21,13 +21,13 @@ package org.apache.cxf.aegis.type.mtom;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 
 import javax.activation.DataHandler;
 
 import org.apache.cxf.aegis.Context;
 import org.apache.cxf.attachment.AttachmentImpl;
 import org.apache.cxf.attachment.ByteDataSource;
+import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.message.Attachment;
 
 /**
@@ -42,28 +42,11 @@ public class ByteArrayType extends AbstractXOPType {
     @Override
     protected Object readAttachment(Attachment att, Context context) throws IOException {
         DataHandler handler = att.getDataHandler();
-        InputStream is = handler.getInputStream();
 
-        // try
-        // {
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        copy(is, out);
-        is.close();
-        return out.toByteArray();
-    }
-
-    public static void copy(InputStream input, OutputStream output) throws IOException {
-        try {
-            final byte[] buffer = new byte[8096];
-
-            int n = input.read(buffer);
-            while (-1 != n) {
-                output.write(buffer, 0, n);
-                n = input.read(buffer);
-            }
-        } finally {
-            output.close();
-            input.close();
+        try (ByteArrayOutputStream out = new ByteArrayOutputStream();
+            InputStream is = handler.getInputStream()) {
+            IOUtils.copy(is, out);
+            return out.toByteArray();
         }
     }
 
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
index f59ccb5..9edab2a 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
@@ -245,7 +245,7 @@ public class JAXRSOutInterceptor extends AbstractOutDatabindingInterceptor {
         boolean enabled = checkBufferingMode(message, writers, firstTry);
         try {
 
-            try {
+            try {       // NOPMD
                 JAXRSUtils.writeMessageBody(writers,
                         entity,
                         targetType,
diff --git a/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java b/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java
index 4d0437c..ff8aa83 100644
--- a/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java
+++ b/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java
@@ -19,7 +19,6 @@
 
 package org.apache.cxf.jaxws;
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.ArrayList;
@@ -32,6 +31,7 @@ import javax.xml.ws.WebServiceContext;
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusException;
 import org.apache.cxf.BusFactory;
+import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.jaxws.service.Hello;
 import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
 import org.apache.cxf.message.Message;
@@ -289,7 +289,7 @@ public class EndpointImplTest extends AbstractJaxWsTest {
                 InputStream in = message.getContent(InputStream.class);
                 assertNotNull(in);
 
-                copy(in, out, 2045);
+                IOUtils.copy(in, out, 2045);
 
                 out.close();
                 in.close();
@@ -299,19 +299,4 @@ public class EndpointImplTest extends AbstractJaxWsTest {
         }
     }
 
-    private static void copy(final InputStream input, final OutputStream output, final int bufferSize)
-        throws IOException {
-        try {
-            final byte[] buffer = new byte[bufferSize];
-
-            int n = input.read(buffer);
-            while (-1 != n) {
-                output.write(buffer, 0, n);
-                n = input.read(buffer);
-            }
-        } finally {
-            input.close();
-            output.close();
-        }
-    }
 }
diff --git a/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/SpringBeansTest.java b/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/SpringBeansTest.java
index 95412db..d65e439 100644
--- a/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/SpringBeansTest.java
+++ b/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/SpringBeansTest.java
@@ -411,11 +411,10 @@ public class SpringBeansTest {
 
     @Test
     public void testTwoEndpointsWithTwoBuses() throws Exception {
-        ClassPathXmlApplicationContext ctx = null;
         Bus cxf1 = null;
         Bus cxf2 = null;
-        try {
-            ctx = new ClassPathXmlApplicationContext("/org/apache/cxf/jaxws/spring/endpoints2.xml");
+        try (ClassPathXmlApplicationContext ctx
+            = new ClassPathXmlApplicationContext("/org/apache/cxf/jaxws/spring/endpoints2.xml")) {
             EndpointImpl ep1 = (EndpointImpl) ctx.getBean("ep1");
             assertNotNull(ep1);
             cxf1 = (Bus) ctx.getBean("cxf1");
@@ -437,9 +436,6 @@ public class SpringBeansTest {
             if (cxf2 != null) {
                 cxf2.shutdown(true);
             }
-            if (ctx != null) {
-                ctx.close();
-            }
         }
     }
     @Test
diff --git a/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java b/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java
index 2112e05..9ebc7ca 100644
--- a/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java
+++ b/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java
@@ -116,11 +116,10 @@ public class InstrumentationManagerTest {
 
     @Test
     public void testInstrumentTwoBuses() {
-        ClassPathXmlApplicationContext context = null;
         Bus cxf1 = null;
         Bus cxf2 = null;
-        try {
-            context = new ClassPathXmlApplicationContext("managed-spring-twobuses.xml");
+        try (ClassPathXmlApplicationContext context
+            = new ClassPathXmlApplicationContext("managed-spring-twobuses.xml")) {
 
             cxf1 = (Bus)context.getBean("cxf1");
             InstrumentationManager im1 = cxf1.getExtension(InstrumentationManager.class);
@@ -143,19 +142,15 @@ public class InstrumentationManagerTest {
             if (cxf2 != null) {
                 cxf2.shutdown(true);
             }
-            if (context != null) {
-                context.close();
-            }
         }
     }
 
     @Test
     public void testInstrumentBusWithBusProperties() {
-        ClassPathXmlApplicationContext context = null;
         Bus cxf1 = null;
         Bus cxf2 = null;
-        try {
-            context = new ClassPathXmlApplicationContext("managed-spring-twobuses2.xml");
+        try (ClassPathXmlApplicationContext context
+            = new ClassPathXmlApplicationContext("managed-spring-twobuses2.xml")) {
 
             cxf1 = (Bus)context.getBean("cxf1");
             InstrumentationManagerImpl im1 =
@@ -180,9 +175,6 @@ public class InstrumentationManagerTest {
             if (cxf2 != null) {
                 cxf2.shutdown(true);
             }
-            if (context != null) {
-                context.close();
-            }
         }
     }
 
diff --git a/rt/rs/description-common-openapi/src/main/java/org/apache/cxf/jaxrs/common/openapi/SwaggerProperties.java b/rt/rs/description-common-openapi/src/main/java/org/apache/cxf/jaxrs/common/openapi/SwaggerProperties.java
index 5972bb0..e08cc35 100644
--- a/rt/rs/description-common-openapi/src/main/java/org/apache/cxf/jaxrs/common/openapi/SwaggerProperties.java
+++ b/rt/rs/description-common-openapi/src/main/java/org/apache/cxf/jaxrs/common/openapi/SwaggerProperties.java
@@ -41,31 +41,25 @@ public interface SwaggerProperties {
     String TERMS_URL_PROPERTY = "terms.url";
     String PRETTY_PRINT_PROPERTY = "pretty.print";
     String FILTER_CLASS_PROPERTY = "filter.class";
-    
+
     /**
      * Read the Swagger-specific properties from the property file (to seamlessly
      * support the migration from older Swagger features).
      * @param location property file location
      * @param bus bus instance
-     * @return the properties if available 
+     * @return the properties if available
      */
     default Properties getSwaggerProperties(String location, Bus bus) {
-        InputStream is = ResourceUtils.getClasspathResourceStream(location, getClass(), bus);
         Properties props = null;
-        
-        if (is != null) {
-            props = new Properties();
-            try {
+
+        try (InputStream is = ResourceUtils.getClasspathResourceStream(location, getClass(), bus)) {
+            if (is != null) {
+                props = new Properties();
                 props.load(is);
-            } catch (IOException ex) {
-                props = null;
-            } finally {
-                try {
-                    is.close();
-                } catch (IOException ignore) {
-                    // ignore
-                }
             }
+        } catch (IOException ignore) {
+            props = null;
+            // ignore
         }
 
         return props;
diff --git a/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsrjsonp/JsrJsonpProvider.java b/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsrjsonp/JsrJsonpProvider.java
index 63850f4..6e0c3d3 100644
--- a/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsrjsonp/JsrJsonpProvider.java
+++ b/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsrjsonp/JsrJsonpProvider.java
@@ -69,14 +69,8 @@ public class JsrJsonpProvider implements MessageBodyReader<JsonStructure>, Messa
             throw new IOException("Initialized OutputStream should be provided");
         }
 
-        JsonWriter writer = null;
-        try {
-            writer = Json.createWriter(entityStream);
+        try (JsonWriter writer = Json.createWriter(entityStream)) {
             writer.write(t);
-        } finally {
-            if (writer != null) {
-                writer.close();
-            }
         }
     }
 
@@ -96,16 +90,10 @@ public class JsrJsonpProvider implements MessageBodyReader<JsonStructure>, Messa
             throw new IOException("Initialized InputStream should be provided");
         }
 
-        JsonReader reader = null;
-        try {
-            reader = Json.createReader(entityStream);
+        try (JsonReader reader = Json.createReader(entityStream)) {
             return reader.read();
         } catch (JsonException ex) {
             throw ExceptionUtils.toBadRequestException(ex, null);
-        } finally {
-            if (reader != null) {
-                reader.close();
-            }
         }
     }
 }
diff --git a/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/hbase/HBaseVisitorTest.java b/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/hbase/HBaseVisitorTest.java
index fbef25c..1cc0493 100644
--- a/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/hbase/HBaseVisitorTest.java
+++ b/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/hbase/HBaseVisitorTest.java
@@ -65,8 +65,7 @@ public class HBaseVisitorTest {
         sc.accept(visitor);
         Filter filter = visitor.getQuery();
         scan.setFilter(filter);
-        ResultScanner rs = table.getScanner(scan);
-        try {
+        try (ResultScanner rs = table.getScanner(scan)) {
             int count = 0;
             for (Result r = rs.next(); r != null; r = rs.next()) {
                 assertEquals("row2", new String(r.getRow()));
@@ -74,8 +73,6 @@ public class HBaseVisitorTest {
                 count++;
             }
             assertEquals(1, count);
-        } finally {
-            rs.close();
         }
     }
 
diff --git a/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/tika/TikaLuceneContentExtractorTest.java b/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/tika/TikaLuceneContentExtractorTest.java
index 9a1a5a0..7521e17 100644
--- a/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/tika/TikaLuceneContentExtractorTest.java
+++ b/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/tika/TikaLuceneContentExtractorTest.java
@@ -222,10 +222,9 @@ public class TikaLuceneContentExtractorTest {
     }
 
     private ScoreDoc[] getHits(final String expression, final Map< String, Class<?> > fieldTypes) throws IOException {
-        IndexReader reader = DirectoryReader.open(directory);
-        IndexSearcher searcher = new IndexSearcher(reader);
 
-        try {
+        try (IndexReader reader = DirectoryReader.open(directory)) {
+            IndexSearcher searcher = new IndexSearcher(reader);
             LuceneQueryVisitor<SearchBean> visitor = new LuceneQueryVisitor<>("ct", "contents");
             visitor.setPrimitiveFieldTypeMap(fieldTypes);
             visitor.visit(parser.parse(expression));
@@ -234,8 +233,6 @@ public class TikaLuceneContentExtractorTest {
             assertNotNull(hits);
 
             return hits;
-        } finally {
-            reader.close();
         }
     }
 
diff --git a/rt/transports/local/src/test/java/org/apache/cxf/transport/local/LocalTransportFactoryTest.java b/rt/transports/local/src/test/java/org/apache/cxf/transport/local/LocalTransportFactoryTest.java
index 8e01788..ee8fa93 100644
--- a/rt/transports/local/src/test/java/org/apache/cxf/transport/local/LocalTransportFactoryTest.java
+++ b/rt/transports/local/src/test/java/org/apache/cxf/transport/local/LocalTransportFactoryTest.java
@@ -27,6 +27,7 @@ import java.io.OutputStream;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
+import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.message.Exchange;
 import org.apache.cxf.message.ExchangeImpl;
 import org.apache.cxf.message.Message;
@@ -102,7 +103,7 @@ public class LocalTransportFactoryTest {
                 backChannel.prepare(message);
                 OutputStream out = message.getContent(OutputStream.class);
                 assertNotNull(out);
-                copy(in, out, 1024);
+                IOUtils.copy(in, out, 1024);
                 out.close();
                 in.close();
                 backChannel.close(message);
@@ -113,23 +114,6 @@ public class LocalTransportFactoryTest {
         }
     }
 
-    private static void copy(final InputStream input, final OutputStream output, final int bufferSize)
-        throws IOException {
-        try {
-            final byte[] buffer = new byte[bufferSize];
-
-            int n = input.read(buffer);
-            while (-1 != n) {
-                output.write(buffer, 0, n);
-                n = input.read(buffer);
-            }
-        } finally {
-            input.close();
-            output.close();
-        }
-    }
-
-
     class TestMessageObserver implements MessageObserver {
         ByteArrayOutputStream response = new ByteArrayOutputStream();
         boolean written;
@@ -146,7 +130,9 @@ public class LocalTransportFactoryTest {
         public synchronized void onMessage(Message message) {
             try {
                 message.remove(LocalConduit.DIRECT_DISPATCH);
-                copy(message.getContent(InputStream.class), response, 1024);
+                IOUtils.copy(message.getContent(InputStream.class), response, 1024);
+                message.getContent(InputStream.class).close();
+                response.close();
                 inMessage = message;
             } catch (IOException e) {
                 e.printStackTrace();
diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMCaptureInInterceptor.java b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMCaptureInInterceptor.java
index 805485d..2284a82 100755
--- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMCaptureInInterceptor.java
+++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMCaptureInInterceptor.java
@@ -216,9 +216,7 @@ public class RMCaptureInInterceptor extends AbstractRMInterceptor<Message> {
         private CachedOutputStream removeUnnecessarySoapHeaders(CachedOutputStream saved) {
             CachedOutputStream newSaved = new CachedOutputStream();
 
-            InputStream is = null;
-            try {
-                is = saved.getInputStream();
+            try (InputStream is = saved.getInputStream()) {
                 XMLStreamWriter capture = StaxUtils.createXMLStreamWriter(newSaved,
                                                                           StandardCharsets.UTF_8.name());
                 Map<String, String> map = new HashMap<>();
@@ -242,17 +240,8 @@ public class RMCaptureInInterceptor extends AbstractRMInterceptor<Message> {
                 // hold temp file, otherwise it will be deleted in case msg was written to RMTxStore
                 // or resend was executed
                 newSaved.holdTempFile();
-                is.close();
             } catch (IOException | XMLStreamException e) {
                 throw new Fault(e);
-            } finally {
-                if (null != is) {
-                    try {
-                        is.close();
-                    } catch (IOException e) {
-                        // Ignore
-                    }
-                }
             }
             return newSaved;
         }
diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/PersistenceUtils.java b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/PersistenceUtils.java
index 2f4dd20..79740b3 100644
--- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/PersistenceUtils.java
+++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/PersistenceUtils.java
@@ -65,7 +65,7 @@ public final class PersistenceUtils {
     public SequenceAcknowledgement deserialiseAcknowledgment(InputStream is) {
         Object obj = null;
         XMLStreamReader reader = StaxUtils.createXMLStreamReader(is);
-        try {
+        try {  //NOPMD
             obj = getContext().createUnmarshaller().unmarshal(reader);
             if (obj instanceof JAXBElement<?>) {
                 JAXBElement<?> el = (JAXBElement<?>)obj;
diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
index e2e9d76..90e78e1 100644
--- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
+++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
@@ -750,11 +750,9 @@ public class RMTxStore implements RMStore {
         }
         PreparedStatement stmt = null;
         try (CachedOutputStream cos = msg.getContent()) {
-            InputStream msgin = null;
-            try {
-                msgin = cos.getInputStream();
+            try (InputStream msgin = cos.getInputStream()) {
                 stmt = getStatement(con, outbound ? CREATE_OUTBOUND_MESSAGE_STMT_STR : CREATE_INBOUND_MESSAGE_STMT_STR);
-    
+
                 stmt.setString(1, id);
                 stmt.setLong(2, nr);
                 stmt.setString(3, to);
@@ -768,9 +766,6 @@ public class RMTxStore implements RMStore {
                 }
             } finally  {
                 releaseResources(stmt, null);
-                if (null != msgin) {
-                    msgin.close();
-                }
             }
         }
     }
@@ -838,12 +833,10 @@ public class RMTxStore implements RMStore {
             LOG.warning("Skip creating tables as we have no connection.");
             return;
         }
-        Statement stmt = null;
 
-        try {
+        try {   //NOPMD
             con.setAutoCommit(true);
-            stmt = con.createStatement();
-            try {
+            try (Statement stmt = con.createStatement()) {
                 stmt.executeUpdate(CREATE_SRC_SEQUENCES_TABLE_STMT);
             } catch (SQLException ex) {
                 if (!isTableExistsError(ex)) {
@@ -851,12 +844,9 @@ public class RMTxStore implements RMStore {
                 }
                 LOG.fine("Table CXF_RM_SRC_SEQUENCES already exists.");
                 verifyTable(con, SRC_SEQUENCES_TABLE_NAME, SRC_SEQUENCES_TABLE_COLS);
-            } finally {
-                stmt.close();
             }
 
-            stmt = con.createStatement();
-            try {
+            try (Statement stmt = con.createStatement()) {
                 stmt.executeUpdate(CREATE_DEST_SEQUENCES_TABLE_STMT);
             } catch (SQLException ex) {
                 if (!isTableExistsError(ex)) {
@@ -864,13 +854,10 @@ public class RMTxStore implements RMStore {
                 }
                 LOG.fine("Table CXF_RM_DEST_SEQUENCES already exists.");
                 verifyTable(con, DEST_SEQUENCES_TABLE_NAME, DEST_SEQUENCES_TABLE_COLS);
-            } finally {
-                stmt.close();
             }
 
             for (String tableName : new String[] {OUTBOUND_MSGS_TABLE_NAME, INBOUND_MSGS_TABLE_NAME}) {
-                stmt = con.createStatement();
-                try {
+                try (Statement stmt = con.createStatement()) {
                     stmt.executeUpdate(MessageFormat.format(CREATE_MESSAGES_TABLE_STMT, tableName));
                 } catch (SQLException ex) {
                     if (!isTableExistsError(ex)) {
@@ -880,8 +867,6 @@ public class RMTxStore implements RMStore {
                         LOG.fine("Table " + tableName + " already exists.");
                     }
                     verifyTable(con, tableName, MESSAGES_TABLE_COLS);
-                } finally {
-                    stmt.close();
                 }
             }
         } finally {
@@ -913,16 +898,13 @@ public class RMTxStore implements RMStore {
                 }
 
                 for (String[] newCol : newCols) {
-                    Statement st = con.createStatement();
-                    try {
+                    try (Statement st = con.createStatement()) {
                         st.executeUpdate(MessageFormat.format(ALTER_TABLE_STMT_STR,
                                                               tableName, newCol[0], newCol[1]));
                         if (LOG.isLoggable(Level.FINE)) {
                             LOG.log(Level.FINE, "Successfully added column {0} to table {1}",
                                     new Object[] {tableName, newCol[0]});
                         }
-                    } finally {
-                        st.close();
                     }
                 }
             }
@@ -952,23 +934,18 @@ public class RMTxStore implements RMStore {
             // assume it is already created or no authorization is provided (create one manually)
         }
 
-        Statement stmt = connection.createStatement();
-        SQLException ex0 = null;
-        for (int i = 0; i < SET_SCHEMA_STMT_STRS.length; i++) {
-            try {
-                stmt.executeUpdate(MessageFormat.format(SET_SCHEMA_STMT_STRS[i], schemaName));
-                break;
-            } catch (SQLException ex) {
-                ex.setNextException(ex0);
-                ex0 = ex;
-                if (i == SET_SCHEMA_STMT_STRS.length - 1) {
-                    throw ex0;
-                }
-                // continue
-            } finally {
-                // close the statement after its last use
-                if (ex0 == null || i == SET_SCHEMA_STMT_STRS.length - 1) {
-                    stmt.close();
+        try (Statement stmt = connection.createStatement()) {
+            SQLException ex0 = null;
+            for (int i = 0; i < SET_SCHEMA_STMT_STRS.length; i++) {
+                try {
+                    stmt.executeUpdate(MessageFormat.format(SET_SCHEMA_STMT_STRS[i], schemaName));
+                    break;
+                } catch (SQLException ex) {
+                    ex.setNextException(ex0);
+                    ex0 = ex;
+                    if (i == SET_SCHEMA_STMT_STRS.length - 1) {
+                        throw ex0;
+                    }
                 }
             }
         }
diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java
index 5e5f0a3..5ad066b 100644
--- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java
+++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java
@@ -743,7 +743,7 @@ public class RetransmissionQueueImpl implements RetransmissionQueue {
 
     private void doResend(SoapMessage message) {
         InputStream is = null;
-        try {
+        try {   //NOPMD
 
             // initialize copied interceptor chain for message
             PhaseInterceptorChain retransmitChain = manager.getRetransmitChain(message);
diff --git a/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java b/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java
index 33c0f98..3c59d29 100644
--- a/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java
+++ b/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java
@@ -23,6 +23,7 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Method;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
@@ -821,16 +822,11 @@ public class RMManagerTest {
         byte[] buf = new byte[starting.length()];
         try {
             in.read(buf, 0, buf.length);
-            assertEquals(starting, new String(buf, "utf-8"));
+            assertEquals(starting, new String(buf, StandardCharsets.UTF_8));
+            in.close();
             return true;
         } catch (IOException e) {
             // ignore
-        } finally {
-            try {
-                in.close();
-            } catch (IOException e) {
-                // ignore
-            }
         }
         return false;
     }
diff --git a/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/PersistenceUtilsTest.java b/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/PersistenceUtilsTest.java
index 3a5e966..c5882b5 100644
--- a/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/PersistenceUtilsTest.java
+++ b/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/PersistenceUtilsTest.java
@@ -22,6 +22,7 @@ package org.apache.cxf.ws.rm.persistence;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Collection;
 
@@ -154,16 +155,11 @@ public class PersistenceUtilsTest {
         byte[] buf = new byte[starting.length()];
         try {
             in.read(buf, 0, buf.length);
-            assertEquals(starting, new String(buf, "utf-8"));
+            assertEquals(starting, new String(buf, StandardCharsets.UTF_8));
+            in.close();
             return true;
         } catch (IOException e) {
             // ignore
-        } finally {
-            try {
-                in.close();
-            } catch (IOException e) {
-                // ignore
-            }
         }
         return false;
     }
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java
index 6779971..0befe61 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java
@@ -319,16 +319,13 @@ public class JAXRSClientServerResourceCreatedSpringProviderTest extends Abstract
     public void testPostPetStatus2() throws Exception {
 
 
-        Socket s = new Socket("localhost", Integer.parseInt(PORT));
-        IOUtils.copyAndCloseInput(getClass().getResource("resources/formRequest.txt").openStream(),
-                                  s.getOutputStream());
+        try (Socket s = new Socket("localhost", Integer.parseInt(PORT))) {
+            IOUtils.copyAndCloseInput(getClass().getResource("resources/formRequest.txt").openStream(),
+                                      s.getOutputStream());
 
-        s.getOutputStream().flush();
-        try {
+            s.getOutputStream().flush();
             assertTrue("Wrong status returned", getStringFromInputStream(s.getInputStream())
                        .contains("open"));
-        } finally {
-            s.close();
         }
     }
 
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/extraction/BookCatalog.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/extraction/BookCatalog.java
index 88728ad..e36bbcc 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/extraction/BookCatalog.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/extraction/BookCatalog.java
@@ -80,13 +80,9 @@ public class BookCatalog {
 
                 final Document document = extractor.extract(handler.getInputStream(), metadata);
                 if (document != null) {
-                    final IndexWriter writer = getIndexWriter();
-
-                    try {
+                    try (IndexWriter writer = getIndexWriter()) {
                         writer.addDocument(document);
                         writer.commit();
-                    } finally {
-                        writer.close();
                     }
                 }
             }
@@ -98,26 +94,18 @@ public class BookCatalog {
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     public Collection<ScoreDoc> findBook(@Context SearchContext searchContext) throws IOException {
-        IndexReader reader = DirectoryReader.open(directory);
-        IndexSearcher searcher = new IndexSearcher(reader);
-
-        try {
+        try (IndexReader reader = DirectoryReader.open(directory)) {
+            IndexSearcher searcher = new IndexSearcher(reader);
             visitor.visit(searchContext.getCondition(SearchBean.class));
             return Arrays.asList(searcher.search(visitor.getQuery(), null, 1000).scoreDocs);
-        } finally {
-            reader.close();
         }
     }
 
     @DELETE
     public Response delete() throws IOException {
-        final IndexWriter writer = getIndexWriter();
-
-        try {
+        try (IndexWriter writer = getIndexWriter()) {
             writer.deleteAll();
             writer.commit();
-        } finally {
-            writer.close();
         }
 
         return Response.ok().build();
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStoreTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStoreTest.java
index ff6ca2f..aebf1ad 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStoreTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStoreTest.java
@@ -51,43 +51,31 @@ public class NioBookStoreTest extends AbstractBusClientServerTestBase {
 
     @Test
     public void testGetAllBooks() throws Exception {
-        final Response response = createWebClient("/bookstore", MediaType.TEXT_PLAIN).get();
-
-        try {
+        try (Response response = createWebClient("/bookstore", MediaType.TEXT_PLAIN).get()) {
             assertEquals(200, response.getStatus());
 
             assertThat(response.readEntity(String.class), equalTo(IOUtils.readStringFromStream(
                 getClass().getResourceAsStream("/files/books.txt"))));
-        } finally {
-            response.close();
         }
     }
 
     @Test
     public void testGetAllBooksIs() throws Exception {
-        final Response response = createWebClient("/bookstore/is", MediaType.TEXT_PLAIN).get();
-
-        try {
+        try (Response response = createWebClient("/bookstore/is", MediaType.TEXT_PLAIN).get()) {
             assertEquals(200, response.getStatus());
 
             assertThat(response.readEntity(String.class), equalTo(IOUtils.readStringFromStream(
                 getClass().getResourceAsStream("/files/books.txt"))));
-        } finally {
-            response.close();
         }
     }
 
     @Test
     public void testPostBookStore() throws IOException {
-        final Response response = createWebClient("/bookstore", MediaType.TEXT_PLAIN)
+        try (Response response = createWebClient("/bookstore", MediaType.TEXT_PLAIN)
             .type(MediaType.TEXT_PLAIN)
-            .post(IOUtils.readBytesFromStream(getClass().getResourceAsStream("/files/books.txt")));
-
-        try {
+            .post(IOUtils.readBytesFromStream(getClass().getResourceAsStream("/files/books.txt")))) {
             assertEquals(200, response.getStatus());
             assertThat(response.readEntity(String.class), equalTo("Book Store uploaded: 10355 bytes"));
-        } finally {
-            response.close();
         }
     }
 
diff --git a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
index 8ebfa63..8850520 100644
--- a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
+++ b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
@@ -352,10 +352,9 @@ public class JMSClientServerTest extends AbstractBusClientServerTestBase {
         BusFactory.setDefaultBus(null);
         BusFactory.setThreadDefaultBus(null);
 
-        ClassPathXmlApplicationContext ctx =
+        try (ClassPathXmlApplicationContext ctx =
             new ClassPathXmlApplicationContext(
-                new String[] {"/org/apache/cxf/systest/jms/JMSClients.xml"});
-        try {
+                new String[] {"/org/apache/cxf/systest/jms/JMSClients.xml"})) {
             String wsdlString2 = "classpath:wsdl/jms_test.wsdl";
             wsdlStrings.add(wsdlString2);
             broker.updateWsdl((Bus)ctx.getBean("cxf"), wsdlString2);
@@ -400,7 +399,6 @@ public class JMSClientServerTest extends AbstractBusClientServerTestBase {
                 fail("There should not throw the exception" + ex);
             }
         } finally {
-            ctx.close();
             BusFactory.setDefaultBus(getBus());
             BusFactory.setThreadDefaultBus(getBus());
         }
diff --git a/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/IDLToWSDLProcessor.java b/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/IDLToWSDLProcessor.java
index 476f881..ec13483 100644
--- a/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/IDLToWSDLProcessor.java
+++ b/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/IDLToWSDLProcessor.java
@@ -496,18 +496,14 @@ public class IDLToWSDLProcessor extends IDLProcessor {
             String addr = null;
             String addrFileName = (String) env.get(ToolCorbaConstants.CFG_ADDRESSFILE);
             if (addrFileName != null) {
-                BufferedReader bufferedReader = null;
+                File addrFile = new File(addrFileName);
                 try {
-                    File addrFile = new File(addrFileName);
                     FileReader fileReader = new FileReader(addrFile);
-                    bufferedReader = new BufferedReader(fileReader);
-                    addr = bufferedReader.readLine();
+                    try (BufferedReader bufferedReader = new BufferedReader(fileReader)) {
+                        addr = bufferedReader.readLine();
+                    }
                 } catch (Exception ex) {
                     throw new ToolException(ex.getMessage(), ex);
-                } finally {
-                    if (bufferedReader != null) {
-                        bufferedReader.close();
-                    }
                 }
             } else {
                 addr = (String) env.get(ToolCorbaConstants.CFG_ADDRESS);
diff --git a/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/wsdl/WSDLToCorbaBinding.java b/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/wsdl/WSDLToCorbaBinding.java
index 9a33137..7d12a41 100644
--- a/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/wsdl/WSDLToCorbaBinding.java
+++ b/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/wsdl/WSDLToCorbaBinding.java
@@ -338,18 +338,14 @@ public class WSDLToCorbaBinding {
 
             String addr = null;
             if (getAddressFile() != null) {
-                BufferedReader bufferedReader = null;
+                File addrFile = new File(getAddressFile());
                 try {
-                    File addrFile = new File(getAddressFile());
                     FileReader fileReader = new FileReader(addrFile);
-                    bufferedReader = new BufferedReader(fileReader);
-                    addr = bufferedReader.readLine();
+                    try (BufferedReader bufferedReader = new BufferedReader(fileReader)) {
+                        addr = bufferedReader.readLine();
+                    }
                 } catch (Exception ex) {
                     throw new ToolException(ex.getMessage(), ex);
-                } finally {
-                    if (bufferedReader != null) {
-                        bufferedReader.close();
-                    }
                 }
             } else {
                 addr = getAddress();
diff --git a/tools/corba/src/test/java/org/apache/cxf/tools/corba/idlpreprocessor/IdlPreprocessorReaderTest.java b/tools/corba/src/test/java/org/apache/cxf/tools/corba/idlpreprocessor/IdlPreprocessorReaderTest.java
index 2958ed9..6f55b31 100644
--- a/tools/corba/src/test/java/org/apache/cxf/tools/corba/idlpreprocessor/IdlPreprocessorReaderTest.java
+++ b/tools/corba/src/test/java/org/apache/cxf/tools/corba/idlpreprocessor/IdlPreprocessorReaderTest.java
@@ -134,8 +134,8 @@ public class IdlPreprocessorReaderTest {
         throws UnsupportedEncodingException, IOException {
         LineNumberReader oReader = new LineNumberReader(includeReader);
         InputStream resolved = findTestResource(expectedResultLocation).openStream();
-        LineNumberReader rReader = new LineNumberReader(new InputStreamReader(resolved, "ISO-8859-1"));
-        try {
+        try (LineNumberReader rReader
+            = new LineNumberReader(new InputStreamReader(resolved, "ISO-8859-1"))) {
             boolean eof = false;
             do {
                 int line = rReader.getLineNumber() + 1;
@@ -144,8 +144,6 @@ public class IdlPreprocessorReaderTest {
                 assertEquals("difference in line " + line, expectedLine, actualLine);
                 eof = actualLine == null || expectedLine == null;
             } while (!eof);
-        } finally {
-            rReader.close();
         }
     }
 
diff --git a/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java b/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java
index 19f7c61..6ef5ada 100644
--- a/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java
+++ b/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java
@@ -82,7 +82,6 @@ public class JavaToJSProcessor implements Processor {
         NamespacePrefixAccumulator prefixManager = new NamespacePrefixAccumulator(serviceInfo
             .getXmlSchemaCollection());
         Collection<SchemaInfo> schemata = serviceInfo.getSchemas();
-        BufferedWriter writer = null;
         try {
             OutputStream outputStream = Files.newOutputStream(jsFile.toPath());
             if (null != context.get(ToolConstants.CFG_JAVASCRIPT_UTILS)) {
@@ -90,30 +89,23 @@ public class JavaToJSProcessor implements Processor {
             }
 
             OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, UTF_8);
-            writer = new BufferedWriter(outputStreamWriter);
+            try (BufferedWriter writer = new BufferedWriter(outputStreamWriter)) {
 
-            for (SchemaInfo schema : schemata) {
-                SchemaJavascriptBuilder jsBuilder = new SchemaJavascriptBuilder(serviceInfo
-                    .getXmlSchemaCollection(), prefixManager, nameManager);
-                String allThatJavascript = jsBuilder.generateCodeForSchema(schema.getSchema());
-                writer.append(allThatJavascript);
-            }
+                for (SchemaInfo schema : schemata) {
+                    SchemaJavascriptBuilder jsBuilder = new SchemaJavascriptBuilder(serviceInfo
+                        .getXmlSchemaCollection(), prefixManager, nameManager);
+                    String allThatJavascript = jsBuilder.generateCodeForSchema(schema.getSchema());
+                    writer.append(allThatJavascript);
+                }
 
-            ServiceJavascriptBuilder serviceBuilder = new ServiceJavascriptBuilder(serviceInfo, null,
-                                                                                 prefixManager, nameManager);
-            serviceBuilder.walk();
-            String serviceJavascript = serviceBuilder.getCode();
-            writer.append(serviceJavascript);
+                ServiceJavascriptBuilder serviceBuilder = new ServiceJavascriptBuilder(serviceInfo, null,
+                                                                                     prefixManager, nameManager);
+                serviceBuilder.walk();
+                String serviceJavascript = serviceBuilder.getCode();
+                writer.append(serviceJavascript);
+            }
         } catch (IOException e) {
             throw new ToolException(e);
-        } finally {
-            if (writer != null) {
-                try {
-                    writer.close();
-                } catch (IOException e) {
-                    throw new ToolException(e);
-                }
-            }
         }
 
         System.setProperty(JAVA_CLASS_PATH, oldClassPath);
diff --git a/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java b/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
index d38b92e..4f159cc 100644
--- a/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
+++ b/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
@@ -688,7 +688,7 @@ public class JAXBDataBinding implements DataBindingProfile {
             }
             if (key.startsWith("file:") || key.startsWith("jar:")) {
                 InputStream in = null;
-                try {
+                try {   //NOPMD
                     if (key.startsWith("file:")) {
                         in = Files.newInputStream(new File(new URI(key)).toPath());
                     } else {
diff --git a/tools/wsdlto/frontend/javascript/src/main/java/org/apache/cxf/tools/wsdlto/javascript/WSDLToJavaScriptProcessor.java b/tools/wsdlto/frontend/javascript/src/main/java/org/apache/cxf/tools/wsdlto/javascript/WSDLToJavaScriptProcessor.java
index 8fd3921..60a12c1 100644
--- a/tools/wsdlto/frontend/javascript/src/main/java/org/apache/cxf/tools/wsdlto/javascript/WSDLToJavaScriptProcessor.java
+++ b/tools/wsdlto/frontend/javascript/src/main/java/org/apache/cxf/tools/wsdlto/javascript/WSDLToJavaScriptProcessor.java
@@ -69,7 +69,6 @@ public class WSDLToJavaScriptProcessor extends WSDLToProcessor {
             }
         }
 
-        BufferedWriter writer = null;
         try {
             OutputStream outputStream = Files.newOutputStream(jsFile.toPath());
             if (null != context.get(ToolConstants.CFG_JAVASCRIPT_UTILS)) {
@@ -78,32 +77,25 @@ public class WSDLToJavaScriptProcessor extends WSDLToProcessor {
             }
 
             OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, UTF_8);
-            writer = new BufferedWriter(outputStreamWriter);
-
-            XmlSchemaCollection collection = serviceInfo.getXmlSchemaCollection().getXmlSchemaCollection();
-            SchemaJavascriptBuilder jsBuilder =
-                new SchemaJavascriptBuilder(serviceInfo
-                .getXmlSchemaCollection(), prefixManager, nameManager);
-            String jsForSchemas = jsBuilder.generateCodeForSchemaCollection(collection);
-            writer.append(jsForSchemas);
-
-            ServiceJavascriptBuilder serviceBuilder = new ServiceJavascriptBuilder(serviceInfo,
-                                                                                   null,
-                                                                                   prefixManager,
-                                                                                   nameManager);
-            serviceBuilder.walk();
-            String serviceJavascript = serviceBuilder.getCode();
-            writer.append(serviceJavascript);
+            try (BufferedWriter writer = new BufferedWriter(outputStreamWriter)) {
+
+                XmlSchemaCollection collection = serviceInfo.getXmlSchemaCollection().getXmlSchemaCollection();
+                SchemaJavascriptBuilder jsBuilder =
+                    new SchemaJavascriptBuilder(serviceInfo
+                    .getXmlSchemaCollection(), prefixManager, nameManager);
+                String jsForSchemas = jsBuilder.generateCodeForSchemaCollection(collection);
+                writer.append(jsForSchemas);
+
+                ServiceJavascriptBuilder serviceBuilder = new ServiceJavascriptBuilder(serviceInfo,
+                                                                                       null,
+                                                                                       prefixManager,
+                                                                                       nameManager);
+                serviceBuilder.walk();
+                String serviceJavascript = serviceBuilder.getCode();
+                writer.append(serviceJavascript);
+            }
         } catch (IOException e) {
             throw new ToolException(e);
-        } finally {
-            try {
-                if (writer != null) {
-                    writer.close();
-                }
-            } catch (IOException e) {
-                throw new ToolException(e);
-            }
         }
     }
 
diff --git a/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java b/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java
index 35a0a26..d2e799b 100644
--- a/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java
+++ b/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java
@@ -155,7 +155,7 @@ public final class CustomizationParser {
         }
 
         XMLStreamReader reader = null;
-        try {
+        try {   //NOPMD
             reader = StaxUtils.createXMLStreamReader(uri, ins);
             doc = StaxUtils.read(reader, true);
         } catch (Exception e) {