From 48eb8e2bd1674592ddfadfbbc01a611b6a263393 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Thu, 16 Aug 2018 14:57:15 -0400 Subject: fix new sonar issues with prov-status check Changes made while adding the prov-status check triggered some sonar thresholds in ControlLoopEventManager. Updated the code to resolve them. One of the changes that had been introduced was to check for the existence of both the is-closed-loop-disabled AND the prov-status fields. However, if one is there then the other should be there, thus the second check is redundant and was removed, which should reduce the cyclomatic complexity back under the threshold. Re-ordered the code a little, to make it less ambiguous. Removed trailing white space. Change-Id: If0ce74cedbf947c32cae3df3374cda6ba1305cd2 Issue-ID: POLICY-964 Signed-off-by: Jim Hahn --- .../eventmanager/ControlLoopEventManager.java | 73 +++++++++++----------- 1 file changed, 37 insertions(+), 36 deletions(-) (limited to 'controlloop/common/eventmanager') diff --git a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager.java b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager.java index ff1053482..bd7f14e6f 100644 --- a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager.java +++ b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -66,6 +66,8 @@ public class ControlLoopEventManager implements LockCallback, Serializable { public static final String GENERIC_VNF_PROV_STATUS = "generic-vnf.prov-status"; public static final String VSERVER_PROV_STATUS = "vserver.prov-status"; + private static final String QUERY_AAI_ERROR_MSG = "Exception from queryAai: "; + /** * Additional time, in seconds, to add to a "lock" request. This ensures that the lock * won't expire right before an operation completes. @@ -161,7 +163,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Activate a control loop event. - * + * * @param event the event * @return the VirtualControlLoopNotification */ @@ -200,7 +202,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Activate a control loop event. - * + * * @param yamlSpecification the yaml specification * @param event the event * @return the VirtualControlLoopNotification @@ -274,7 +276,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Check if the control loop is final. - * + * * @return a VirtualControlLoopNotification if the control loop is final, otherwise * null is returned * @throws ControlLoopException if an error occurs @@ -348,7 +350,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Process the control loop. - * + * * @return a ControlLoopOperationManager * @throws ControlLoopException if an error occurs * @throws AaiException if an error occurs retrieving information from A&AI @@ -407,7 +409,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Finish an operation. - * + * * @param operation the operation */ public void finishOperation(ControlLoopOperationManager operation) throws ControlLoopException { @@ -448,7 +450,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Obtain a lock for the current operation. - * + * * @return the lock result * @throws ControlLoopException if an error occurs */ @@ -493,19 +495,19 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Release the lock for the current operation. - * + * * @return the target lock */ public synchronized TargetLock unlockCurrentOperation() { if (this.targetLock == null) { return null; } - + TargetLock returnLock = this.targetLock; this.targetLock = null; - + PolicyGuard.unlockTarget(returnLock); - + // always return the old target lock so rules can retract it return returnLock; } @@ -516,7 +518,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * An event onset/abatement. - * + * * @param event the event * @return the status * @throws AaiException if an error occurs retrieving information from A&AI @@ -580,7 +582,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Set the control loop time out. - * + * * @return a VirtualControlLoopNotification */ public VirtualControlLoopNotification setControlLoopTimedOut() { @@ -598,7 +600,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Get the control loop timeout. - * + * * @param defaultTimeout the default timeout * @return the timeout */ @@ -622,7 +624,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Check an event syntax. - * + * * @param event the event syntax * @throws ControlLoopException if an error occurs */ @@ -661,24 +663,23 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Query A&AI for an event. - * + * * @param event the event * @throws AaiException if an error occurs retrieving information from A&AI */ public void queryAai(VirtualControlLoopEvent event) throws AaiException { - if (isClosedLoopDisabled(event)) { - throw new AaiException("is-closed-loop-disabled is set to true on VServer or VNF"); - } + Map aai = event.getAai(); - if (isProvStatusInactive(event)) { - throw new AaiException("prov-status is not ACTIVE on VServer or VNF"); - } + if (aai.containsKey(VSERVER_IS_CLOSED_LOOP_DISABLED) || aai.containsKey(GENERIC_VNF_IS_CLOSED_LOOP_DISABLED)) { - Map aai = event.getAai(); + if (isClosedLoopDisabled(event)) { + throw new AaiException("is-closed-loop-disabled is set to true on VServer or VNF"); + } - if ((aai.containsKey(VSERVER_IS_CLOSED_LOOP_DISABLED) || aai.containsKey(GENERIC_VNF_IS_CLOSED_LOOP_DISABLED)) - && (aai.containsKey(VSERVER_PROV_STATUS) || aai.containsKey(GENERIC_VNF_PROV_STATUS))) { + if (isProvStatusInactive(event)) { + throw new AaiException("prov-status is not ACTIVE on VServer or VNF"); + } // no need to query, as we already have the data return; @@ -698,17 +699,17 @@ public class ControlLoopEventManager implements LockCallback, Serializable { processVServerResponse(vserverResponse); } } catch (AaiException e) { - logger.error("Exception from queryAai: ", e); + logger.error(QUERY_AAI_ERROR_MSG, e); throw e; } catch (Exception e) { - logger.error("Exception from queryAai: ", e); - throw new AaiException("Exception from queryAai: " + e.toString()); + logger.error(QUERY_AAI_ERROR_MSG, e); + throw new AaiException(QUERY_AAI_ERROR_MSG + e.toString()); } } /** * Process a response from A&AI for a VNF. - * + * * @param aaiResponse the response from A&AI * @param queryByVnfId true if the query was based on vnf-id, * false if the query was based on vnf-name @@ -735,7 +736,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Process a response from A&AI for a VServer. - * + * * @param aaiResponse the response from A&AI * @throws AaiException if an error occurs processing the response */ @@ -764,7 +765,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Is closed loop disabled for an event. - * + * * @param event the event * @return true if the control loop is disabled, false * otherwise @@ -777,7 +778,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Does provisioning status, for an event, have a value other than ACTIVE? - * + * * @param event the event * @return {@code true} if the provisioning status is neither ACTIVE nor {@code null}, * {@code false} otherwise @@ -790,7 +791,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Determines the boolean value represented by the given AAI field value. - * + * * @param aaiValue value to be examined * @return the boolean value represented by the field value, or {@code false} if the * value is {@code null} @@ -802,7 +803,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Get the A&AI VService information for an event. - * + * * @param event the event * @return a AaiGetVserverResponse * @throws ControlLoopException if an error occurs @@ -833,7 +834,7 @@ public class ControlLoopEventManager implements LockCallback, Serializable { /** * Get A&AI VNF information for an event. - * + * * @param event the event * @return a AaiGetVnfResponse * @throws ControlLoopException if an error occurs -- cgit 1.2.3-korg