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

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


The following commit(s) were added to refs/heads/master by this push:
     new d73e2e7  collapse Exceptions and use Diamond style
d73e2e7 is described below

commit d73e2e72f0f2c022aa2e0431a04a1552e7993d17
Author: Mark Struberg <strub...@apache.org>
AuthorDate: Sun Apr 4 18:32:35 2021 +0200

    collapse Exceptions and use Diamond style
---
 .../validation/TestTraversableResolver.java        |  5 +-
 .../openjpa/jdbc/kernel/JDBCStoreManager.java      |  2 +-
 .../openjpa/jdbc/meta/MappingRepository.java       |  2 +-
 .../openjpa/jdbc/meta/VersionMappingInfo.java      |  2 +-
 .../meta/strats/ValueMapDiscriminatorStrategy.java |  4 +-
 .../openjpa/jdbc/schema/DBCPDriverDataSource.java  |  8 +-
 .../openjpa/jdbc/schema/DataSourceFactory.java     |  5 +-
 .../openjpa/jdbc/schema/SchemaGenerator.java       |  6 +-
 .../persistence/jest/JSONObjectFormatter.java      |  4 +-
 .../openjpa/conf/QueryCompilationCacheValue.java   | 17 +---
 .../openjpa/datacache/DataCacheStoreManager.java   |  6 +-
 .../openjpa/datacache/QueryCacheStoreQuery.java    |  3 +-
 .../TypeBasedCacheDistributionPolicy.java          |  3 +-
 .../openjpa/enhance/PCClassFileTransformer.java    | 10 +--
 .../org/apache/openjpa/enhance/Reflection.java     |  3 +-
 .../InstrumentationManagerImpl.java                |  2 +-
 .../openjpa/kernel/AbstractBrokerFactory.java      |  2 +-
 .../java/org/apache/openjpa/kernel/BrokerImpl.java | 11 +--
 .../openjpa/kernel/ExpressionStoreQuery.java       | 10 +--
 .../openjpa/kernel/FetchConfigurationImpl.java     |  2 +-
 .../java/org/apache/openjpa/kernel/QueryImpl.java  |  3 +-
 .../org/apache/openjpa/kernel/QueryLanguages.java  |  4 +-
 .../org/apache/openjpa/kernel/ResultShape.java     |  2 +-
 .../java/org/apache/openjpa/kernel/exps/Exp.java   |  8 +-
 .../java/org/apache/openjpa/kernel/exps/Val.java   |  8 +-
 .../org/apache/openjpa/meta/ClassMetaData.java     |  6 +-
 .../apache/openjpa/meta/MetaDataRepository.java    | 18 ++---
 .../org/apache/openjpa/util/ProxyCollections.java  |  4 +-
 .../org/apache/openjpa/util/ProxyManagerImpl.java  |  3 +-
 .../apache/openjpa/lib/conf/ConfigurationImpl.java |  6 +-
 .../openjpa/lib/graph/DepthFirstAnalysis.java      |  2 +-
 .../java/org/apache/openjpa/lib/graph/Graph.java   | 12 +--
 .../openjpa/lib/identifier/IdentifierUtilImpl.java | 10 +--
 .../openjpa/lib/meta/CFMetaDataSerializer.java     |  6 +-
 .../apache/openjpa/lib/meta/XMLMetaDataParser.java |  6 +-
 .../openjpa/lib/meta/XMLMetaDataSerializer.java    |  4 +-
 .../java/org/apache/openjpa/lib/util/Services.java | 15 ++--
 .../lib/util/collections/AbstractHashedMap.java    |  4 +-
 .../lib/util/collections/ComparatorChain.java      |  2 +-
 .../lib/util/collections/DualHashBidiMap.java      |  4 +-
 .../lib/util/collections/DualTreeBidiMap.java      |  6 +-
 .../openjpa/lib/util/collections/TreeBidiMap.java  |  4 +-
 .../org/apache/openjpa/lib/xml/XMLFactory.java     |  4 +-
 .../org/apache/openjpa/lib/rop/ResultListTest.java | 18 ++---
 .../AnnotationPersistenceMappingSerializer.java    |  6 +-
 .../jdbc/XMLPersistenceMappingParser.java          |  6 +-
 .../kernel/AbstractBrokerSerializationTest.java    |  4 +-
 .../persistence/annotations/TestAdvAnnot.java      |  4 +-
 .../persistence/annotations/TestEmbeddedId.java    |  6 +-
 .../persistence/annotations/TestVersion.java       | 24 +++---
 .../arrays/TestAnnoExceptionEntity.java            |  6 +-
 .../persistence/arrays/TestXMLExceptionEntity.java |  6 +-
 .../criteria/AbstractCriteriaTestCase.java         |  6 +-
 .../criteria/results/TestTypedResults.java         |  4 +-
 .../persistence/datacache/CacheLoadTest.java       |  5 +-
 .../persistence/datacache/TestCacheExclusions.java |  2 +-
 .../persistence/datacache/TestJPACache.java        |  2 +-
 .../persistence/detach/TestDetachNoProxy.java      |  7 +-
 .../openjpa/persistence/detachment/TestDetach.java |  3 +-
 .../discriminator/fetch/TestLazyFetch.java         |  2 +-
 .../persistence/embed/TestEmbeddedWithQuery.java   |  6 +-
 .../persistence/entityoperation/TestCascades.java  | 13 +--
 .../generationtype/TestGeneratedValues.java        | 16 ++--
 .../openjpa/persistence/graph/RelationGraph.java   |  2 +-
 .../persistence/graph/TestPersistentGraph.java     |  2 +-
 .../onetomany/TestJointableOneToMany.java          |  2 +-
 .../persistence/jdbc/order/TestOrderColumn.java    |  8 +-
 .../persistence/jdbc/query/cache/PartBase.java     |  4 +-
 .../TestMultithreadedReparameterization.java       |  4 +-
 .../jpql/functions/TestEJBQLFunction.java          |  4 +-
 .../joins/TestJoinFetchWithQueryDataCache.java     |  8 +-
 .../persistence/kernel/TestArrayValues2.java       |  7 +-
 .../persistence/kernel/TestEJBEntityManager.java   |  5 +-
 .../persistence/kernel/TestEJBTransactions.java    |  5 +-
 .../openjpa/persistence/kernel/TestFieldRange.java |  6 +-
 .../persistence/kernel/TestIndirectRecursion.java  |  2 +-
 .../persistence/kernel/TestPersistenceManager.java |  5 +-
 .../persistence/kernel/TestSpecialNumbers2.java    |  5 +-
 .../openjpa/persistence/merge/TestLazyFields.java  |  2 +-
 .../persistence/merge/TestMultipleMerge.java       | 10 +--
 .../openjpa/persistence/proxy/TestDetachMerge.java |  3 +-
 .../results/TestJPQLMultiSelectTypedResults.java   |  4 +-
 .../persistence/relations/TestInverseEagerSQL.java |  4 +-
 .../persistence/simple/TestPropertiesMethods.java  |  3 +-
 .../test/AbstractPersistenceTestCase.java          |  4 +-
 .../persistence/test/PersistenceTestCase.java      |  4 +-
 .../apache/openjpa/persistence/AbstractQuery.java  |  3 +-
 .../AnnotationPersistenceMetaDataSerializer.java   | 24 +-----
 .../openjpa/persistence/EntityManagerImpl.java     |  7 +-
 .../apache/openjpa/persistence/JPAProperties.java  |  2 +-
 .../persistence/PersistenceUnitInfoImpl.java       |  4 +-
 .../persistence/XMLPersistenceMetaDataParser.java  |  6 +-
 .../persistence/criteria/PredicateImpl.java        |  2 +-
 .../persistence/meta/AbstractManagedType.java      | 92 +++++++++++-----------
 .../persistence/meta/SourceAnnotationHandler.java  |  3 +-
 .../openjpa/persistence/osgi/BundleUtils.java      |  4 +-
 .../openjpa/persistence/query/AbstractPath.java    |  2 +-
 .../persistence/validation/ValidatorImpl.java      |  2 +-
 .../slice/jdbc/TargetFetchConfiguration.java       |  4 +-
 .../openjpa/slice/TestQueryMultiThreaded.java      |  2 +-
 .../apache/openjpa/xmlstore/XMLFileHandler.java    | 14 ++--
 101 files changed, 247 insertions(+), 421 deletions(-)

diff --git 
a/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestTraversableResolver.java
 
b/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestTraversableResolver.java
index fde01fe..c1b36cc 100644
--- 
a/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestTraversableResolver.java
+++ 
b/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestTraversableResolver.java
@@ -19,6 +19,7 @@
 package org.apache.openjpa.integration.validation;
 
 import java.lang.annotation.ElementType;
+import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.security.AccessController;
 import java.util.HashMap;
@@ -261,9 +262,7 @@ public class TestTraversableResolver extends TestCase {
             assertNotNull(getLeafNode);
             Object path = createPathFromString.invoke(null, s);
             node = (Path.Node) getLeafNode.invoke(path, null);
-        } catch (NoSuchMethodException e) {
-        } catch (IllegalAccessException ae) {
-        } catch (java.lang.reflect.InvocationTargetException te) {
+        } catch (NoSuchMethodException | InvocationTargetException | 
IllegalAccessException e) {
         }
         return node;
     }
diff --git 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/JDBCStoreManager.java
 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/JDBCStoreManager.java
index e51f5b1..e423923 100644
--- 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/JDBCStoreManager.java
+++ 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/JDBCStoreManager.java
@@ -106,7 +106,7 @@ public class JDBCStoreManager implements StoreManager, 
JDBCStore {
     private Log _log = null;
 
     // track the pending statements so we can cancel them
-    private List<Statement> _stmnts = Collections.synchronizedList(new 
ArrayList<Statement>());
+    private List<Statement> _stmnts = Collections.synchronizedList(new 
ArrayList<>());
 
     // pool statements so that we can try to reuse rather than recreate
     private List<CancelPreparedStatement> _cancelPreparedStatementsPool = new 
ArrayList<>();
diff --git 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java
 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java
index b62cdbb..5bc3d56 100644
--- 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java
+++ 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java
@@ -1572,7 +1572,7 @@ public class MappingRepository extends MetaDataRepository 
{
                     cls = itr.next();
                     Class<?> supcl = cls.getSuperclass();
                     while (supcl != null &&
-                           !supcl.getClass().equals(java.lang.Object.class)) {
+                           !supcl.equals(java.lang.Object.class)) {
                         if (!supcl.isInterface() &&
                             supcl.equals(mapping.getDescribedType())) {
                             baseMapping = mapping;
diff --git 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/VersionMappingInfo.java
 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/VersionMappingInfo.java
index b138f14..5b979af 100644
--- 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/VersionMappingInfo.java
+++ 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/VersionMappingInfo.java
@@ -87,7 +87,7 @@ public class VersionMappingInfo
                                        col.getIdentifier().toString(), 
tableName));
                }
                if (!assign.containsKey(table))
-                       assign.put(table, new ArrayList<Column>());
+                       assign.put(table, new ArrayList<>());
                assign.get(table).add(col);
        }
        MappingDefaults def = vers.getMappingRepository().getMappingDefaults();
diff --git 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ValueMapDiscriminatorStrategy.java
 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ValueMapDiscriminatorStrategy.java
index 5c44c27..ef1e10a 100644
--- 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ValueMapDiscriminatorStrategy.java
+++ 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ValueMapDiscriminatorStrategy.java
@@ -129,7 +129,7 @@ public class ValueMapDiscriminatorStrategy
                 return clz;
             throw new ClassNotFoundException(_loc.get("unknown-discrim-value",
                     new Object[]{ className, 
disc.getClassMapping().getDescribedType().
-                    getName(), new TreeSet<String>(_vals.keySet()) 
}).getMessage());
+                    getName(), new TreeSet<>(_vals.keySet()) }).getMessage());
         } finally {
             _writeLock.unlock();
         }
@@ -142,7 +142,7 @@ public class ValueMapDiscriminatorStrategy
         //Build the cache map
         ClassMapping cls = disc.getClassMapping();
         ClassMapping[] subs = cls.getJoinablePCSubclassMappings();
-        Map<String, Class<?>> map = new HashMap<String, Class<?>>((int) 
((subs.length + 1) * 1.33 + 1));
+        Map<String, Class<?>> map = new HashMap<>((int) ((subs.length + 1) * 
1.33 + 1));
         mapDiscriminatorValue(cls, map);
         for (int i = 0; i < subs.length; i++)
             mapDiscriminatorValue(subs[i], map);
diff --git 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DBCPDriverDataSource.java
 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DBCPDriverDataSource.java
index 1ead22a..e24d3d2 100644
--- 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DBCPDriverDataSource.java
+++ 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DBCPDriverDataSource.java
@@ -63,11 +63,11 @@ extends SimpleDriverDataSource implements Configurable, 
Closeable {
                     
((org.apache.commons.dbcp2.BasicDataSource)_dbcpClass.cast(_ds)).close();
                 }
             }
-        } catch (Exception e) {
-            // no-op
-        } catch (Throwable t) {
+        }
+        catch (Throwable e) {
             // no-op
-        } finally {
+        }
+        finally {
             _ds = null;
         }
     }
