From 5a9b9d9513a021c00415f9bee0698ea9c497c238 Mon Sep 17 00:00:00 2001 From: liamfallon Date: Thu, 2 Feb 2023 14:46:18 +0000 Subject: Replace Eclipselink with Hibernate Issue-ID: POLICY-4533 Change-Id: I8ba51dce05f537778a92547bceff6eb6d6099144 Signed-off-by: liamfallon --- .../onap/policy/pap/main/comm/PdpStatusMessageHandler.java | 13 ++++++------- .../org/onap/policy/pap/main/startstop/PapActivator.java | 5 ++++- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'main/src/main/java') diff --git a/main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java b/main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java index 070261db..4d142114 100644 --- a/main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java +++ b/main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019-2021 Nordix Foundation. + * Copyright (C) 2019-2021,2023 Nordix Foundation. * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. * Modifications Copyright (C) 2021-2022 Bell Canada. All rights reserved. * ================================================================================ @@ -34,7 +34,6 @@ import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import org.apache.commons.lang3.builder.EqualsBuilder; -import org.eclipse.persistence.exceptions.EclipseLinkException; import org.onap.policy.models.base.PfModelException; import org.onap.policy.models.pdp.concepts.Pdp; import org.onap.policy.models.pdp.concepts.PdpGroup; @@ -131,7 +130,7 @@ public class PdpStatusMessageHandler extends PdpMessageGenerator { } catch (final PolicyPapException exp) { LOGGER.error("Operation Failed", exp); } catch (final Exception exp) { - if (isDuplicateKeyException(exp)) { + if (isDuplicateKeyException(exp, Exception.class)) { /* * this is to be expected, if multiple PAPs are processing the same * heartbeat at a time, thus we log the exception at a trace level @@ -151,17 +150,17 @@ public class PdpStatusMessageHandler extends PdpMessageGenerator { * Determines if the exception indicates a duplicate key. * * @param thrown exception to check + * @param exceptionClazz the class to check against * @return {@code true} if the exception occurred due to a duplicate key */ - protected static boolean isDuplicateKeyException(Throwable thrown) { + protected static boolean isDuplicateKeyException(Throwable thrown, Class exceptionClazz) { while (thrown != null) { if (thrown instanceof SQLIntegrityConstraintViolationException) { return true; } - if (thrown instanceof EclipseLinkException) { - EclipseLinkException ele = (EclipseLinkException) thrown; - if (isDuplicateKeyException(ele.getInternalException())) { + if (exceptionClazz.isInstance(thrown)) { + if (isDuplicateKeyException(thrown.getCause(), exceptionClazz)) { return true; } } diff --git a/main/src/main/java/org/onap/policy/pap/main/startstop/PapActivator.java b/main/src/main/java/org/onap/policy/pap/main/startstop/PapActivator.java index 19b3c672..825208a4 100644 --- a/main/src/main/java/org/onap/policy/pap/main/startstop/PapActivator.java +++ b/main/src/main/java/org/onap/policy/pap/main/startstop/PapActivator.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019, 2022 Nordix Foundation. + * Copyright (C) 2019, 2022-2023 Nordix Foundation. * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. * Modifications Copyright (C) 2021-2022 Bell Canada. All rights reserved. * ================================================================================ @@ -137,6 +137,9 @@ public class PapActivator extends ServiceManagerContainer { // @formatter:off + // Note: This class is not Thread Safe. If more than one PAP component is started, the code below overwrites + // the parameter service and registry entries. + addAction("Meter Registry", () -> Registry.register(PapConstants.REG_METER_REGISTRY, meterRegistry), () -> Registry.unregister(PapConstants.REG_METER_REGISTRY)); -- cgit 1.2.3-korg