From 93fb25deaadd3df511844fdf735c35cff51b4364 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Fri, 10 Jan 2020 17:52:57 -0500 Subject: [PATCH] Remove deprecated methods from models Addressed the following issues related to the java 11 upgrade: - forClass().newInstance() - java.xml.bind no longer included in jdk - new mockito doesn't clear captured lists Issue-ID: POLICY-1406 Signed-off-by: Jim Hahn Change-Id: Ia254c1ed21f847d1824e7abc22528975372ee2b6 --- .../java/org/onap/policy/models/base/PfConceptContainer.java | 4 ++-- .../main/java/org/onap/policy/models/dao/PfDaoFactory.java | 7 +++++-- models-interactions/model-impl/aai/pom.xml | 5 +++++ models-interactions/model-impl/rest/pom.xml | 5 +++++ .../controlloop/policy/ControlLoopPolicyBuilderTest.java | 4 ++-- .../models/sim/dmaap/provider/DmaapSimProviderTest.java | 11 +++++------ 6 files changed, 24 insertions(+), 12 deletions(-) diff --git a/models-base/src/main/java/org/onap/policy/models/base/PfConceptContainer.java b/models-base/src/main/java/org/onap/policy/models/base/PfConceptContainer.java index 1b60932e9..b4c19cd16 100644 --- a/models-base/src/main/java/org/onap/policy/models/base/PfConceptContainer.java +++ b/models-base/src/main/java/org/onap/policy/models/base/PfConceptContainer.java @@ -1,7 +1,7 @@ /*- * ============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. @@ -320,7 +320,7 @@ public class PfConceptContainer ex 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); diff --git a/models-dao/src/main/java/org/onap/policy/models/dao/PfDaoFactory.java b/models-dao/src/main/java/org/onap/policy/models/dao/PfDaoFactory.java index 6b7c7b3ad..d61229722 100644 --- a/models-dao/src/main/java/org/onap/policy/models/dao/PfDaoFactory.java +++ b/models-dao/src/main/java/org/onap/policy/models/dao/PfDaoFactory.java @@ -1,6 +1,7 @@ /*- * ============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. @@ -20,6 +21,7 @@ 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; @@ -51,8 +53,9 @@ public class PfDaoFactory { // 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); diff --git a/models-interactions/model-impl/aai/pom.xml b/models-interactions/model-impl/aai/pom.xml index 0548fd9d7..b6e79fc82 100644 --- a/models-interactions/model-impl/aai/pom.xml +++ b/models-interactions/model-impl/aai/pom.xml @@ -43,6 +43,11 @@ rest ${project.version} + + javax.xml.bind + jaxb-api + ${version.javax.bind} + junit junit diff --git a/models-interactions/model-impl/rest/pom.xml b/models-interactions/model-impl/rest/pom.xml index 43d32957e..50902b95d 100644 --- a/models-interactions/model-impl/rest/pom.xml +++ b/models-interactions/model-impl/rest/pom.xml @@ -42,6 +42,11 @@ httpclient provided + + javax.xml.bind + jaxb-api + ${version.javax.bind} + junit junit diff --git a/models-interactions/model-yaml/src/test/java/org/onap/policy/controlloop/policy/ControlLoopPolicyBuilderTest.java b/models-interactions/model-yaml/src/test/java/org/onap/policy/controlloop/policy/ControlLoopPolicyBuilderTest.java index b6b5c7acb..f646712fd 100644 --- a/models-interactions/model-yaml/src/test/java/org/onap/policy/controlloop/policy/ControlLoopPolicyBuilderTest.java +++ b/models-interactions/model-yaml/src/test/java/org/onap/policy/controlloop/policy/ControlLoopPolicyBuilderTest.java @@ -2,7 +2,7 @@ * ============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"); @@ -341,7 +341,7 @@ public class ControlLoopPolicyBuilderTest { PolicyResult.FAILURE, PolicyResult.FAILURE_RETRIES, PolicyResult.FAILURE_TIMEOUT); - assertTrue(builder.calculateTimeout().equals(new Integer(300 + 600))); + assertEquals(Integer.valueOf(300 + 600), builder.calculateTimeout()); } @Test diff --git a/models-sim/models-sim-dmaap/src/test/java/org/onap/policy/models/sim/dmaap/provider/DmaapSimProviderTest.java b/models-sim/models-sim-dmaap/src/test/java/org/onap/policy/models/sim/dmaap/provider/DmaapSimProviderTest.java index 30fd7805f..4b9549a52 100644 --- a/models-sim/models-sim-dmaap/src/test/java/org/onap/policy/models/sim/dmaap/provider/DmaapSimProviderTest.java +++ b/models-sim/models-sim-dmaap/src/test/java/org/onap/policy/models/sim/dmaap/provider/DmaapSimProviderTest.java @@ -42,7 +42,6 @@ import javax.ws.rs.core.Response; 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; @@ -78,6 +77,9 @@ public class DmaapSimProviderTest { @Captor private ArgumentCaptor> listCaptor; + @Captor + private ArgumentCaptor> listCaptor2; + /** * Sets up. */ @@ -145,7 +147,6 @@ public class DmaapSimProviderTest { } @Test - @Ignore public void testProcessDmaapMessagePut_Single() throws CoderException { prov = spy(new MyProvider(params)); @@ -169,14 +170,12 @@ public class DmaapSimProviderTest { 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 -- 2.16.6