diff --git 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DataSourceFactory.java
 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DataSourceFactory.java
index 8afd9df..bb81e2b 100644
--- 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DataSourceFactory.java
+++ 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DataSourceFactory.java
@@ -140,9 +140,8 @@ public class DataSourceFactory {
         DecoratingDataSource dds = new DecoratingDataSource(ds);
         try {
             // add user-defined decorators
-            List<ConnectionDecorator> decorators = new ArrayList<>();
-            decorators.addAll(Arrays.asList(conf.
-                getConnectionDecoratorInstances()));
+            List<ConnectionDecorator> decorators = new 
ArrayList<>(Arrays.asList(conf.
+                    getConnectionDecoratorInstances()));
 
             // add jdbc events decorator
             JDBCEventConnectionDecorator ecd =
diff --git 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java
 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java
index db21c98..5cb75d7 100644
--- 
a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java
+++ 
b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java
@@ -131,11 +131,7 @@ public class SchemaGenerator {
             if (DBIdentifier.isNull(table) && !schemas.containsKey(schema))
                 schemas.put(schema, null);
             else if (!DBIdentifier.isNull(table)) {
-                tables = schemas.get(schema);
-                if (tables == null) {
-                    tables = new LinkedList<>();
-                    schemas.put(schema, tables);
-                }
+                tables = schemas.computeIfAbsent(schema, k -> new 
LinkedList<>());
                 tables.add(table);
             }
         }
diff --git 
a/openjpa-jest/src/main/java/org/apache/openjpa/persistence/jest/JSONObjectFormatter.java
 
b/openjpa-jest/src/main/java/org/apache/openjpa/persistence/jest/JSONObjectFormatter.java
index 360b1c1..06c954d 100644
--- 
a/openjpa-jest/src/main/java/org/apache/openjpa/persistence/jest/JSONObjectFormatter.java
+++ 
b/openjpa-jest/src/main/java/org/apache/openjpa/persistence/jest/JSONObjectFormatter.java
@@ -99,13 +99,13 @@ public class JSONObjectFormatter implements 
ObjectFormatter<JSON> {
      * @param parent the parent node to which the new node be attached.
      */
     private JSON encodeManagedInstance(final OpenJPAStateManager sm, Metamodel 
model) {
-        return encodeManagedInstance(sm, new HashSet<OpenJPAStateManager>(), 
0, false, model);
+        return encodeManagedInstance(sm, new HashSet<>(), 0, false, model);
     }
 
     private JSON encodeManagedInstances(final Collection<OpenJPAStateManager> 
sms, Metamodel model) {
         JSONObject.Array result = new JSONObject.Array();
         for (OpenJPAStateManager sm : sms) {
-            result.add(encodeManagedInstance(sm, new 
HashSet<OpenJPAStateManager>(), 0, false, model));
+            result.add(encodeManagedInstance(sm, new HashSet<>(), 0, false, 
model));
         }
         return result;
     }
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/conf/QueryCompilationCacheValue.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/conf/QueryCompilationCacheValue.java
index 5b90493..cf0ad43 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/conf/QueryCompilationCacheValue.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/conf/QueryCompilationCacheValue.java
@@ -58,7 +58,7 @@ public class QueryCompilationCacheValue
 
         try {
             map = (Map) super.newInstance(clsName, type, conf, fatal);
-        } catch (ParseException pe) {
+        } catch (ParseException | IllegalArgumentException pe) {
             // OPENJPA256: this class differs from most plugins in that
             // the plugin type is the standard java interface Map.class (rather
             // than an openjpa-specific interface), which means that the
@@ -70,19 +70,8 @@ public class QueryCompilationCacheValue
             // this class' ClassLoader.
             map = (Map) super.newInstance(clsName,
                 QueryCompilationCacheValue.class, conf, fatal);
-        } catch (IllegalArgumentException iae) {
-            // OPENJPA256: this class differs from most plugins in that
-            // the plugin type is the standard java interface Map.class (rather
-            // than an openjpa-specific interface), which means that the
-            // ClassLoader used to load the implementation will be the system
-            // class loader; this presents a problem if OpenJPA is not in the
-            // system classpath, so work around the problem by catching
-            // the IllegalArgumentException (which is what we wrap the
-            // ClassNotFoundException in) and try again, this time using
-            // this class' ClassLoader.
-            map = (Map) super.newInstance(clsName,
-                QueryCompilationCacheValue.class, conf, fatal);
-        }
+        } // the IllegalArgumentException (which is what we wrap the
+
 
         if (map != null && !(map instanceof Hashtable)
             && !(map instanceof CacheMap)
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheStoreManager.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheStoreManager.java
index df38d1b..b225f3f 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheStoreManager.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheStoreManager.java
@@ -546,11 +546,7 @@ public class DataCacheStoreManager extends 
DelegatingStoreManager {
             if (sm.getManagedInstance() == null
                 || load != FORCE_LOAD_NONE
                 || sm.getPCState() == PCState.HOLLOW) {
-                smList = caches.get(cache);
-                if (smList == null) {
-                    smList = new ArrayList<>();
-                    caches.put(cache, smList);
-                }
+                smList = caches.computeIfAbsent(cache, k -> new ArrayList<>());
                 smList.add(sm);
             } else if (!cache.contains(sm.getObjectId()))
                 unloaded = addUnloaded(sm, null, unloaded);
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/QueryCacheStoreQuery.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/QueryCacheStoreQuery.java
index 55fc3a5..e2c0cc0 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/QueryCacheStoreQuery.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/QueryCacheStoreQuery.java
@@ -130,8 +130,7 @@ public class QueryCacheStoreQuery
             AbstractQueryCache qcache = (AbstractQueryCache) _cache;
             if (qcache.getEvictPolicy() == EvictPolicy.TIMESTAMP) {
                 Set<String> classNames = qk.getAcessPathClassNames();
-                List<String> keyList = new ArrayList<>();
-                keyList.addAll(classNames);
+                List<String> keyList = new ArrayList<>(classNames);
 
                 List<Long> timestamps =
                     qcache.getAllEntityTimestamp(keyList);
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/TypeBasedCacheDistributionPolicy.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/TypeBasedCacheDistributionPolicy.java
index ab8c9d3..96b6d41 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/TypeBasedCacheDistributionPolicy.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/TypeBasedCacheDistributionPolicy.java
@@ -78,8 +78,7 @@ public class TypeBasedCacheDistributionPolicy extends 
DefaultCacheDistributionPo
         if (StringUtil.isEmpty(types))
             return Collections.emptySet();
         String[] names = StringUtil.split(types, ";", 0);
-        Set<String> set = new HashSet<>();
-        set.addAll(Arrays.asList(names));
+        Set<String> set = new HashSet<>(Arrays.asList(names));
 
         return  Collections.unmodifiableSet(set);
     }
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
index ce4be6b..42651e8 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
@@ -203,15 +203,13 @@ public class PCClassFileTransformer
             if (_repos.getMetaData(c, null, false) != null)
                 return Boolean.TRUE;
             return null;
-        } catch (ClassNotFoundException cnfe) {
+        } catch (ClassNotFoundException | LinkageError cnfe) {
             // cannot load the class: this might mean that it is a proxy
             // or otherwise inaccessible class which can't be an entity
             return Boolean.FALSE;
-        } catch (LinkageError cce) {
-            // this can happen if we are loading classes that this
-            // class depends on; these will never be enhanced anyway
-            return Boolean.FALSE;
-        } catch (RuntimeException re) {
+        } // this can happen if we are loading classes that this
+        // class depends on; these will never be enhanced anyway
+        catch (RuntimeException re) {
             throw re;
         } catch (Throwable t) {
             throw new GeneralException(t);
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/Reflection.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/Reflection.java
index 81ab673..f0808b1 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/Reflection.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/Reflection.java
@@ -917,8 +917,7 @@ public class Reflection {
             && canReflect(f)) {
                 try {
                     result.add((T)f.get(null));
-                } catch (IllegalArgumentException e) {
-                } catch (IllegalAccessException e) {
+                } catch (IllegalArgumentException | IllegalAccessException e) {
                 }
             }
         }
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/instrumentation/InstrumentationManagerImpl.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/instrumentation/InstrumentationManagerImpl.java
index f1d1a4c..8ef2b61 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/instrumentation/InstrumentationManagerImpl.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/instrumentation/InstrumentationManagerImpl.java
@@ -34,7 +34,7 @@ import 
org.apache.openjpa.lib.instrumentation.InstrumentationProvider;
 public class InstrumentationManagerImpl implements InstrumentationManager {
 
     public Set<InstrumentationProvider> _providers =
-        Collections.synchronizedSet(new HashSet<InstrumentationProvider>());
+        Collections.synchronizedSet(new HashSet<>());
 
     private boolean _closed = false;
 
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java
index ac35e72..e0c35eb 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java
@@ -83,7 +83,7 @@ public abstract class AbstractBrokerFactory implements 
BrokerFactory {
 
     // static mapping of configurations to pooled broker factories
     private static final Map<Object,AbstractBrokerFactory> _pool =
-       Collections.synchronizedMap(new 
HashMap<Object,AbstractBrokerFactory>());
+       Collections.synchronizedMap(new HashMap<>());
 
     // configuration
     private final OpenJPAConfiguration _conf;
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
index 2312e65..96065a8 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
@@ -1376,16 +1376,14 @@ public class BrokerImpl implements Broker, 
FindCallbacks, Cloneable, Serializabl
             default:
                 throw new UserException(_loc.get("meta-unknownid", cls));
             }
-        } catch (IllegalArgumentException iae) {
+        } catch (IllegalArgumentException | ClassCastException iae) {
                // OPENJPA-365
                throw new UserException(_loc.get("bad-id-value", val,
                 val.getClass().getName(), cls)).setCause(iae);
         } catch (OpenJPAException ke) {
             throw ke;
-        } catch (ClassCastException cce) {
-            throw new UserException(_loc.get("bad-id-value", val,
-                val.getClass().getName(), cls)).setCause(cce);
-        } catch (RuntimeException re) {
+        }
+        catch (RuntimeException re) {
             throw new GeneralException(re);
         } finally {
             endOperation();
@@ -2248,10 +2246,9 @@ public class BrokerImpl implements Broker, 
FindCallbacks, Cloneable, Serializabl
             // dependents
             _flags |= FLAG_DEREFDELETING;
             if (flush && _derefCache != null && !_derefCache.isEmpty()) {
-                Set<StateManagerImpl> statesMarkedForDelete = new HashSet<>();
                 // mark for delete all elements in deref, otherwise in some 
situations it
                 // throws ConcurrentModificationException
-                statesMarkedForDelete.addAll(_derefCache);
+                Set<StateManagerImpl> statesMarkedForDelete = new 
HashSet<>(_derefCache);
                 for (StateManagerImpl state: statesMarkedForDelete) {
                     deleteDeref(state);
                 }
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ExpressionStoreQuery.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ExpressionStoreQuery.java
index cdb6115..6ac07c3 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ExpressionStoreQuery.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ExpressionStoreQuery.java
@@ -369,9 +369,7 @@ public class ExpressionStoreQuery
                     range.end = ((Number) ((Constant) exps.range[1]).
                         getValue(params)).longValue();
                     return;
-                } catch (ClassCastException cce) {
-                    // fall through to exception below
-                } catch (NullPointerException npe) {
+                } catch (ClassCastException | NullPointerException cce) {
                     // fall through to exception below
                 }
             }
@@ -562,11 +560,7 @@ public class ExpressionStoreQuery
                         getValue2 = cls.getMethod("getValue2");
                         getValue2.setAccessible(true);
                         value2 = getValue2.invoke(exps.having, (Object[]) 
null);
-                    } catch (NoSuchMethodException name) {
-                        // skip
-                    } catch (IllegalAccessException iae) {
-                        // skip
-                    } catch (InvocationTargetException ite) {
+                    } catch (NoSuchMethodException | InvocationTargetException 
| IllegalAccessException name) {
                         // skip
                     }
                     if (value2 != null && value2 instanceof Subquery)
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
index b1b4dea..b73c3ef 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
@@ -1141,7 +1141,7 @@ public class FetchConfigurationImpl
     List<FetchConfigurationImpl> getPath() {
         if (isRoot())
             return Collections.emptyList();
-        return trackPath(new ArrayList<FetchConfigurationImpl>());
+        return trackPath(new ArrayList<>());
     }
 
     List<FetchConfigurationImpl> trackPath(List<FetchConfigurationImpl> path) {
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
index 331c8f5..a8cd1ba 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
@@ -1766,8 +1766,7 @@ public class QueryImpl implements Query {
                 getClassLoader(_class, _broker.getClassLoader());
         try {
             return ClassUtil.toClass(name, _loader);
-        } catch (RuntimeException re) {
-        } catch (NoClassDefFoundError ncdfe) {
+        } catch (RuntimeException | NoClassDefFoundError re) {
         }
         return null;
     }
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryLanguages.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryLanguages.java
index e22a55d..a89114a 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryLanguages.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryLanguages.java
@@ -52,9 +52,7 @@ public class QueryLanguages {
                     J2DoPrivHelper.newInstanceAction(classes[i]));
             } catch (PrivilegedActionException pae) {
                 throw new InternalException(pae.getException());
-            } catch (InstantiationException e) {
-                throw new InternalException(e);
-            } catch (IllegalAccessException e) {
+            } catch (InstantiationException | IllegalAccessException e) {
                 throw new InternalException(e);
             }
             _expressionParsers.put(ep.getLanguage(), ep);
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultShape.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultShape.java
index 684349d..b320a57 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultShape.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultShape.java
@@ -83,7 +83,7 @@ public class ResultShape<T> implements Serializable {
      * If the shape is declared as primitive then the given class can not be 
an array.
      */
     public ResultShape(Class<T> cls, boolean primitive) {
-        this(cls, cls.isArray() ? new FillStrategy.Array<>(cls) : new 
FillStrategy.Assign<T>(), primitive);
+        this(cls, cls.isArray() ? new FillStrategy.Array<>(cls) : new 
FillStrategy.Assign<>(), primitive);
         if (cls.isArray() && primitive)
             throw new IllegalArgumentException(cls.getSimpleName() + " can not 
be primitive shape");
     }
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/Exp.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/Exp.java
index d8c4407..514f3a0 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/Exp.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/Exp.java
@@ -40,9 +40,7 @@ public class Exp
         StoreContext ctx, Object[] params) {
         try {
             return eval(candidate, candidate, ctx, params);
-        } catch (ClassCastException cce) {
-            return false;
-        } catch (NullPointerException npe) {
+        } catch (ClassCastException | NullPointerException cce) {
             return false;
         }
     }
@@ -54,9 +52,7 @@ public class Exp
         StoreContext ctx, Object[] params) {
         try {
             return eval(candidates, ctx, params);
-        } catch (ClassCastException cce) {
-            return false;
-        } catch (NullPointerException npe) {
+        } catch (ClassCastException | NullPointerException cce) {
             return false;
         }
     }
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/Val.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/Val.java
index 647bc14..1d3425a 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/Val.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/Val.java
@@ -46,9 +46,7 @@ public abstract class Val
         StoreContext ctx, Object[] params) {
         try {
             return eval(candidate, candidate, ctx, params);
-        } catch (NullPointerException npe) {
-            return null;
-        } catch (ClassCastException cce) {
+        } catch (NullPointerException | ClassCastException npe) {
             return null;
         }
     }
@@ -64,9 +62,7 @@ public abstract class Val
             if (c.isEmpty())
                 return null;
             return c.iterator().next();
-        } catch (NullPointerException npe) {
-            return null;
-        } catch (ClassCastException cce) {
+        } catch (NullPointerException | ClassCastException npe) {
             return null;
         }
     }
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java
index a0c0c8b..55edebb 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java
@@ -903,11 +903,7 @@ public class ClassMetaData
     public void setInterfacePropertyAlias(Class<?> iface, String orig,
         String local) {
         synchronized (_ifaceMap) {
-            Map<String,String> fields = _ifaceMap.get(iface);
-            if (fields == null) {
-                fields = new HashMap<>();
-                _ifaceMap.put(iface, fields);
-            }
+            Map<String, String> fields = _ifaceMap.computeIfAbsent(iface, k -> 
new HashMap<>());
             if (fields.containsKey(orig))
                 throw new MetaDataException(_loc.get("duplicate-iface-alias",
                     this, orig, local));
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
index f305125..1c17fe7 100644
--- 
a/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
+++ 
b/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
@@ -112,22 +112,22 @@ public class MetaDataRepository implements 
PCRegistry.RegisterClassListener, Con
     // to metadatas
     private Map<Class<?>, ClassMetaData> _metas = new HashMap<>();
     private Map<String, ClassMetaData> _metaStringMap = new 
ConcurrentHashMap<>();
-    private Map<Class<?>, Class<?>> _oids = Collections.synchronizedMap(new 
HashMap<Class<?>, Class<?>>());
+    private Map<Class<?>, Class<?>> _oids = Collections.synchronizedMap(new 
HashMap<>());
     private Map<Class<?>, Collection<Class<?>>> _impls =
-        Collections.synchronizedMap(new HashMap<Class<?>, 
Collection<Class<?>>>());
-    private Map<Class<?>, Class<?>> _ifaces = Collections.synchronizedMap(new 
HashMap<Class<?>, Class<?>>());
+        Collections.synchronizedMap(new HashMap<>());
+    private Map<Class<?>, Class<?>> _ifaces = Collections.synchronizedMap(new 
HashMap<>());
     private Map<String, QueryMetaData> _queries = new HashMap<>();
     private Map<String, SequenceMetaData> _seqs = new HashMap<>();
-    private Map<String, List<Class<?>>> _aliases = 
Collections.synchronizedMap(new HashMap<String, List<Class<?>>>());
+    private Map<String, List<Class<?>>> _aliases = 
Collections.synchronizedMap(new HashMap<>());
     private Map<Class<?>, NonPersistentMetaData> _pawares =
-        Collections.synchronizedMap(new HashMap<Class<?>, 
NonPersistentMetaData>());
+        Collections.synchronizedMap(new HashMap<>());
     private Map<Class<?>, NonPersistentMetaData> _nonMapped =
-        Collections.synchronizedMap(new HashMap<Class<?>, 
NonPersistentMetaData>());
-    private Map<Class<?>, Class<?>> _metamodel = 
Collections.synchronizedMap(new HashMap<Class<?>, Class<?>>());
+        Collections.synchronizedMap(new HashMap<>());
+    private Map<Class<?>, Class<?>> _metamodel = 
Collections.synchronizedMap(new HashMap<>());
 
     // map of classes to lists of their subclasses
     private Map<Class<?>, Collection<Class<?>>> _subs =
-            Collections.synchronizedMap(new HashMap<Class<?>, 
Collection<Class<?>>>());
+            Collections.synchronizedMap(new HashMap<>());
 
     // xml mapping
     protected final XMLMetaData[] EMPTY_XMLMETAS;
@@ -1885,7 +1885,7 @@ public class MetaDataRepository implements 
PCRegistry.RegisterClassListener, Con
                 comp.setBase(key);
                 coll = new TreeSet<Class<?>>(comp);
             } else
-                coll = new LinkedList<Class<?>>();
+                coll = new LinkedList<>();
             map.put(key, coll);
         }
         coll.add(value);
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollections.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollections.java
index ad16863..a54f5de 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollections.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollections.java
@@ -466,9 +466,7 @@ public class ProxyCollections
      */
     public static boolean retainAll(ProxyCollection coll, Collection<?> vals) {
         int size = coll.size();
-        for (Iterator<?> itr = coll.iterator(); itr.hasNext();)
-            if (!vals.contains(itr.next()))
-                itr.remove();
+        coll.removeIf(o -> !vals.contains(o));
         return coll.size() < size;
     }
 
