diff options
author | 2020-05-21 23:55:10 -0400 | |
---|---|---|
committer | 2020-05-26 07:48:23 -0400 | |
commit | bc05a77ffd6fae3aaae8ddaddb7ceea3debd9fd0 (patch) | |
tree | 73db77b372a8afb8509027bdcf94c1defd6f54b2 /applications/common/src/main/java/org | |
parent | 18ad358dcefcc173638a944dbf7fd76833f8dd0c (diff) |
Change CLC logic for updated OPHist DB entries.
Change the CLC policy logic to match the udpate Operations History DB
rules. Now if a record has outcome = Started, it is considered
to be in progress. Else it is considered to be complete.
Issue-ID: POLICY-2583
Change-Id: If3f626bfec2d0656e43a26929107f68ff27af020
Signed-off-by: pramod.jamkhedkar <pramod@research.att.com>
Diffstat (limited to 'applications/common/src/main/java/org')
-rw-r--r-- | applications/common/src/main/java/org/onap/policy/pdp/xacml/application/common/operationshistory/GetOperationOutcomePip.java | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/applications/common/src/main/java/org/onap/policy/pdp/xacml/application/common/operationshistory/GetOperationOutcomePip.java b/applications/common/src/main/java/org/onap/policy/pdp/xacml/application/common/operationshistory/GetOperationOutcomePip.java index fb018b02..60e26a2e 100644 --- a/applications/common/src/main/java/org/onap/policy/pdp/xacml/application/common/operationshistory/GetOperationOutcomePip.java +++ b/applications/common/src/main/java/org/onap/policy/pdp/xacml/application/common/operationshistory/GetOperationOutcomePip.java @@ -28,13 +28,13 @@ import com.att.research.xacml.std.pip.StdPIPResponse; import com.google.common.base.Strings; import java.util.Arrays; import java.util.Collection; + import javax.persistence.NoResultException; import org.onap.policy.pdp.xacml.application.common.ToscaDictionary; import org.onap.policy.pdp.xacml.application.common.std.StdOnapPip; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - public class GetOperationOutcomePip extends StdOnapPip { public static final String ISSUER_NAME = "get-operation-outcome"; private static Logger logger = LoggerFactory.getLogger(GetOperationOutcomePip.class); @@ -57,12 +57,13 @@ public class GetOperationOutcomePip extends StdOnapPip { * @return PIPResponse */ @Override - public PIPResponse getAttributes(PIPRequest pipRequest, PIPFinder pipFinder) throws PIPException { + public PIPResponse getAttributes(PIPRequest pipRequest, PIPFinder pipFinder) + throws PIPException { if (this.shutdown) { throw new PIPException("Engine is shutdown"); } logger.debug("getAttributes requesting attribute {} of type {} for issuer {}", - pipRequest.getAttributeId(), pipRequest.getDataTypeId(), pipRequest.getIssuer()); + pipRequest.getAttributeId(), pipRequest.getDataTypeId(), pipRequest.getIssuer()); // // Determine if the issuer is correct // @@ -73,7 +74,7 @@ public class GetOperationOutcomePip extends StdOnapPip { // return StdPIPResponse.PIP_RESPONSE_EMPTY; } - if (! pipRequest.getIssuer().startsWith(ToscaDictionary.GUARD_ISSUER_PREFIX)) { + if (!pipRequest.getIssuer().startsWith(ToscaDictionary.GUARD_ISSUER_PREFIX)) { logger.error("Issuer does not start with guard"); // // We only respond to ourself as the issuer @@ -91,14 +92,11 @@ public class GetOperationOutcomePip extends StdOnapPip { logger.debug("Going to query DB about: clname={}, target={}", clname, target); String outcome = doDatabaseQuery(clname); - logger.debug("Query result is: {}", outcome); + logger.info("Query result is: {}", outcome); StdMutablePIPResponse pipResponse = new StdMutablePIPResponse(); - this.addStringAttribute(pipResponse, - XACML3.ID_ATTRIBUTE_CATEGORY_RESOURCE, - ToscaDictionary.ID_RESOURCE_GUARD_OPERATIONOUTCOME, - outcome, - pipRequest); + this.addStringAttribute(pipResponse, XACML3.ID_ATTRIBUTE_CATEGORY_RESOURCE, + ToscaDictionary.ID_RESOURCE_GUARD_OPERATIONOUTCOME, outcome, pipRequest); return new StdPIPResponse(pipResponse); } @@ -118,13 +116,17 @@ public class GetOperationOutcomePip extends StdOnapPip { // // We are expecting a single result // - return em.createQuery("select e.outcome from Dbao e" - + " where e.closedLoopName= ?1" - + " order by e.endtime desc", - String.class) - .setParameter(1, clname) - .setMaxResults(1) - .getSingleResult(); + String result = em + .createQuery("select e.outcome from Dbao e" + " where e.closedLoopName= ?1" + + " order by e.starttime desc", String.class) + .setParameter(1, clname).setMaxResults(1).getSingleResult(); + + // Check the value of result + if (result.equalsIgnoreCase("Started")) { + return ("In_Progress"); + } else { + return ("Complete"); + } } catch (NoResultException e) { logger.trace("No results", e); } catch (Exception e) { |