aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeleteProvider.java11
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeployProvider.java6
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/rest/depundep/SessionData.java58
3 files changed, 57 insertions, 18 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeleteProvider.java b/main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeleteProvider.java
index 15620f7b..7a3190be 100644
--- a/main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeleteProvider.java
+++ b/main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeleteProvider.java
@@ -124,6 +124,15 @@ public class PdpGroupDeleteProvider extends ProviderBase {
ToscaPolicyIdentifier desiredIdent = policy.getIdentifier();
// remove the policy from the subgroup
- return (group, subgroup) -> subgroup.getPolicies().remove(desiredIdent);
+ return (group, subgroup) -> {
+
+ boolean result = subgroup.getPolicies().remove(desiredIdent);
+
+ logger.info("remove policy {} {} from subgroup {} {} count={}", desiredIdent.getName(),
+ desiredIdent.getVersion(), group.getName(), subgroup.getPdpType(),
+ subgroup.getPolicies().size());
+
+ return result;
+ };
}
}
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeployProvider.java b/main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeployProvider.java
index fa721054..1fd99be9 100644
--- a/main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeployProvider.java
+++ b/main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeployProvider.java
@@ -443,6 +443,8 @@ public class PdpGroupDeployProvider extends ProviderBase {
if (subgroup.getPolicies().contains(desiredIdent)) {
// already has the desired policy
+ logger.info("subgroup {} {} already contains policy {} {}", group.getName(), subgroup.getPdpType(),
+ desiredIdent.getName(), desiredIdent.getVersion());
return false;
}
@@ -454,6 +456,10 @@ public class PdpGroupDeployProvider extends ProviderBase {
// add the policy to the subgroup
subgroup.getPolicies().add(desiredIdent);
+
+ logger.info("add policy {} {} to subgroup {} {} count={}", desiredIdent.getName(),
+ desiredIdent.getVersion(), group.getName(), subgroup.getPdpType(),
+ subgroup.getPolicies().size());
return true;
};
}
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/depundep/SessionData.java b/main/src/main/java/org/onap/policy/pap/main/rest/depundep/SessionData.java
index 11b17e45..ab06befb 100644
--- a/main/src/main/java/org/onap/policy/pap/main/rest/depundep/SessionData.java
+++ b/main/src/main/java/org/onap/policy/pap/main/rest/depundep/SessionData.java
@@ -41,11 +41,15 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyFilter.Tosca
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifierOptVersion;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Data used during a single REST call when updating PDP policies.
*/
public class SessionData {
+ private static final Logger logger = LoggerFactory.getLogger(SessionData.class);
+
/**
* If a version string matches this, then it is just a prefix (i.e., major or
* major.minor).
@@ -95,8 +99,8 @@ public class SessionData {
}
/**
- * Gets the policy type, referenced by an identifier. Loads it from the cache, if possible.
- * Otherwise, gets it from the DB.
+ * Gets the policy type, referenced by an identifier. Loads it from the cache, if
+ * possible. Otherwise, gets it from the DB.
*
* @param desiredType policy type identifier
* @return the specified policy type
@@ -183,6 +187,8 @@ public class SessionData {
throw new IllegalArgumentException("PDP name mismatch " + update.getName() + ", " + change.getName());
}
+ logger.info("add update and state-change {} {} {} policies={}", update.getName(), update.getPdpGroup(),
+ update.getPdpSubgroup(), update.getPolicies().size());
pdpRequests.put(update.getName(), Pair.of(update, change));
}
@@ -193,6 +199,8 @@ public class SessionData {
* @param update the update to be added
*/
public void addUpdate(PdpUpdate update) {
+ logger.info("add update {} {} {} policies={}", update.getName(), update.getPdpGroup(), update.getPdpSubgroup(),
+ update.getPolicies().size());
pdpRequests.compute(update.getName(), (name, data) -> Pair.of(update, (data == null ? null : data.getRight())));
}
@@ -203,6 +211,7 @@ public class SessionData {
* @param change the state-change to be added
*/
public void addStateChange(PdpStateChange change) {
+ logger.info("add state-change {}", change.getName());
pdpRequests.compute(change.getName(), (name, data) -> Pair.of((data == null ? null : data.getLeft()), change));
}
@@ -255,6 +264,8 @@ public class SessionData {
if (groupCache.put(name, new GroupData(newGroup, true)) != null) {
throw new IllegalStateException("group already cached: " + name);
}
+
+ logger.info("create cached group {}", newGroup.getName());
}
/**
@@ -269,6 +280,7 @@ public class SessionData {
throw new IllegalStateException("group not cached: " + name);
}
+ logger.info("update cached group {}", newGroup.getName());
data.update(newGroup);
}
@@ -285,11 +297,16 @@ public class SessionData {
if (data == null) {
List<PdpGroup> lst = dao.getPdpGroups(name);
if (lst.isEmpty()) {
+ logger.info("unknown group {}", name);
return null;
}
+ logger.info("cache group {}", name);
data = new GroupData(lst.get(0));
groupCache.put(name, data);
+
+ } else {
+ logger.info("use cached group {}", name);
}
return data.getGroup();
@@ -304,19 +321,17 @@ public class SessionData {
*/
public List<PdpGroup> getActivePdpGroupsByPolicyType(ToscaPolicyTypeIdentifier type) throws PfModelException {
List<GroupData> data = type2groups.get(type);
- if (data != null) {
- return data.stream().map(GroupData::getGroup).collect(Collectors.toList());
- }
-
- PdpGroupFilter filter = PdpGroupFilter.builder().policyTypeList(Collections.singletonList(type))
- .groupState(PdpState.ACTIVE).build();
+ if (data == null) {
+ PdpGroupFilter filter = PdpGroupFilter.builder().policyTypeList(Collections.singletonList(type))
+ .groupState(PdpState.ACTIVE).build();
- List<PdpGroup> groups = dao.getFilteredPdpGroups(filter);
+ List<PdpGroup> groups = dao.getFilteredPdpGroups(filter);
- data = groups.stream().map(this::addGroup).collect(Collectors.toList());
- type2groups.put(type, data);
+ data = groups.stream().map(this::addGroup).collect(Collectors.toList());
+ type2groups.put(type, data);
+ }
- return groups;
+ return data.stream().map(GroupData::getGroup).collect(Collectors.toList());
}
/**
@@ -327,12 +342,14 @@ public class SessionData {
*/
private GroupData addGroup(PdpGroup group) {
GroupData data = groupCache.get(group.getName());
- if (data != null) {
- return data;
- }
+ if (data == null) {
+ logger.info("cache group {}", group.getName());
+ data = new GroupData(group);
+ groupCache.put(group.getName(), data);
- data = new GroupData(group);
- groupCache.put(group.getName(), data);
+ } else {
+ logger.info("use cached group {}", group.getName());
+ }
return data;
}
@@ -346,6 +363,9 @@ public class SessionData {
// create new groups
List<GroupData> created = groupCache.values().stream().filter(GroupData::isNew).collect(Collectors.toList());
if (!created.isEmpty()) {
+ if (logger.isInfoEnabled()) {
+ created.forEach(group -> logger.info("creating DB group {}", group.getGroup().getName()));
+ }
dao.createPdpGroups(created.stream().map(GroupData::getGroup).collect(Collectors.toList()));
}
@@ -353,6 +373,9 @@ public class SessionData {
List<GroupData> updated =
groupCache.values().stream().filter(GroupData::isUpdated).collect(Collectors.toList());
if (!updated.isEmpty()) {
+ if (logger.isInfoEnabled()) {
+ updated.forEach(group -> logger.info("updating DB group {}", group.getGroup().getName()));
+ }
dao.updatePdpGroups(updated.stream().map(GroupData::getGroup).collect(Collectors.toList()));
}
}
@@ -365,6 +388,7 @@ public class SessionData {
* @throws PfModelException if an error occurred
*/
public void deleteGroupFromDb(PdpGroup group) throws PfModelException {
+ logger.info("deleting DB group {}", group.getName());
dao.deletePdpGroup(group.getName());
}
}