diff --git 
a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java 
b/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
index e3aba2c..d6d80bc 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
@@ -1681,8 +1681,7 @@ public class ProxyManagerImpl
         Options opts = new Options();
         args = opts.setFromCmdLine(args);
 
-        List types = new ArrayList();
-        types.addAll(Arrays.asList(args));
+        List types = new ArrayList(Arrays.asList(args));
         int utils = opts.removeIntProperty("utils", "u", 0);
         if (utils >= 4) {
             types.addAll(Arrays.asList(new String[] {
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java
index 56b978b..a5c371c 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java
@@ -496,11 +496,7 @@ public class ConfigurationImpl
             val = (Value) _vals.get(i);
             try {
                 _pds[i] = getPropertyDescriptor(val);
-            } catch (MissingResourceException mre) {
-                if (failures == null)
-                    failures = new ArrayList<>();
-                failures.add(val.getProperty());
-            } catch (IntrospectionException ie) {
+            } catch (MissingResourceException | IntrospectionException mre) {
                 if (failures == null)
                     failures = new ArrayList<>();
                 failures.add(val.getProperty());
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/graph/DepthFirstAnalysis.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/graph/DepthFirstAnalysis.java
index e4e7a31..b0307b5 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/graph/DepthFirstAnalysis.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/graph/DepthFirstAnalysis.java
@@ -67,7 +67,7 @@ public class DepthFirstAnalysis {
         for (Object node : nodes) {
             info = _nodeInfo.get(node);
             if (info.color == NodeInfo.COLOR_WHITE)
-                visit(graph, node, info, 0, new LinkedList<Edge>());
+                visit(graph, node, info, 0, new LinkedList<>());
         }
     }
 
diff --git a/openjpa-lib/src/main/java/org/apache/openjpa/lib/graph/Graph.java 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/graph/Graph.java
index 6f20150..2cb5a6f 100644
--- a/openjpa-lib/src/main/java/org/apache/openjpa/lib/graph/Graph.java
+++ b/openjpa-lib/src/main/java/org/apache/openjpa/lib/graph/Graph.java
@@ -146,19 +146,11 @@ public class Graph {
         if (!containsNode(edge.getFrom()))
             throw new IllegalArgumentException(edge.getFrom().toString());
 
-        Collection<Edge> from = _nodes.get(edge.getFrom());
-        if (from == null) {
-            from = new ArrayList<>(3);
-            _nodes.put(edge.getFrom(), from);
-        }
+        Collection<Edge> from = _nodes.computeIfAbsent(edge.getFrom(), k -> 
new ArrayList<>(3));
         from.add(edge);
 
         if (!edge.isDirected() && !edge.getFrom().equals(edge.getTo())) {
-            Collection<Edge> to = _nodes.get(edge.getTo());
-            if (to == null) {
-                to = new ArrayList<>(3);
-                _nodes.put(edge.getTo(), to);
-            }
+            Collection<Edge> to = _nodes.computeIfAbsent(edge.getTo(), k -> 
new ArrayList<>(3));
             to.add(edge);
         }
     }
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/identifier/IdentifierUtilImpl.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/identifier/IdentifierUtilImpl.java
index 60986bf..ad31ce0 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/identifier/IdentifierUtilImpl.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/identifier/IdentifierUtilImpl.java
@@ -78,7 +78,7 @@ public class IdentifierUtilImpl implements IdentifierUtil, 
Configurable {
     public String combineNames(IdentifierConfiguration config, IdentifierRule 
rule,
         IdentifierRule[] rules, String[] names) {
         boolean delimited = false;
-        String combined = null;
+        StringBuilder combined = null;
         for (int i = 0; i < names.length; i++) {
             String name = names[i];
             if (isDelimited(rules[i], name)) {
@@ -86,18 +86,18 @@ public class IdentifierUtilImpl implements IdentifierUtil, 
Configurable {
                 name = removeDelimiters(config, rules[i], name);
             }
             if (i == 0) {
-                combined = name;
+                combined = new StringBuilder(name);
             }
             else {
-                combined = combined + config.getIdentifierConcatenator() + 
name;
+                
combined.append(config.getIdentifierConcatenator()).append(name);
             }
         }
 
         if (delimited) {
-            combined = delimit(config, rule, combined);
+            combined = new StringBuilder(delimit(config, rule, 
combined.toString()));
         }
 
-        return combined;
+        return combined.toString();
     }
 
     public String combineNames(IdentifierConfiguration config, IdentifierRule 
rule, String name1, String name2) {
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/CFMetaDataSerializer.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/CFMetaDataSerializer.java
index 4a6f508..259a9ae 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/CFMetaDataSerializer.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/CFMetaDataSerializer.java
@@ -66,11 +66,7 @@ public abstract class CFMetaDataSerializer extends 
XMLMetaDataSerializer {
         for (Iterator<Object> itr = objs.iterator(); itr.hasNext();) {
             obj = itr.next();
             packageName = getPackage(obj);
-            packageObjs = packages.get(packageName);
-            if (packageObjs == null) {
-                packageObjs = new LinkedList<>();
-                packages.put(packageName, packageObjs);
-            }
+            packageObjs = packages.computeIfAbsent(packageName, k -> new 
LinkedList<>());
             packageObjs.add(obj);
         }
         return packages;
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java
index 4cf064e..c7f2709 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java
@@ -465,11 +465,7 @@ public abstract class XMLMetaDataParser extends 
DefaultHandler
             _parsed = new HashMap<>();
 
         ClassLoader loader = currentClassLoader();
-        Set<String> set = _parsed.get(loader);
-        if (set == null) {
-            set = new HashSet<>();
-            _parsed.put(loader, set);
-        }
+        Set<String> set = _parsed.computeIfAbsent(loader, k -> new 
HashSet<>());
         boolean added = set.add(src);
         if (!added && _log != null && _log.isTraceEnabled())
             _log.trace(_loc.get("already-parsed", src));
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataSerializer.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataSerializer.java
index 60582a3..afd93bb 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataSerializer.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataSerializer.java
@@ -122,10 +122,8 @@ public abstract class XMLMetaDataSerializer implements 
MetaDataSerializer {
 
                 if (output != null)
                     output.put(file, ((StringWriter) writer).toString());
-            } catch (SAXException se) {
+            } catch (SAXException | TransformerConfigurationException se) {
                 throw new IOException(se.toString());
-            } catch (TransformerConfigurationException tce) {
-                throw new IOException(tce.toString());
             }
         }
     }
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Services.java 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Services.java
index f0b3a65..67dfeb6 100644
--- a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Services.java
+++ b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Services.java
@@ -101,9 +101,7 @@ public class Services {
 
             return (String[]) resourceList.toArray(new String[resourceList
                 .size()]);
-        } catch (PrivilegedActionException pae) {
-            // silently swallow all exceptions.
-        } catch (IOException ioe) {
+        } catch (PrivilegedActionException | IOException pae) {
             // silently swallow all exceptions.
         }
         return new String[0];
@@ -219,15 +217,14 @@ public class Services {
         for (int i = 0; i < names.length; i++) {
             try {
                 classes.add(Class.forName(names[i], false, loader));
-            } catch (ClassNotFoundException e) {
-                if (!skipMissing)
-                    throw e;
-            } catch (UnsupportedClassVersionError ecve) {
+            }
+            catch (UnsupportedClassVersionError ecve) {
                 if (!skipMissing)
                     throw ecve;
-            } catch (LinkageError le) {
+            }
+            catch (ClassNotFoundException | LinkageError e) {
                 if (!skipMissing)
-                    throw le;
+                    throw e;
             }
         }
         return (Class[]) classes.toArray(new Class[classes.size()]);
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/AbstractHashedMap.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/AbstractHashedMap.java
index 7101889..c24f950 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/AbstractHashedMap.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/AbstractHashedMap.java
@@ -1338,9 +1338,7 @@ public class AbstractHashedMap<K, V> extends 
AbstractMap<K, V> implements Iterab
                     }
                 }
             }
-        } catch (final ClassCastException ignored)   {
-            return false;
-        } catch (final NullPointerException ignored) {
+        } catch (final ClassCastException | NullPointerException ignored)   {
             return false;
         }
         return true;
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/ComparatorChain.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/ComparatorChain.java
index 0a8eae0..78c65f0 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/ComparatorChain.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/ComparatorChain.java
@@ -70,7 +70,7 @@ public class ComparatorChain<E> implements Comparator<E>, 
Serializable {
      * UnsupportedOperationException is thrown
      */
     public ComparatorChain() {
-        this(new ArrayList<Comparator<E>>(), new BitSet());
+        this(new ArrayList<>(), new BitSet());
     }
 
     /**
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/DualHashBidiMap.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/DualHashBidiMap.java
index a763997..7a530dd 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/DualHashBidiMap.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/DualHashBidiMap.java
@@ -50,7 +50,7 @@ public class DualHashBidiMap<K, V> extends 
AbstractDualBidiMap<K, V> implements
      * Creates an empty <code>HashBidiMap</code>.
      */
     public DualHashBidiMap() {
-        super(new HashMap<K, V>(), new HashMap<V, K>());
+        super(new HashMap<>(), new HashMap<>());
     }
 
     /**
@@ -60,7 +60,7 @@ public class DualHashBidiMap<K, V> extends 
AbstractDualBidiMap<K, V> implements
      * @param map  the map whose mappings are to be placed in this map
      */
     public DualHashBidiMap(final Map<? extends K, ? extends V> map) {
-        super(new HashMap<K, V>(), new HashMap<V, K>());
+        super(new HashMap<>(), new HashMap<>());
         putAll(map);
     }
 
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/DualTreeBidiMap.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/DualTreeBidiMap.java
index a87e620..0d46f77 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/DualTreeBidiMap.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/DualTreeBidiMap.java
@@ -64,7 +64,7 @@ public class DualTreeBidiMap<K, V> extends 
AbstractDualBidiMap<K, V>
      * Creates an empty <code>DualTreeBidiMap</code>
      */
     public DualTreeBidiMap() {
-        super(new TreeMap<K, V>(), new TreeMap<V, K>());
+        super(new TreeMap<>(), new TreeMap<>());
         this.comparator = null;
         this.valueComparator = null;
     }
@@ -76,7 +76,7 @@ public class DualTreeBidiMap<K, V> extends 
AbstractDualBidiMap<K, V>
      * @param map  the map whose mappings are to be placed in this map
      */
     public DualTreeBidiMap(final Map<? extends K, ? extends V> map) {
-        super(new TreeMap<K, V>(), new TreeMap<V, K>());
+        super(new TreeMap<>(), new TreeMap<>());
         putAll(map);
         this.comparator = null;
         this.valueComparator = null;
@@ -89,7 +89,7 @@ public class DualTreeBidiMap<K, V> extends 
AbstractDualBidiMap<K, V>
      * @param valueComparator  the values comparator to use
      */
     public DualTreeBidiMap(final Comparator<? super K> keyComparator, final 
Comparator<? super V> valueComparator) {
-        super(new TreeMap<K, V>(keyComparator), new TreeMap<V, 
K>(valueComparator));
+        super(new TreeMap<>(keyComparator), new TreeMap<>(valueComparator));
         this.comparator = keyComparator;
         this.valueComparator = valueComparator;
     }
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/TreeBidiMap.java
 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/TreeBidiMap.java
index b665c44..7535317 100644
--- 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/TreeBidiMap.java
+++ 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/collections/TreeBidiMap.java
@@ -1372,9 +1372,7 @@ public class TreeBidiMap<K extends Comparable<K>, V 
extends Comparable<V>>
                         return false;
                     }
                 }
-            } catch (final ClassCastException ex) {
-                return false;
-            } catch (final NullPointerException ex) {
+            } catch (final ClassCastException | NullPointerException ex) {
                 return false;
             }
         }
diff --git 
a/openjpa-lib/src/main/java/org/apache/openjpa/lib/xml/XMLFactory.java 
b/openjpa-lib/src/main/java/org/apache/openjpa/lib/xml/XMLFactory.java
index 6b1024d..24bde38 100644
--- a/openjpa-lib/src/main/java/org/apache/openjpa/lib/xml/XMLFactory.java
+++ b/openjpa-lib/src/main/java/org/apache/openjpa/lib/xml/XMLFactory.java
@@ -78,10 +78,8 @@ public class XMLFactory {
         try {
             sp = _saxFactories[factoryIndex(validating, namespaceAware)].
                 newSAXParser();
-        } catch (ParserConfigurationException pce) {
+        } catch (ParserConfigurationException | SAXException pce) {
             throw new RuntimeException(pce);
-        } catch (SAXException se) {
-            throw new RuntimeException(se);
         }
 
         if (validating) {
diff --git 
a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java 
b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java
index ed113f4..eed5fa3 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java
@@ -89,8 +89,7 @@ public abstract class ResultListTest extends AbstractTestCase 
{
             try {
                 itr.next();
                 fail("After last.");
-            } catch (IndexOutOfBoundsException ioob) {
-            } catch (NoSuchElementException nse) {
+            } catch (IndexOutOfBoundsException | NoSuchElementException ioob) {
             }
         }
     }
@@ -121,8 +120,7 @@ public abstract class ResultListTest extends 
AbstractTestCase {
             try {
                 itr.next();
                 fail("After last.");
-            } catch (IndexOutOfBoundsException ioob) {
-            } catch (NoSuchElementException nse) {
+            } catch (IndexOutOfBoundsException | NoSuchElementException ioob) {
             }
         }
     }
@@ -140,8 +138,7 @@ public abstract class ResultListTest extends 
AbstractTestCase {
             try {
                 itr.next();
                 fail("After last.");
-            } catch (IndexOutOfBoundsException ioob) {
-            } catch (NoSuchElementException nse) {
+            } catch (IndexOutOfBoundsException | NoSuchElementException ioob) {
             }
         }
     }
@@ -159,8 +156,7 @@ public abstract class ResultListTest extends 
AbstractTestCase {
             try {
                 itr.previous();
                 fail("Before first.");
-            } catch (IndexOutOfBoundsException ioob) {
-            } catch (NoSuchElementException nse) {
+            } catch (IndexOutOfBoundsException | NoSuchElementException ioob) {
             }
         }
     }
