/*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2019 Nordix Foundation.
- *  Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ *  Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
         try {
             String conceptClassName =
                     ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0].getTypeName();
-            return (C) Class.forName(conceptClassName).newInstance();
+            return (C) Class.forName(conceptClassName).getDeclaredConstructor().newInstance();
         } catch (Exception ex) {
             throw new PfModelRuntimeException(Response.Status.INTERNAL_SERVER_ERROR,
                     "failed to instantiate instance of container concept class", ex);
 
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2019 Nordix Foundation.
+ *  Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 package org.onap.policy.models.dao;
 
+import java.lang.reflect.InvocationTargetException;
 import javax.ws.rs.core.Response;
 
 import org.onap.policy.common.utils.validation.Assertions;
         // Get the class for the DAO using reflection
         Object pfDaoObject = null;
         try {
-            pfDaoObject = Class.forName(daoParameters.getPluginClass()).newInstance();
-        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
+            pfDaoObject = Class.forName(daoParameters.getPluginClass()).getDeclaredConstructor().newInstance();
+        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | IllegalArgumentException
+                        | InvocationTargetException | NoSuchMethodException | SecurityException e) {
             String errorMessage =
                     "Policy Framework DAO class not found for DAO plugin \"" + daoParameters.getPluginClass() + "\"";
             LOGGER.error(errorMessage, e);
 
             <artifactId>rest</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+            <version>${version.javax.bind}</version>
+        </dependency>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
 
       <artifactId>httpclient</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+        <groupId>javax.xml.bind</groupId>
+        <artifactId>jaxb-api</artifactId>
+        <version>${version.javax.bind}</version>
+    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
 
  * ============LICENSE_START=======================================================
  * policy-yaml unit test
  * ================================================================================
- * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved.
  * Modifications Copyright (C) 2019 Nordix Foundation.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
                         PolicyResult.FAILURE,
                         PolicyResult.FAILURE_RETRIES,
                         PolicyResult.FAILURE_TIMEOUT);
-        assertTrue(builder.calculateTimeout().equals(new Integer(300 + 600)));
+        assertEquals(Integer.valueOf(300 + 600), builder.calculateTimeout());
     }
 
     @Test
 
 import javax.ws.rs.core.Response.Status;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
     @Captor
     private ArgumentCaptor<List<Object>> listCaptor;
 
+    @Captor
+    private ArgumentCaptor<List<Object>> listCaptor2;
+
     /**
      * Sets up.
      */
     }
 
     @Test
-    @Ignore
     public void testProcessDmaapMessagePut_Single() throws CoderException {
         prov = spy(new MyProvider(params));
 
         verify(prov).makeTopicData(TOPIC2);
 
         // should process all writes as singleton lists
-        listCaptor.getAllValues().clear();
         verify(data1, times(2)).write(listCaptor.capture());
         assertEquals(Collections.singletonList(value1), listCaptor.getAllValues().get(0));
         assertEquals(Collections.singletonList(value2), listCaptor.getAllValues().get(1));
 
-        listCaptor.getAllValues().clear();
-        verify(data2).write(listCaptor.capture());
-        assertEquals(Collections.singletonList(value2), listCaptor.getAllValues().get(0));
+        verify(data2).write(listCaptor2.capture());
+        assertEquals(Collections.singletonList(value2), listCaptor2.getAllValues().get(0));
     }
 
     @Test