diff options
Diffstat (limited to 'main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java')
-rw-r--r-- | main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java | 13 |
1 files changed, 6 insertions, 7 deletions
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<? extends Throwable> 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; } } |