@@ -230,8 +226,7 @@ public abstract class ResultListTest extends 
AbstractTestCase {
             try {
                 _lists[i].get(-1);
                 fail("Before begin.");
-            } catch (IndexOutOfBoundsException ioob) {
-            } catch (NoSuchElementException nse) {
+            } catch (IndexOutOfBoundsException | NoSuchElementException ioob) {
             }
         }
     }
@@ -251,8 +246,7 @@ public abstract class ResultListTest extends 
AbstractTestCase {
             try {
                 _lists[i].get(100);
                 fail("Past end.");
-            } catch (IndexOutOfBoundsException ioob) {
-            } catch (NoSuchElementException nse) {
+            } catch (IndexOutOfBoundsException | NoSuchElementException ioob) {
             }
         }
     }
diff --git 
a/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java
 
b/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java
index 5043ad4..ac6ac81 100644
--- 
a/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java
+++ 
b/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java
@@ -170,11 +170,7 @@ public class AnnotationPersistenceMappingSerializer
     {
         if (_rsmAnnos == null)
             _rsmAnnos = new HashMap<>();
-        List<AnnotationBuilder> list = _rsmAnnos.get(meta);
-        if (list == null) {
-            list = new ArrayList<>();
-            _rsmAnnos.put(meta, list);
-        }
+        List<AnnotationBuilder> list = _rsmAnnos.computeIfAbsent(meta, k -> 
new ArrayList<>());
         list.add(ab);
     }
 
diff --git 
a/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java
 
b/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java
index 7cd2f22..8eca798 100644
--- 
a/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java
+++ 
b/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java
@@ -1449,11 +1449,7 @@ public class XMLPersistenceMappingParser
     private void deferEmbeddableOverrides(
         Class<?> cls, DeferredEmbeddableOverrides defMap) {
         ArrayList<DeferredEmbeddableOverrides> defMappings =
-            _deferredMappings.get(cls);
-        if (defMappings == null) {
-            defMappings = new ArrayList<>();
-            _deferredMappings.put(cls, defMappings);
-        }
+                _deferredMappings.computeIfAbsent(cls, k -> new ArrayList<>());
         defMappings.add(defMap);
     }
 
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/kernel/AbstractBrokerSerializationTest.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/kernel/AbstractBrokerSerializationTest.java
index cce78c6..f184ece 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/kernel/AbstractBrokerSerializationTest.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/kernel/AbstractBrokerSerializationTest.java
@@ -369,10 +369,8 @@ public abstract class AbstractBrokerSerializationTest<T>
             ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
             ObjectInputStream ois = new ObjectInputStream(bais);
             return ois.readObject();
-        } catch (IOException ioe) {
+        } catch (IOException | ClassNotFoundException ioe) {
             throw new RuntimeException(ioe);
-        } catch (ClassNotFoundException e) {
-            throw new RuntimeException(e);
         }
     }
 
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestAdvAnnot.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestAdvAnnot.java
index 32dfd32..bf36549 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestAdvAnnot.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestAdvAnnot.java
@@ -46,8 +46,8 @@ public class TestAdvAnnot extends AnnotationTestCase
                for(int i = 0; i<5; i++)
                {
                        Calendar cal = Calendar.getInstance();
-                       Date date = new Date(01012006l);
-                       Date edate = new Date(10031980l);
+                       Date date = new Date(01012006L);
+                       Date edate = new Date(10031980L);
                        String name = "AmericaWest"+i;
                        String schedname = "Schedule"+i;
             FlightSchedule sched = new FlightSchedule(schedname, cal, date,
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestEmbeddedId.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestEmbeddedId.java
index 53d7d27..230004a 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestEmbeddedId.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestEmbeddedId.java
@@ -145,12 +145,8 @@ public class TestEmbeddedId extends AnnotationTestCase
             e.getId().setPk1(9);
             endTx(em);
             fail("Committed with changed oid field.");
-        } catch (RuntimeException re) {
-            if (isActiveTx(em))
-               rollbackTx(em);
         }
-        catch (Exception exc)
-        {
+        catch (Exception re) {
             if (isActiveTx(em))
                rollbackTx(em);
         }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestVersion.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestVersion.java
index e87e555..a9c19dc 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestVersion.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/TestVersion.java
@@ -118,11 +118,9 @@ public class TestVersion extends AnnotationTestCase
                        em2.getTransaction().commit();
                        fail("Optimistic fail");
                }
-               catch (RuntimeException re)
-               {}
-               catch (Exception e)
-               {}
-               finally
+        catch (Exception re)
+        {}
+        finally
                {
                        em2.close();
                }
@@ -155,11 +153,9 @@ public class TestVersion extends AnnotationTestCase
                        em2.getTransaction().commit();
                        fail("Optimistic fail");
                }
-               catch (RuntimeException re)
-               {}
-               catch (Exception e)
-               {}
-               finally
+        catch (Exception re)
+        {}
+        finally
                {
                        em2.close();
                }
@@ -194,11 +190,9 @@ public class TestVersion extends AnnotationTestCase
                        em2.getTransaction().commit();
                        fail("Optimistic fail");
                }
-               catch (RuntimeException re)
-               {}
-               catch (Exception e)
-               {}
-               finally
+        catch (Exception re)
+        {}
+        finally
                {
                        em2.close();
                }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/arrays/TestAnnoExceptionEntity.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/arrays/TestAnnoExceptionEntity.java
