Activating active group should be NOOP 90/106590/2
authorJim Hahn <jrh3@att.com>
Fri, 24 Apr 2020 14:21:57 +0000 (10:21 -0400)
committerJim Hahn <jrh3@att.com>
Fri, 24 Apr 2020 14:24:23 +0000 (10:24 -0400)
Fixed the code so that if a request is made to activate a PDP Group
that is already active, the group remains active.

Issue-ID: POLICY-2522
Change-Id: I106332b1ce15fde8dbf0b3e72034fd11c250dc69
Signed-off-by: Jim Hahn <jrh3@att.com>
main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupStateChangeProvider.java

index 97a214c..0c90ae4 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2019 Nordix Foundation.
- *  Modifications Copyright (C) 2019 AT&T Intellectual Property.
+ *  Modifications Copyright (C) 2019-2020 AT&T Intellectual Property.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,6 @@ import org.onap.policy.models.base.PfModelException;
 import org.onap.policy.models.pap.concepts.PdpGroupStateChangeResponse;
 import org.onap.policy.models.pdp.concepts.Pdp;
 import org.onap.policy.models.pdp.concepts.PdpGroup;
-import org.onap.policy.models.pdp.concepts.PdpGroupFilter;
 import org.onap.policy.models.pdp.concepts.PdpStateChange;
 import org.onap.policy.models.pdp.concepts.PdpSubGroup;
 import org.onap.policy.models.pdp.concepts.PdpUpdate;
@@ -82,16 +81,10 @@ public class PdpGroupStateChangeProvider extends PdpMessageGenerator {
 
     private void handleActiveState(final String groupName) throws PfModelException {
         try (PolicyModelsProvider databaseProvider = modelProviderWrapper.create()) {
-            final PdpGroupFilter filter = PdpGroupFilter.builder().name(groupName).groupState(PdpState.ACTIVE).build();
-            final List<PdpGroup> activePdpGroups = databaseProvider.getFilteredPdpGroups(filter);
             final List<PdpGroup> pdpGroups = databaseProvider.getPdpGroups(groupName);
-            if (activePdpGroups.isEmpty() && !pdpGroups.isEmpty()) {
+            if (!pdpGroups.isEmpty() && !PdpState.ACTIVE.equals(pdpGroups.get(0).getPdpGroupState())) {
                 updatePdpGroupAndPdp(databaseProvider, pdpGroups, PdpState.ACTIVE);
                 sendPdpMessage(pdpGroups.get(0), PdpState.ACTIVE, databaseProvider);
-            } else if (!pdpGroups.isEmpty() && !activePdpGroups.isEmpty()) {
-                updatePdpGroupAndPdp(databaseProvider, pdpGroups, PdpState.ACTIVE);
-                updatePdpGroup(databaseProvider, activePdpGroups, PdpState.PASSIVE);
-                sendPdpMessage(pdpGroups.get(0), PdpState.ACTIVE, databaseProvider);
             }
         }
     }
@@ -106,14 +99,6 @@ public class PdpGroupStateChangeProvider extends PdpMessageGenerator {
         }
     }
 
-    private void updatePdpGroup(final PolicyModelsProvider databaseProvider, final List<PdpGroup> pdpGroups,
-            final PdpState pdpState) throws PfModelException {
-        pdpGroups.get(0).setPdpGroupState(pdpState);
-        databaseProvider.updatePdpGroups(pdpGroups);
-
-        LOGGER.debug("Updated PdpGroup in DB - {} ", pdpGroups);
-    }
-
     private void updatePdpGroupAndPdp(final PolicyModelsProvider databaseProvider, final List<PdpGroup> pdpGroups,
             final PdpState pdpState) throws PfModelException {
         pdpGroups.get(0).setPdpGroupState(pdpState);