index a6a8571..5c39699 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/arrays/TestAnnoExceptionEntity.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/arrays/TestAnnoExceptionEntity.java
@@ -39,7 +39,7 @@ public class TestAnnoExceptionEntity extends 
SingleEMFTestCase {
         AnnoExceptionEntity e = new AnnoExceptionEntity();
         e.setId(1);
         em.persist(e);
-        e.setExceptions(new ArrayList<Exception>());
+        e.setExceptions(new ArrayList<>());
         e.getExceptions().add(new Exception("Exception 1"));
         e.getExceptions().add(new Exception("Exception 2"));
         em.getTransaction().commit();
@@ -66,7 +66,7 @@ public class TestAnnoExceptionEntity extends 
SingleEMFTestCase {
         AnnoExceptionEntity e = new AnnoExceptionEntity();
         e.setId(1);
         em.persist(e);
-        e.setPersCollExceptions(new ArrayList<Exception>());
+        e.setPersCollExceptions(new ArrayList<>());
         e.getPersCollExceptions().add(new Exception("Exception 1"));
         e.getPersCollExceptions().add(new Exception("Exception 2"));
         em.getTransaction().commit();
@@ -93,7 +93,7 @@ public class TestAnnoExceptionEntity extends 
SingleEMFTestCase {
         AnnoExceptionEntity e = new AnnoExceptionEntity();
         e.setId(1);
         em.persist(e);
-        e.setElemCollExceptions(new ArrayList<String>());
+        e.setElemCollExceptions(new ArrayList<>());
         e.getElemCollExceptions().add(new Exception("Exception 1").toString());
         e.getElemCollExceptions().add(new Exception("Exception 2").toString());
         em.getTransaction().commit();
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/arrays/TestXMLExceptionEntity.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/arrays/TestXMLExceptionEntity.java
index 12b34e4..200501f 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/arrays/TestXMLExceptionEntity.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/arrays/TestXMLExceptionEntity.java
@@ -39,7 +39,7 @@ public class TestXMLExceptionEntity extends SingleEMFTestCase 
{
         XMLExceptionEntity e = new XMLExceptionEntity();
         e.setId(1);
         em.persist(e);
-        e.setExceptions(new ArrayList<Exception>());
+        e.setExceptions(new ArrayList<>());
         e.getExceptions().add(new Exception("Exception 1"));
         e.getExceptions().add(new Exception("Exception 2"));
         em.getTransaction().commit();
@@ -66,7 +66,7 @@ public class TestXMLExceptionEntity extends SingleEMFTestCase 
{
         XMLExceptionEntity e = new XMLExceptionEntity();
         e.setId(1);
         em.persist(e);
-        e.setPersCollExceptions(new ArrayList<Exception>());
+        e.setPersCollExceptions(new ArrayList<>());
         e.getPersCollExceptions().add(new Exception("Exception 1"));
         e.getPersCollExceptions().add(new Exception("Exception 2"));
         em.getTransaction().commit();
@@ -93,7 +93,7 @@ public class TestXMLExceptionEntity extends SingleEMFTestCase 
{
         XMLExceptionEntity e = new XMLExceptionEntity();
         e.setId(1);
         em.persist(e);
-        e.setElemCollExceptions(new ArrayList<String>());
+        e.setElemCollExceptions(new ArrayList<>());
         e.getElemCollExceptions().add(new Exception("Exception 1").toString());
         e.getElemCollExceptions().add(new Exception("Exception 2").toString());
         em.getTransaction().commit();
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
index 3f405b1..7465c38 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
@@ -375,9 +375,7 @@ public abstract class AbstractCriteriaTestCase extends 
TestCase {
             if (anno != null) {
                 return anno;
             }
-        } catch (SecurityException e) {
-            // ignore
-        } catch (NoSuchMethodException e) {
+        } catch (SecurityException | NoSuchMethodException e) {
             // ignore
         }
         return getClass().getAnnotation(AllowFailure.class);
@@ -385,7 +383,7 @@ public abstract class AbstractCriteriaTestCase extends 
TestCase {
 
     public class SQLAuditor extends FilteringJDBCListener {
         public SQLAuditor() {
-            super(new ArrayList<String>());
+            super(new ArrayList<>());
         }
 
         List<String> getSQLs() {
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestTypedResults.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestTypedResults.java
index e99bc40..656dad4 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestTypedResults.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestTypedResults.java
@@ -68,7 +68,7 @@ public class TestTypedResults extends SingleEMFTestCase {
 
         s.setId(1);
         s.setName("eBay.com");
-        s.setOrders(new HashSet<Order>());
+        s.setOrders(new HashSet<>());
 
         for (int i = 1; i <= N_ORDERS; i++) {
             order = new Order();
@@ -76,7 +76,7 @@ public class TestTypedResults extends SingleEMFTestCase {
             order.setDate(df.parse(ORDER_DATES[i % ORDER_DATES.length]));
             order.setFilled(i % 2 == 0 ? true : false);
             order.setShop(s);
-            order.setItems(new HashSet<Item>());
+            order.setItems(new HashSet<>());
             s.getOrders().add(order);
             for (int j = 1; j <= N_ITEMS_PER_ORDER; j++) {
                 item = new Item();
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheLoadTest.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheLoadTest.java
index 2c6ce30..8d37e49 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheLoadTest.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheLoadTest.java
@@ -152,9 +152,8 @@ public class CacheLoadTest
 
             endTx(em);
             endEm(em);
-        } catch (IllegalStateException e) {
-            e.printStackTrace();
-        } catch (Exception e) {
+        }
+        catch (Exception e) {
             e.printStackTrace();
         }
     }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestCacheExclusions.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestCacheExclusions.java
index e8f7a31..13e9fdb 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestCacheExclusions.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestCacheExclusions.java
@@ -54,7 +54,7 @@ public class TestCacheExclusions extends 
AbstractCachedEMFTestCase {
             em.persist(items[n++]);
         }
         p = new Purchase();
-        p.setOrders(new ArrayList<Order>());
+        p.setOrders(new ArrayList<>());
         o1 = new Order();
         o1.setItem(em.find(Item.class, 1));
         o1.setQuantity(2);
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java
index 049bd23..b079765 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java
@@ -55,7 +55,7 @@ public class TestJPACache extends SingleEMFTestCase {
         m.setFirstName("Joan");
         m.setLastName("Baker");
         m.setId(12);
-        m.setEmployees(new ArrayList<CachedEmployee>());
+        m.setEmployees(new ArrayList<>());
         em.persist(m);
 
         CachedEmployee e = new CachedEmployee();
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detach/TestDetachNoProxy.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detach/TestDetachNoProxy.java
index 071f534..0a5d02b 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detach/TestDetachNoProxy.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detach/TestDetachNoProxy.java
@@ -416,11 +416,10 @@ public class TestDetachNoProxy extends SingleEMFTestCase {
             if (_log.isTraceEnabled())
                 _log.trace("verifySerializable() - after deserialize");
             verifyEntities(e20new, usesProxyAfter);
-        } catch (IOException e) {
-            fail(e.toString());
-        } catch (ClassNotFoundException e) {
+        } catch (IOException | ClassNotFoundException e) {
             fail(e.toString());
-        } finally {
+        }
+        finally {
             try {
                 if (ois != null)
                     ois.close();
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetach.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetach.java
index ef73932..d72ab75 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetach.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetach.java
@@ -150,8 +150,7 @@ public class TestDetach extends SingleEMFTestCase {
         }
 
         List<DMCustomerInventory> newInventories =
-            new ArrayList<>();
-        newInventories.addAll(inventories);
+                new ArrayList<>(inventories);
         DMCustomerInventory newInventory = new DMCustomerInventory();
         newInventory.setCustomer(detached);
         newInventories.add(newInventory);
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/fetch/TestLazyFetch.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/fetch/TestLazyFetch.java
index c7ffabc..4430268 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/fetch/TestLazyFetch.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/fetch/TestLazyFetch.java
@@ -52,7 +52,7 @@ public class TestLazyFetch extends 
AbstractPersistenceTestCase {
         tran.begin();
         Manager m = new Manager();
         m.setId(10);
-        m.setEmployees(new HashSet<Employee>());
+        m.setEmployees(new HashSet<>());
         em.persist(m);
 
         Employee e;
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddedWithQuery.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddedWithQuery.java
index 2a954fd..95b036a 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddedWithQuery.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddedWithQuery.java
@@ -51,8 +51,7 @@ public class TestEmbeddedWithQuery extends SingleEMFTestCase {
             List resultList = q1.getResultList();
             assertNotNull(resultList);
 
-            List <EParent> pList = new ArrayList<>();
-            pList.addAll(resultList);
+            List<EParent> pList = new ArrayList<>(resultList);
             em.clear();
             assertNotEquals(0, pList.size());
 
@@ -81,8 +80,7 @@ public class TestEmbeddedWithQuery extends SingleEMFTestCase {
             List resultList = q1.getResultList();
             assertNotNull(resultList);
 
-            List <EParent> pList = new ArrayList<>();
-            pList.addAll(resultList);
+            List<EParent> pList = new ArrayList<>(resultList);
             em.clear();
             assertNotEquals(0, pList.size());
 
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entityoperation/TestCascades.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entityoperation/TestCascades.java
index 5fa40b5..0ef3666 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entityoperation/TestCascades.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entityoperation/TestCascades.java
@@ -100,11 +100,9 @@ public class TestCascades extends AbstractTestCase {
              fail ("Allowed flush with deleted object in non-cascade-persist "
                  + "relation field");
          }
-         catch (RuntimeException re)
+         catch (Exception re)
          {
          }
-         catch (Exception e)
-         {}
 
          assertTrue (!em.getTransaction().isActive ());
          endEm(em);
@@ -123,9 +121,6 @@ public class TestCascades extends AbstractTestCase {
              fail ("Allowed flush with deleted object in non-cascade-persist "
                  + "relation field");
          }
-         catch (RuntimeException re)
-         {
-         }
          catch (Exception re)
          {
          }
@@ -192,9 +187,6 @@ public class TestCascades extends AbstractTestCase {
              fail ("Allowed flush with transient object in non-cascade-persist 
"
                  + "relation field");
          }
-         catch (RuntimeException re)
-         {
-         }
          catch (Exception re)
          {
          }
@@ -216,9 +208,6 @@ public class TestCascades extends AbstractTestCase {
              fail ("Allowed flush with transient object in non-cascade-persist 
"
                  + "relation field");
          }
-         catch (RuntimeException re)
-         {
-         }
          catch (Exception re)
          {
          }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestGeneratedValues.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestGeneratedValues.java
index 6f806e3..88f1a09 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestGeneratedValues.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestGeneratedValues.java
@@ -79,13 +79,11 @@ public class TestGeneratedValues extends SingleEMFTestCase {
             em.getTransaction().begin();
             em.persist(gv);
             em.getTransaction().commit();
-        } catch (InvalidStateException ise) {
+        } catch (InvalidStateException | EntityExistsException ise) {
             // expected result
             return;
-        }  catch (EntityExistsException eee) {
-            // also ok
-            return;
-        } finally {
+        }  // also ok
+        finally {
             closeEM(em);
         }
 
@@ -103,13 +101,11 @@ public class TestGeneratedValues extends 
SingleEMFTestCase {
             em.getTransaction().begin();
             em.persist(gv);
             em.getTransaction().commit();
-        } catch (InvalidStateException ise) {
+        } catch (InvalidStateException | EntityExistsException ise) {
             // expected result
             return;
-        }  catch (EntityExistsException eee) {
-            // also ok
-            return;
-        } finally {
+        }  // also ok
+        finally {
             closeEM(em);
         }
 
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/RelationGraph.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/RelationGraph.java
index 83cce3b..6f40b55 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/RelationGraph.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/RelationGraph.java
@@ -162,7 +162,7 @@ public class RelationGraph<E> extends PersistentGraph<E>  {
     public boolean add(E e) {
         if (contains(e))
             return false;
-        relations.add(new PersistentRelation<E,E>(e,null));
+        relations.add(new PersistentRelation<>(e, null));
         return true;
     }
 }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/TestPersistentGraph.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/TestPersistentGraph.java
index 30a9736..fb0b2e2 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/TestPersistentGraph.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/TestPersistentGraph.java
@@ -142,7 +142,7 @@ public class TestPersistentGraph extends SingleEMFTestCase {
                 printMapping(fmd);
                 fail("Expected a value handler for " + pcClass.getName() + "." 
+ field + " but found null");
             }
-            if (!handler.getClass().equals(actualHandler.getClass())) {
+            if (!handler.equals(actualHandler.getClass())) {
                 printMapping(fmd);
                 assertEquals(handler, fmd.getHandler().getClass());
             }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/jointable/onetomany/TestJointableOneToMany.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/jointable/onetomany/TestJointableOneToMany.java
index 0b68e2c..f8c1d93 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/jointable/onetomany/TestJointableOneToMany.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/jointable/onetomany/TestJointableOneToMany.java
@@ -52,7 +52,7 @@ public class TestJointableOneToMany extends SingleEMFTestCase 
{
                 aPackage = new UMLPackage();
                 aPackage.setId("org.apache.openjpa");
                 aPackage.setName("org.apache.openjpa");
-                aPackage.setOwnedType(new ArrayList<UMLType>());
+                aPackage.setOwnedType(new ArrayList<>());
                 em.persist(aPackage);
 
                 // Create a UMLClass and add the UMLPackage to it.
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/order/TestOrderColumn.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/order/TestOrderColumn.java
index 161b33e..a2acd5f 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/order/TestOrderColumn.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/order/TestOrderColumn.java
@@ -527,7 +527,7 @@ public class TestOrderColumn extends SingleEMFTestCase {
             for (int j = ((i * 5) + 4); j >= (i * 5); j--) {
                 trained.add(players[j]);
                 if (players[j].getTrainers() == null)
-                    players[j].setTrainers(new ArrayList<Trainer>());
+                    players[j].setTrainers(new ArrayList<>());
                 players[j].getTrainers().add(trainers[i]);
             }
             trainers[i].setPlayersTrained(trained);
@@ -585,7 +585,7 @@ public class TestOrderColumn extends SingleEMFTestCase {
             for (int j = ((i * 5) + 4); j >= (i * 5); j--) {
                 playedIn.add(players[j]);
                 if (players[j].getGamesPlayedIn() == null)
-                    players[j].setGamesPlayedIn(new ArrayList<Game>());
+                    players[j].setGamesPlayedIn(new ArrayList<>());
                 players[j].getGamesPlayedIn().add(games[i]);
             }
             games[i].setPlayedIn(playedIn);
@@ -873,8 +873,8 @@ public class TestOrderColumn extends SingleEMFTestCase {
         List rlist = qry.getResultList();
         assertNotNull(rlist);
         assertEquals(2, rlist.size());
-        assertEquals(0l, rlist.get(0));
-        assertEquals(1l, rlist.get(1));
+        assertEquals(0L, rlist.get(0));
+        assertEquals(1L, rlist.get(1));
 
         queryString = "SELECT INDEX(w) FROM Course c JOIN c.waitList w" +
             " WHERE c.name = :cname AND w.name = 'Student11'";
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/cache/PartBase.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/cache/PartBase.java
index cd4e797..ab970ad 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/cache/PartBase.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/cache/PartBase.java
@@ -75,10 +75,10 @@ public class PartBase extends Part  {
 
     @Override
     public String toString() {
-        String sup= "";
+        StringBuilder sup= new StringBuilder();
         if (getSuppliers()!=null)
             for (Supplier s : getSuppliers()){
-                sup= sup+s.sid+",";
+                sup.append(s.sid).append(",");
             }
         return "PartBase:"+partno+" name:+"+name+" cost:"+cost+" mass:"+
             mass+" supplies=["+sup+"]";
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestMultithreadedReparameterization.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestMultithreadedReparameterization.java
index f10d14f..7639c14 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestMultithreadedReparameterization.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestMultithreadedReparameterization.java
@@ -77,7 +77,7 @@ public class TestMultithreadedReparameterization extends 
TestCase {
                     + "where p.id=:id and p.firstName=:first and 
p.lastName=:last and p.age=:age";
         int nRepeats = 20;
         Thread[] threads = new Thread[nThreads];
-        final List<Throwable> exceptions = Collections.synchronizedList(new 
ArrayList<Throwable>());
+        final List<Throwable> exceptions = Collections.synchronizedList(new 
ArrayList<>());
 
         for (int i = 0; i < nThreads; i++) {
             Object[] args = {"id", baseId+i, "first", "First"+i, "last", 
"Last"+i, "age", (short)(20+i)};
@@ -121,7 +121,7 @@ public class TestMultithreadedReparameterization extends 
TestCase {
         // ("openjpa.jdbc.QuerySQLCache", "true(MaxCacheSize=2")
         final int nQueries = 10;
 
-        final List<Throwable> exceptions = Collections.synchronizedList(new 
ArrayList<Throwable>());
+        final List<Throwable> exceptions = Collections.synchronizedList(new 
ArrayList<>());
 
         for (int y = 0; y < nRuns; y++) {
             Thread[] threads = new Thread[nThreads];
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java
index 085e64e..e44d80d 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java
@@ -445,7 +445,7 @@ public class TestEJBQLFunction extends AbstractTestCase {
 
         assertNotNull(result);
         assertEquals(1, result.size());
-        assertTrue(result.contains(6l));
+        assertTrue(result.contains(6L));
 
         endEm(em);
     }
@@ -487,7 +487,7 @@ public class TestEJBQLFunction extends AbstractTestCase {
 
         assertNotNull(result);
         assertEquals(1, result.size());
-        assertTrue(result.contains(153l));
+        assertTrue(result.contains(153L));
 
         endEm(em);
     }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/joins/TestJoinFetchWithQueryDataCache.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/joins/TestJoinFetchWithQueryDataCache.java
index 368150e..b2f879c 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/joins/TestJoinFetchWithQueryDataCache.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/joins/TestJoinFetchWithQueryDataCache.java
@@ -51,19 +51,19 @@ public class TestJoinFetchWithQueryDataCache extends 
SQLListenerTestCase {
 
         Department dept;
         dept = new Department(10, "department 10");
-        dept.setEmployees(new ArrayList<Employee>());
+        dept.setEmployees(new ArrayList<>());
         dept.getEmployees().add(new Employee(11, "Emp11", dept));
         dept.getEmployees().add(new Employee(12, "Emp12", dept));
-        dept.setEmployee2s(new ArrayList<Employee>());
+        dept.setEmployee2s(new ArrayList<>());
         dept.getEmployee2s().add(new Employee(211, "Emp211", dept));
         dept.getEmployee2s().add(new Employee(212, "Emp212", dept));
         em.persist(dept);
 
         dept = new Department(20, "department 20");
-        dept.setEmployees(new ArrayList<Employee>());
+        dept.setEmployees(new ArrayList<>());
         dept.getEmployees().add(new Employee(21, "Emp21", dept));
         dept.getEmployees().add(new Employee(22, "Emp22", dept));
-        dept.setEmployee2s(new ArrayList<Employee>());
+        dept.setEmployee2s(new ArrayList<>());
         dept.getEmployee2s().add(new Employee(221, "Emp221", dept));
         dept.getEmployee2s().add(new Employee(222, "Emp222", dept));
         em.persist(dept);
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestArrayValues2.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestArrayValues2.java
index 0123634..29efe53 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestArrayValues2.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestArrayValues2.java
@@ -234,11 +234,10 @@ public class TestArrayValues2 extends BaseKernelTest {
         throws Exception {
         try {
             saveArrayInternal(array, primitive, lob);
-        } catch (Exception e) {
+        } catch (Exception | Error e) {
             throw e;
-        } catch (Error error) {
-            throw error;
-        } finally {
+        }
+        finally {
             //
         }
     }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBEntityManager.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBEntityManager.java
index 84ca52b..a064a89 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBEntityManager.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBEntityManager.java
@@ -101,12 +101,9 @@ public class TestEJBEntityManager extends AbstractTestCase 
{
                     em.close();
                     result.add(0);
                 }
-                catch (Exception jdoe) {
+                catch (Throwable jdoe) {
                     result.add(jdoe);
                 }
-                catch (Throwable t) {
-                    result.add(t);
-                }
             }
         }.start();
 
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBTransactions.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBTransactions.java
index 177c88f..ce1b6d7 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBTransactions.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBTransactions.java
@@ -55,12 +55,9 @@ public class TestEJBTransactions extends AbstractTestCase {
                     endTx(em);
                     list.add(0);
                 }
-                catch (Exception e) {
+                catch (Throwable e) {
                     list.add(e);
                 }
-                catch (Throwable t) {
-                    list.add(t);
-                }
             }
         };
 
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange.java
index 04f893e..32a0eea 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange.java
@@ -125,7 +125,7 @@ public class TestFieldRange extends BaseKernelTest {
         allFieldSaveState(
             (int) (Integer.MIN_VALUE + 1),
             (short) (Short.MIN_VALUE + 1),
-            (long) (Long.MIN_VALUE + 1l),
+            (long) (Long.MIN_VALUE + 1L),
             (float) (Float.MIN_VALUE + 1.0f),
             (double) (Double.MIN_VALUE + 1.0d),
             (byte) (Byte.MIN_VALUE + 1),
@@ -143,7 +143,7 @@ public class TestFieldRange extends BaseKernelTest {
         allFieldSaveState(
             (int) (0),
             (short) (0),
-            (long) (0l),
+            (long) (0L),
             (float) (10.0f / 3.0f),
             (double) (100.0d / 3.0d),
             (byte) (0),
@@ -161,7 +161,7 @@ public class TestFieldRange extends BaseKernelTest {
         allFieldSaveState(
             (int) (0),
             (short) (0),
-            (long) (0l),
+            (long) (0L),
             (float) (0.0f),
             (double) (0.0d),
             (byte) (0),
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestIndirectRecursion.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestIndirectRecursion.java
index 861daa8..060eb08 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestIndirectRecursion.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestIndirectRecursion.java
@@ -108,7 +108,7 @@ public class TestIndirectRecursion extends 
SingleEMFTestCase {
         em.close(); // will not load anything anymore
 
         byte[][] actualTransitionMatrix = new byte[5][5];
-        fillTransitionMatrix(actualTransitionMatrix, new HashSet<State>(), 
qs1);
+        fillTransitionMatrix(actualTransitionMatrix, new HashSet<>(), qs1);
         assertMatrixEqual(transitions, actualTransitionMatrix);
 
     }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPersistenceManager.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPersistenceManager.java
index cfa667e..9b5a75a 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPersistenceManager.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPersistenceManager.java
@@ -144,10 +144,9 @@ public class TestPersistenceManager extends BaseKernelTest 
{
                 try {
                     endEm(pm);
                     result.add(0);
-                } catch (Exception jdoe) {
+                }
+                catch (Throwable jdoe) {
                     result.add(jdoe);
-                } catch (Throwable t) {
-                    result.add(t);
                 }
             }
         }.start();
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestSpecialNumbers2.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestSpecialNumbers2.java
index 82d8da7..134deae 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestSpecialNumbers2.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestSpecialNumbers2.java
@@ -125,10 +125,7 @@ public class TestSpecialNumbers2 extends BaseKernelTest {
             aftt.setTestfloat(Float.MIN_VALUE);
             saveAndQuery(aftt, "testfloat =",
                     Float.MIN_VALUE);
-        } catch (Exception e) {
-            bug(getCurrentPlatform(), 494, e,
-                    "Some databases cannot store Float.MIN_VALUE");
-        } catch (AssertionFailedError e) {
+        } catch (Exception | AssertionFailedError e) {
             bug(getCurrentPlatform(), 494, e,
                     "Some databases cannot store Float.MIN_VALUE");
         }
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestLazyFields.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestLazyFields.java
index 291632b..25813ca 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestLazyFields.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestLazyFields.java
@@ -38,7 +38,7 @@ public class TestLazyFields extends SingleEMFTestCase {
             em.getTransaction().begin();
             Outer o1 = new Outer();
             Inner i1 = new Inner();
-            o1.setInners(new ArrayList<Inner>());
+            o1.setInners(new ArrayList<>());
             o1.getInners().add(i1);
 
             em.persist(o1);
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestMultipleMerge.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestMultipleMerge.java
index 5399177..fec267e 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestMultipleMerge.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestMultipleMerge.java
@@ -41,7 +41,7 @@ public class TestMultipleMerge extends SingleEMFTestCase {
     public void testMultiMerge() {
         EntityManager em = emf.createEntityManager();
         em.getTransaction().begin();
-        Order order = new Order( 1l );
+        Order order = new Order(1L);
 
         LineItem item = new LineItem( "my product", 44, 4.99f );
         order.addItem(item);
@@ -70,15 +70,15 @@ public class TestMultipleMerge extends SingleEMFTestCase {
         //OK, good, we no longer get an exception, to be double certain
         //all is well, lets verify that the expected LineItems are in the DB.
         LineItemPK liPK = new LineItemPK();
-        liPK.setItemId(1l);
-        liPK.setOrderId(1l);
+        liPK.setItemId(1L);
+        liPK.setOrderId(1L);
         LineItem li = em.find(LineItem.class, liPK);
 
         assertNotNull(li);
         assertEquals(item.getProductName(), li.getProductName());
 
-        liPK.setItemId(2l);
-        liPK.setOrderId(1l);
+        liPK.setItemId(2L);
+        liPK.setOrderId(1L);
         li = em.find(LineItem.class, liPK);
         assertNotNull(li);
         assertEquals(additional.getProductName(), li.getProductName());
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/TestDetachMerge.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/TestDetachMerge.java
index 5d4ce10..f42467f 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/TestDetachMerge.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/TestDetachMerge.java
@@ -19,6 +19,7 @@
 package org.apache.openjpa.persistence.proxy;
 
 import java.math.BigDecimal;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -553,7 +554,7 @@ public class TestDetachMerge extends SingleEMFTestCase {
             throw new RuntimeException("Annuity: IPayor list not the same 
(payors was null)!");
         if (payors.size() != payors2.size())
             throw new RuntimeException("Annuity: IPayor list not the same 
(payors size not the same)! payors=" +
-                payors.toArray().toString() + ", payors2=" + 
payors2.toString());
+                    Arrays.toString(payors.toArray()) + ", payors2=" + 
payors2.toString());
         for (int i = 0; i < payors.size(); i++) {
             IPayor payor = payors.get(i);
             boolean found = false;
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/results/TestJPQLMultiSelectTypedResults.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/results/TestJPQLMultiSelectTypedResults.java
index 03a7d0b..70c0c0b 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/results/TestJPQLMultiSelectTypedResults.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/results/TestJPQLMultiSelectTypedResults.java
@@ -67,7 +67,7 @@ public class TestJPQLMultiSelectTypedResults extends 
SingleEMFTestCase {
 
         s.setId(1);
         s.setName("eBay.com");
-        s.setOrders(new HashSet<Order>());
+        s.setOrders(new HashSet<>());
 
         for (int i = 1; i <= N_ORDERS; i++) {
             order = new Order();
@@ -75,7 +75,7 @@ public class TestJPQLMultiSelectTypedResults extends 
SingleEMFTestCase {
             order.setDate(df.parse(ORDER_DATES[i % ORDER_DATES.length]));
             order.setFilled(i % 2 == 0 ? true : false);
             order.setShop(s);
-            order.setItems(new HashSet<Item>());
+            order.setItems(new HashSet<>());
             s.getOrders().add(order);
             for (int j = 1; j <= N_ITEMS_PER_ORDER; j++) {
                 item = new Item();
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestInverseEagerSQL.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestInverseEagerSQL.java
index 286975a..bbbe1fc 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestInverseEagerSQL.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestInverseEagerSQL.java
@@ -144,11 +144,11 @@ public class TestInverseEagerSQL
         PPhone phone;
         for(int i =0; i < _nPeople; i++) {
             person = new PPerson();
-            person.setPhones(new ArrayList<PPhone>());
+            person.setPhones(new ArrayList<>());
             em.persist(person);
             for(int j = 0; j < _nPhones; j++) {
                 phone = new PPhone();
-                phone.setPeople(new ArrayList<PPerson>());
+                phone.setPeople(new ArrayList<>());
                 phone.getPeople().add(person);
                 person.getPhones().add(phone);
                 em.persist(phone);
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestPropertiesMethods.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestPropertiesMethods.java
index 0f69b52..a627d33 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestPropertiesMethods.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestPropertiesMethods.java
@@ -51,8 +51,7 @@ public class TestPropertiesMethods extends 
AbstractPersistenceTestCase {
     @SuppressWarnings("unchecked")
     public void setUp() throws Exception {
         super.setUp();
-        Map config = new HashMap();
-        config.putAll(System.getProperties());
+        Map config = new HashMap(System.getProperties());
 
 /* numeric   */ config.put("openjpa.DataCacheTimeout", 300);
 /* num enum  */ config.put("openjpa.AutoClear", 0);
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
index c9022d5..4e5e245 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
@@ -590,9 +590,7 @@ public abstract class AbstractPersistenceTestCase extends 
TestCase {
             if (anno != null) {
                 return anno;
             }
-        } catch (SecurityException e) {
-            // ignore
-        } catch (NoSuchMethodException e) {
+        } catch (SecurityException | NoSuchMethodException e) {
             // ignore
         }
         return getClass().getAnnotation(AllowFailure.class);
diff --git 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java
 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java
index 4dd3f64..9a28036 100644
--- 
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java
+++ 
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java
@@ -517,9 +517,7 @@ public abstract class PersistenceTestCase
             AllowFailure anno = runMethod.getAnnotation(AllowFailure.class);
             if (anno != null)
                 return anno;
-        } catch (SecurityException e) {
-            //ignore
-        } catch (NoSuchMethodException e) {
+        } catch (SecurityException | NoSuchMethodException e) {
             //ignore
         }
         return getClass().getAnnotation(AllowFailure.class);
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AbstractQuery.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AbstractQuery.java
index 711e6ac..5fbbfa8 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AbstractQuery.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AbstractQuery.java
@@ -356,8 +356,7 @@ public abstract class AbstractQuery<X> implements 
OpenJPAQuerySPI<X> {
      */
     @Override
     public Set<Parameter<?>> getParameters() {
-        Set<Parameter<?>> result = new HashSet<>();
-        result.addAll(getDeclaredParameters().values());
+        Set<Parameter<?>> result = new 
HashSet<>(getDeclaredParameters().values());
         return result;
     }
 
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataSerializer.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataSerializer.java
index ea2fcab..1d99544 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataSerializer.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataSerializer.java
@@ -483,11 +483,7 @@ public class AnnotationPersistenceMetaDataSerializer
     protected void addAnnotation(AnnotationBuilder ab, ClassMetaData meta) {
         if (_clsAnnos == null)
             _clsAnnos = new HashMap<>();
-        List<AnnotationBuilder> list = _clsAnnos.get(meta);
-        if (list == null) {
-            list = new ArrayList<>();
-            _clsAnnos.put(meta, list);
-        }
+        List<AnnotationBuilder> list = _clsAnnos.computeIfAbsent(meta, k -> 
new ArrayList<>());
         list.add(ab);
     }
 
@@ -498,11 +494,7 @@ public class AnnotationPersistenceMetaDataSerializer
     protected void addAnnotation(AnnotationBuilder ab, FieldMetaData meta) {
         if (_fldAnnos == null)
             _fldAnnos = new HashMap<>();
-        List<AnnotationBuilder> list = _fldAnnos.get(meta);
-        if (list == null) {
-            list = new ArrayList<>();
-            _fldAnnos.put(meta, list);
-        }
+        List<AnnotationBuilder> list = _fldAnnos.computeIfAbsent(meta, k -> 
new ArrayList<>());
         list.add(ab);
     }
 
@@ -513,11 +505,7 @@ public class AnnotationPersistenceMetaDataSerializer
     protected void addAnnotation(AnnotationBuilder ab, SequenceMetaData meta) {
         if (_seqAnnos == null)
             _seqAnnos = new HashMap<>();
-        List<AnnotationBuilder> list = _seqAnnos.get(meta);
-        if (list == null) {
-            list = new ArrayList<>();
-            _seqAnnos.put(meta, list);
-        }
+        List<AnnotationBuilder> list = _seqAnnos.computeIfAbsent(meta, k -> 
new ArrayList<>());
         list.add(ab);
     }
 
@@ -528,11 +516,7 @@ public class AnnotationPersistenceMetaDataSerializer
     protected void addAnnotation(AnnotationBuilder ab, QueryMetaData meta) {
         if (_qryAnnos == null)
             _qryAnnos = new HashMap<>();
-        List<AnnotationBuilder> list = _qryAnnos.get(meta);
-        if (list == null) {
-            list = new ArrayList<>();
-            _qryAnnos.put(meta, list);
-        }
+        List<AnnotationBuilder> list = _qryAnnos.computeIfAbsent(meta, k -> 
new ArrayList<>());
         list.add(ab);
     }
 
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
index 6c4d551..d257ea0 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
@@ -688,11 +688,10 @@ public class EntityManagerImpl
     public void commit() {
         try {
             _broker.commit();
-        } catch (RollbackException e) {
+        } catch (RollbackException | IllegalStateException e) {
             throw e;
-        } catch (IllegalStateException e) {
-            throw e;
-        } catch (Exception e) {
+        }
+        catch (Exception e) {
                // Per JPA 2.0 spec, if the exception was due to a JSR-303
             // constraint violation, the ConstraintViolationException should be
             // thrown.  Since JSR-303 is optional, the cast to RuntimeException
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java
index bfac9bb..89f2a79 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java
@@ -87,7 +87,7 @@ public class JPAProperties {
      * (which is a bean property name without any suffix).
      */
     static String getUserName(String beanProperty) {
-        return _names.containsKey(beanProperty) ? _names.get(beanProperty) : 
beanProperty;
+        return _names.getOrDefault(beanProperty, beanProperty);
     }
 
     /**
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java
index 7f4ac0f..1327bf5 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java
@@ -292,9 +292,7 @@ public class PersistenceUnitInfoImpl
                         .doPrivileged(J2DoPrivHelper
                             .toURLAction(new File(cp[i]))));
                     return;
-                } catch (PrivilegedActionException pae) {
-                    break;
-                } catch (MalformedURLException mue) {
+                } catch (PrivilegedActionException | MalformedURLException 
pae) {
                     break;
                 }
             }
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
index 72440e6..e9f5852 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
@@ -2342,11 +2342,7 @@ public class XMLPersistenceMetaDataParser
      * Add the fmd to the defer list for for the given embeddable type
      */
     protected void deferEmbeddable(Class<?> embedType, MetaDataContext fmd) {
-        ArrayList<MetaDataContext> fmds = _embeddables.get(embedType);
-        if (fmds == null) {
-            fmds = new ArrayList<>();
-            _embeddables.put(embedType, fmds);
-        }
+        ArrayList<MetaDataContext> fmds = 
_embeddables.computeIfAbsent(embedType, k -> new ArrayList<>());
         fmds.add(fmd);
     }
 
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
index ea79d75..f596188 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
@@ -51,7 +51,7 @@ abstract class PredicateImpl extends ExpressionImpl<Boolean> 
implements Predicat
     private static Predicate TRUE;
     private static Predicate FALSE;
 
-    protected final List<Predicate> _exps = Collections.synchronizedList(new 
ArrayList<Predicate>());
+    protected final List<Predicate> _exps = Collections.synchronizedList(new 
ArrayList<>());
     private final BooleanOperator _op;
     private boolean _negated = false;
 
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AbstractManagedType.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AbstractManagedType.java
index a3b0dee..5afb15b 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AbstractManagedType.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AbstractManagedType.java
@@ -230,7 +230,7 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      */
     @Override
     public java.util.Set<Attribute<X, ?>> getDeclaredAttributes() {
-        return filter(attrs, new TreeSet<Attribute<X, ?>>(),
+        return filter(attrs, new TreeSet<>(),
                 declaredAttributeFilter);
     }
 
@@ -240,7 +240,7 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      */
     @Override
     public java.util.Set<SingularAttribute<? super X, ?>> 
getSingularAttributes() {
-        return filter(attrs, new TreeSet<SingularAttribute<? super X, ?>>(),
+        return filter(attrs, new TreeSet<>(),
                 singularAttributeFilter);
     }
 
@@ -250,7 +250,7 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      */
     @Override
     public java.util.Set<SingularAttribute<X, ?>> 
getDeclaredSingularAttributes() {
-        return filter(attrs, new TreeSet<SingularAttribute<X, ?>>(),
+        return filter(attrs, new TreeSet<>(),
                 declaredAttributeFilter,
                 singularAttributeFilter);
     }
@@ -262,8 +262,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      */
     public <Y> Attribute<? super X, Y> getAttribute(String name, Class<Y> 
type) {
         Attribute<? super X, ?> result = pick(attrs,
-                new AttributeNameFilter<X>(name),
-                new AttributeTypeFilter<X, Y>(type));
+                new AttributeNameFilter<>(name),
+                new AttributeTypeFilter<>(type));
         if (result == null)
             notFoundException("attr-not-found", name, type);
 
@@ -278,8 +278,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     @Override
     public <Y> SingularAttribute<? super X, Y> getSingularAttribute(String 
name, Class<Y> type) {
         Attribute<? super X, ?> result = pick(attrs,
-                new AttributeNameFilter<X>(name),
-                new AttributeTypeFilter<X, Y>(type),
+                new AttributeNameFilter<>(name),
+                new AttributeTypeFilter<>(type),
                 singularAttributeFilter);
         if (result == null)
             notFoundException("attr-not-found-single", name, type);
@@ -294,8 +294,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      */
     public <Y> Attribute<X, Y> getDeclaredAttribute(String name, Class<Y> 
type) {
         Attribute<? super X, ?> result = pick(attrs,
-                new AttributeNameFilter<X>(name),
-                new AttributeTypeFilter<X, Y>(type),
+                new AttributeNameFilter<>(name),
+                new AttributeTypeFilter<>(type),
                 declaredAttributeFilter);
         if (result == null)
             notFoundException("attr-not-found-decl-single",name, type);
@@ -311,8 +311,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     @Override
     public <Y> SingularAttribute<X, Y> getDeclaredSingularAttribute(String 
name, Class<Y> type) {
         Attribute<? super X, ?> result = pick(attrs,
-                new AttributeNameFilter<X>(name),
-                new AttributeTypeFilter<X, Y>(type),
+                new AttributeNameFilter<>(name),
+                new AttributeTypeFilter<>(type),
                 declaredAttributeFilter,
                 singularAttributeFilter);
         if (result == null)
@@ -327,7 +327,7 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      */
     @Override
     public java.util.Set<PluralAttribute<? super X, ?, ?>> 
getPluralAttributes() {
-        return filter(attrs, new HashSet<PluralAttribute<? super X, ?, ?>>(),
+        return filter(attrs, new HashSet<>(),
                 pluralAttributeFilter);
     }
 
@@ -337,7 +337,7 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      */
     @Override
     public java.util.Set<PluralAttribute<X, ?, ?>> 
getDeclaredPluralAttributes() {
-        return filter(attrs, new HashSet<PluralAttribute<X, ?, ?>>(),
+        return filter(attrs, new HashSet<>(),
                 declaredAttributeFilter,
                 pluralAttributeFilter);
     }
@@ -351,9 +351,9 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     @Override
     public <E> CollectionAttribute<? super X, E> getCollection(String name, 
Class<E> elementType) {
         Attribute<? super X, ?> result = pick(attrs,
-                new PluralCategoryFilter<X>(CollectionType.COLLECTION),
-                new ElementTypeFilter<X, E>(elementType),
-                new AttributeNameFilter<X>(name));
+                new PluralCategoryFilter<>(CollectionType.COLLECTION),
+                new ElementTypeFilter<>(elementType),
+                new AttributeNameFilter<>(name));
         if (result == null)
             notFoundException("attr-not-found-coll", name, elementType);
 
@@ -369,9 +369,9 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     @Override
     public <E> SetAttribute<? super X, E> getSet(String name, Class<E> 
elementType) {
         Attribute<? super X, ?> result = pick(attrs,
-                new PluralCategoryFilter<X>(CollectionType.SET),
-                new ElementTypeFilter<X, E>(elementType),
-                new AttributeNameFilter<X>(name));
+                new PluralCategoryFilter<>(CollectionType.SET),
+                new ElementTypeFilter<>(elementType),
+                new AttributeNameFilter<>(name));
         if (result == null)
             notFoundException("attr-not-found-set",name, elementType);
 
@@ -387,9 +387,9 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     @Override
     public <E> ListAttribute<? super X, E> getList(String name, Class<E> 
elementType) {
         Attribute<? super X, ?> result = pick(attrs,
-                new PluralCategoryFilter<X>(CollectionType.LIST),
-                new ElementTypeFilter<X, E>(elementType),
-                new AttributeNameFilter<X>(name));
+                new PluralCategoryFilter<>(CollectionType.LIST),
+                new ElementTypeFilter<>(elementType),
+                new AttributeNameFilter<>(name));
         if (result == null)
             notFoundException("attr-not-found-list",name, elementType);
 
@@ -406,9 +406,9 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     public <K, V> MapAttribute<? super X, K, V> getMap(String name, Class<K> 
keyType,
         Class<V> valueType) {
         Attribute<? super X, ?> result = pick(attrs,
-                new AttributeNameFilter<X>(name),
-                new PluralCategoryFilter<X>(CollectionType.MAP),
-                new EntryTypeFilter<X, K, V>(keyType, valueType));
+                new AttributeNameFilter<>(name),
+                new PluralCategoryFilter<>(CollectionType.MAP),
+                new EntryTypeFilter<>(keyType, valueType));
         if (result == null)
             notFoundException("attr-not-found-map", name, keyType, valueType);
 
@@ -425,9 +425,9 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     public <E> CollectionAttribute<X, E> getDeclaredCollection(String name,  
Class<E> elementType) {
         Attribute<? super X, ?> result = pick(attrs,
                 declaredAttributeFilter,
-                new PluralCategoryFilter<X>(CollectionType.COLLECTION),
-                new ElementTypeFilter<X, E>(elementType),
-                new AttributeNameFilter<X>(name));
+                new PluralCategoryFilter<>(CollectionType.COLLECTION),
+                new ElementTypeFilter<>(elementType),
+                new AttributeNameFilter<>(name));
         if (result == null)
             notFoundException("attr-not-found-decl-coll", name, elementType);
 
@@ -444,8 +444,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     public <E> SetAttribute<X, E> getDeclaredSet(String name, Class<E> 
elementType) {
         Attribute<? super X, ?> result = pick(attrs,
                 declaredAttributeFilter,
-                new PluralCategoryFilter<X>(CollectionType.SET),
-                new AttributeNameFilter<X>(name));
+                new PluralCategoryFilter<>(CollectionType.SET),
+                new AttributeNameFilter<>(name));
         if (result == null)
             notFoundException("attr-not-found-decl-set", name, elementType);
 
@@ -462,9 +462,9 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
     public <E> ListAttribute<X, E> getDeclaredList(String name, Class<E> 
elementType) {
         Attribute<? super X, ?> result = pick(attrs,
                 declaredAttributeFilter,
-                new PluralCategoryFilter<X>(CollectionType.LIST),
-                new ElementTypeFilter<X, E>(elementType),
-                new AttributeNameFilter<X>(name));
+                new PluralCategoryFilter<>(CollectionType.LIST),
+                new ElementTypeFilter<>(elementType),
+                new AttributeNameFilter<>(name));
         if (result == null)
             notFoundException("attr-not-found-decl-list", name, elementType);
 
@@ -482,9 +482,9 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
         Class<V> valueType) {
         Attribute<? super X, ?> result = pick(attrs,
                 declaredAttributeFilter,
-                new AttributeNameFilter<X>(name),
-                new PluralCategoryFilter<X>(CollectionType.MAP),
-                new EntryTypeFilter<X, K, V>(keyType, valueType));
+                new AttributeNameFilter<>(name),
+                new PluralCategoryFilter<>(CollectionType.MAP),
+                new EntryTypeFilter<>(keyType, valueType));
         if (result == null)
             notFoundException("attr-not-found-decl-map", name, keyType, 
valueType);
 
@@ -627,8 +627,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
         if (meta.isOpenJPAIdentity())
             throw new IllegalArgumentException(meta + " does not use IdClass. 
Object Id type = " +
                 meta.getObjectIdType() + " Identity Type = " + 
meta.getIdentityType());
-        return filter(attrs, new HashSet<SingularAttribute<? super X, ?>>(),
-                new IdAttributeFilter<X>());
+        return filter(attrs, new HashSet<>(),
+                new IdAttributeFilter<>());
     }
 
     /**
@@ -639,8 +639,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      */
      public final <Y> SingularAttribute<? super X, Y> getId(Class<Y> type) {
          Attribute<? super X, ?> result =  pick(attrs,
-                 new AttributeTypeFilter<X, Y>(type),
-                 new IdAttributeFilter<X>());
+                 new AttributeTypeFilter<>(type),
+                 new IdAttributeFilter<>());
          if (result != null)
              return (SingularAttribute<? super X, Y>) result;
          throw new IllegalArgumentException();
@@ -655,8 +655,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      public final <Y> SingularAttribute<X, Y> getDeclaredId(Class<Y> type) {
          Attribute<? super X, ?> result =  pick(attrs,
                  declaredAttributeFilter,
-                 new AttributeTypeFilter<X, Y>(type),
-                 new IdAttributeFilter<X>());
+                 new AttributeTypeFilter<>(type),
+                 new IdAttributeFilter<>());
          if (result != null)
              return (SingularAttribute<X, Y>) result;
          throw new IllegalArgumentException();
@@ -670,8 +670,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
       */
      public <Y> SingularAttribute<? super X, Y> getVersion(Class<Y> type) {
          Attribute<? super X, ?> result = pick(attrs,
-                 new VersionAttributeFilter<X>(),
-                 new AttributeTypeFilter<X,Y>(type));
+                 new VersionAttributeFilter<>(),
+                 new AttributeTypeFilter<>(type));
          if (result == null)
              notFoundException("version-not-found", "", type);
          return (SingularAttribute<? super X, Y>)result;
@@ -686,8 +686,8 @@ public abstract class AbstractManagedType<X> extends 
Types.BaseType<X>
      public <Y> SingularAttribute<X, Y> getDeclaredVersion(Class<Y> type) {
          Attribute<? super X, ?> result = pick(attrs,
                  declaredAttributeFilter,
-                 new VersionAttributeFilter<X>(),
-                 new AttributeTypeFilter<X,Y>(type));
+                 new VersionAttributeFilter<>(),
+                 new AttributeTypeFilter<>(type));
          if (result == null)
              notFoundException("decl-version-not-found", "", type);
          return (SingularAttribute<X, Y>)result;
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/SourceAnnotationHandler.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/SourceAnnotationHandler.java
index cc800fa..f66a7d5 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/SourceAnnotationHandler.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/SourceAnnotationHandler.java
@@ -235,8 +235,7 @@ public class SourceAnnotationHandler
     }
 
     Set<Element> merge(Set<? extends Element> a, Set<? extends Element> b) {
-       Set<Element> result = new HashSet<>();
-       result.addAll(a);
+        Set<Element> result = new HashSet<>(a);
        for (Element e1 : b) {
                boolean hide = false;
                String key = getPersistentMemberName(e1);
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/osgi/BundleUtils.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/osgi/BundleUtils.java
index 1b8f371..298d1b4 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/osgi/BundleUtils.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/osgi/BundleUtils.java
@@ -37,9 +37,7 @@ public class BundleUtils {
             c = Class.forName("org.osgi.framework.BundleContext");
             c = Class.forName("org.osgi.framework.ServiceRegistration");
             return true;
-        } catch (ClassNotFoundException e) {
-            // no-op - catch, eat and return false below
-        } catch (NoClassDefFoundError e) {
+        } catch (ClassNotFoundException | NoClassDefFoundError e) {
             // no-op - catch, eat and return false below
         }
         return false;
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/AbstractPath.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/AbstractPath.java
index 8f69ec6..671f241 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/AbstractPath.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/AbstractPath.java
@@ -128,7 +128,7 @@ abstract class AbstractPath extends ExpressionImpl 
implements
        }
 
        LinkedList<AbstractPath> split() {
-               return _split(this, new LinkedList<AbstractPath>());
+               return _split(this, new LinkedList<>());
        }
 
        private LinkedList<AbstractPath> _split(AbstractPath path,
diff --git 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java
 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java
index 453e0fb..254ba95 100644
--- 
a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java
+++ 
b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java
@@ -344,7 +344,7 @@ public class ValidatorImpl extends AbstractValidator {
                 new ConstraintViolationException(
                     // A validation constraint failure occurred for
                     // value "{2}" of property "{1}" in class "{0}".
-                    _loc.get("validate-value-failed", 
arg0.getClass().getName(),
+                    _loc.get("validate-value-failed", arg0.getName(),
                         arg1, arg2.toString()).getMessage(),
                     (Set)violations),
                 true);
diff --git 
a/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/TargetFetchConfiguration.java
 
b/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/TargetFetchConfiguration.java
index 5c143a9..c13d954 100644
--- 
a/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/TargetFetchConfiguration.java
+++ 
b/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/TargetFetchConfiguration.java
@@ -18,6 +18,8 @@
  */
 package org.apache.openjpa.slice.jdbc;
 
+import java.util.Arrays;
+
 import org.apache.openjpa.jdbc.kernel.JDBCFetchConfigurationImpl;
 import org.apache.openjpa.kernel.FetchConfiguration;
 import org.apache.openjpa.slice.SlicePersistence;
@@ -90,7 +92,7 @@ public class TargetFetchConfiguration extends 
JDBCFetchConfigurationImpl impleme
     void assertTargets(String[] targets, boolean user) {
         if (targets != null && targets.length == 0) {
             if (user) {
-                throw new UserException("Hint values " + targets + " are 
empty");
+                throw new UserException("Hint values " + 
Arrays.toString(targets) + " are empty");
             }
         }
     }
diff --git 
a/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestQueryMultiThreaded.java
 
b/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestQueryMultiThreaded.java
index b057fcb..412cf53 100644
--- 
a/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestQueryMultiThreaded.java
+++ 
b/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestQueryMultiThreaded.java
@@ -68,7 +68,7 @@ public class TestQueryMultiThreaded extends SliceTestCase {
         }
         group = new ThreadPoolExecutor(THREADS, THREADS,
                 60, TimeUnit.SECONDS,
-                new SynchronousQueue<Runnable>(), new ThreadFactory() {
+                new SynchronousQueue<>(), new ThreadFactory() {
                     @Override
                     public Thread newThread(Runnable r) {
                         return new Thread(r);
diff --git 
a/openjpa-xmlstore/src/main/java/org/apache/openjpa/xmlstore/XMLFileHandler.java
 
b/openjpa-xmlstore/src/main/java/org/apache/openjpa/xmlstore/XMLFileHandler.java
index 8a1aae4..35c4032 100644
--- 
a/openjpa-xmlstore/src/main/java/org/apache/openjpa/xmlstore/XMLFileHandler.java
+++ 
b/openjpa-xmlstore/src/main/java/org/apache/openjpa/xmlstore/XMLFileHandler.java
@@ -346,11 +346,10 @@ public class XMLFileHandler {
             throws SAXException {
             try {
                 startElement(qName, attrs);
-            } catch (RuntimeException re) {
+            } catch (RuntimeException | SAXException re) {
                 throw re;
-            } catch (SAXException se) {
-                throw se;
-            } catch (Exception e) {
+            }
+            catch (Exception e) {
                 throw new SAXException(e);
             }
         }
@@ -408,11 +407,10 @@ public class XMLFileHandler {
             throws SAXException {
             try {
                 endElement(qName);
-                } catch (RuntimeException re) {
+                } catch (RuntimeException | SAXException re) {
                 throw re;
-            } catch (SAXException se) {
-                throw se;
-            } catch (Exception e) {
+            }
+            catch (Exception e) {
                 throw new SAXException(e);
             }
         }

Reply via email to