import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.Scanner;
import org.onap.policy.xacml.api.pap.OnapPDP;
import org.onap.policy.xacml.api.pap.OnapPDPGroup;
import org.onap.policy.xacml.api.pap.PAPPolicyEngine;
-import org.onap.policy.xacml.std.pap.StdPAPPolicy;
import org.onap.policy.xacml.std.pap.StdPDP;
import org.onap.policy.xacml.std.pap.StdPDPGroup;
import org.onap.policy.xacml.std.pap.StdPDPItemSetChangeNotifier.StdItemSetChangeListener;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathFactory;
-import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.onap.policy.common.logging.eelf.MessageCodes;
import org.onap.policy.xacml.api.pap.PAPPolicyEngine;
import org.onap.policy.xacml.std.pap.StdPDPGroup;
import org.onap.policy.xacml.std.pap.StdPDPPolicy;
-import org.onap.policy.xacml.util.XACMLPolicyScanner;
import org.onap.policy.xacml.util.XACMLPolicyWriter;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.onap.policy.xacml.api.XACMLErrorConstants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
@Service("CommonClassDao")
import java.util.Map;
import org.onap.policy.api.PolicyConfigStatus;
+import org.onap.policy.api.PolicyConfigType;
import org.onap.policy.api.PolicyType;
import org.onap.policy.models.APIConfigResponse;
private PolicyType type;
private String config;
private String policyName;
+ private PolicyConfigType policyType;
private String policyVersion;
private Map<String, String> matchingConditions;
private Map<String, String> responseAttributes;
public Map<String,String> getResponseAttributes(){
return responseAttributes;
}
+ public PolicyConfigType getPolicyType() {
+ return policyType;
+ }
+ public void setPolicyType(PolicyConfigType policyType) {
+ this.policyType = policyType;
+ }
}
import java.util.Date;
import java.util.UUID;
-import org.glassfish.jersey.spi.Contract;
import org.onap.policy.api.PolicyException;
import org.onap.policy.api.PolicyParameters;
import org.onap.policy.common.logging.flexlogger.FlexLogger;
import org.onap.policy.rest.util.PolicyValidationRequestWrapper;
import org.onap.policy.xacml.api.XACMLErrorConstants;
import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Controller;
import com.google.common.base.Strings;
import org.onap.policy.api.ConfigRequestParameters;
import org.onap.policy.api.PolicyConfigException;
import org.onap.policy.api.PolicyConfigStatus;
+import org.onap.policy.api.PolicyConfigType;
import org.onap.policy.common.logging.flexlogger.FlexLogger;
import org.onap.policy.common.logging.flexlogger.Logger;
import org.onap.policy.pdp.rest.api.models.PDPResponse;
policyConfig.setProperty(stdStatus.getProperty());
policyConfig.setResponseAttributes(stdStatus.getResponseAttributes());
policyConfig.setType(stdStatus.getType());
+ policyConfig.setPolicyType(getPolicyType(stdStatus.getPolicyName()));
result.add(policyConfig);
}
}
return result;
}
+
+ // Returns PolicyConfigType based on policyName.
+ private PolicyConfigType getPolicyType(String policyName) {
+ if(policyName != null) {
+ String name = policyName;
+ if(name.endsWith(".xml")){
+ name = name.substring(0, name.substring(0, name.lastIndexOf('.')).lastIndexOf('.'));
+ }
+ name = name.substring(name.lastIndexOf('.')+1);
+ PolicyConfigType extType = extendedServices(name);
+ if(extType != null) return extType;
+ if (name.startsWith("Config_BRMS_Param_")) {
+ return PolicyConfigType.BRMS_PARAM;
+ } else if(name.startsWith("Config_BRMS_Raw_")) {
+ return PolicyConfigType.BRMS_RAW;
+ } else if(name.startsWith("Config_Fault_")) {
+ return PolicyConfigType.ClosedLoop_Fault;
+ } else if(name.startsWith("Config_FW_")) {
+ return PolicyConfigType.Firewall;
+ } else if(name.startsWith("Config_PM_")) {
+ return PolicyConfigType.ClosedLoop_PM;
+ } else if(name.startsWith("Config_MS_")) {
+ return PolicyConfigType.MicroService;
+ } else if(name.startsWith("Config_")) {
+ return PolicyConfigType.Base;
+ }
+ }
+ return null;
+ }
+
+ public PolicyConfigType extendedServices(String policyName) {
+ // For extended services policyName will be required.
+ return null;
+ }
// Filter logic required for results comparing with requests.
private Collection<PolicyConfig> filterResults(
import org.onap.policy.common.logging.flexlogger.FlexLogger;
import org.onap.policy.common.logging.flexlogger.Logger;
import org.onap.policy.xacml.api.XACMLErrorConstants;
-import org.onap.policy.xacml.std.pap.StdPAPPolicy;
import org.onap.policy.xacml.std.pap.StdPDPPolicy;
import org.springframework.http.HttpStatus;
import com.att.research.xacml.api.pap.PAPException;
-import com.att.research.xacml.api.pap.PDPPolicy;
public class PushPolicyService {
private static final Logger LOGGER = FlexLogger.getLogger(PushPolicyService.class.getName());
* @return <code>Map</code> of <code>String, String</code> which consists of the Response Attributes of the Policy retrieved.
*/
public Map<String,String> getResponseAttributes();
+
+ /**
+ * Gets the {@link PolicyConfigType} of the policy that has been retrieved.
+ *
+ * @return the <code>PolicyConfigType</code> of the policy that has been retrieved.
+ */
+ public PolicyConfigType getPolicyType();
/**
* Returns the <code>String</code> version of the <code>PolicyConfig</code> object.
import java.util.Map;
import org.onap.policy.api.PolicyConfigStatus;
+import org.onap.policy.api.PolicyConfigType;
import org.onap.policy.api.PolicyType;
public class APIPolicyConfigResponse implements APIConfigResponse {
private String policyConfigMessage;
private PolicyConfigStatus policyConfigStatus;
private PolicyType type;
+ private PolicyConfigType policyType;
private String config;
private String policyName;
private String policyVersion;
public Map<String,String> getResponseAttributes(){
return responseAttributes;
}
+ public PolicyConfigType getPolicyType() {
+ return policyType;
+ }
+ public void setPolicyType(PolicyConfigType policyType) {
+ this.policyType = policyType;
+ }
}
import org.onap.policy.api.PolicyConfig;
import org.onap.policy.api.PolicyConfigStatus;
+import org.onap.policy.api.PolicyConfigType;
import org.onap.policy.api.PolicyType;
import org.w3c.dom.Document;
private String configStatus;
private String policyName;
private String policyVersion;
+ private PolicyConfigType type;
private Map<String,String> matchingConditions;
private Map<String,String> responseAttributes;
@Override
public String getPolicyName() {
if(policyName!=null && policyName.contains(".xml")){
- return (policyName.substring(0, policyName.substring(0, policyName.lastIndexOf(".")).lastIndexOf(".")));
+ return (policyName.substring(0, policyName.substring(0, policyName.lastIndexOf('.')).lastIndexOf('.')));
}
return policyName;
}
this.responseAttributes = responseAttributes;
}
+
+ public void setPolicyType(PolicyConfigType policyType) {
+ this.type = policyType;
+ }
+
@Override
+ public PolicyConfigType getPolicyType(){
+ return this.type;
+ }
+
+ @Override
public String toString() {
return "PolicyConfig [ policyConfigStatus=" + policyConfigStatus + ", policyConfigMessage=" + configStatus + ", policyName=" + policyName +
""
policyConfig.setPolicyName(policyConfigResponse.getPolicyName());
policyConfig.setPolicyType(policyConfigResponse.getType());
policyConfig.setPolicyVersion(policyConfigResponse.getPolicyVersion());
+ policyConfig.setPolicyType(policyConfigResponse.getPolicyType());
policyConfig.setResponseAttributes(policyConfigResponse.getResponseAttributes());
setMatches(policyConfig.getMatchingConditions());
if (policyConfigResponse.getType() != null) {
import org.onap.policy.api.DecisionResponse;
import org.onap.policy.api.PolicyConfig;
import org.onap.policy.api.PolicyConfigStatus;
+import org.onap.policy.api.PolicyConfigType;
import org.onap.policy.api.PolicyDecision;
import org.onap.policy.api.PolicyResponse;
import org.onap.policy.api.PolicyResponseStatus;
private PolicyType policyType;
private Properties properties;
private JsonObject jsonObject;
+ private PolicyConfigType type;
private Document document;
private String other;
private PolicyConfigStatus policyConfigStatus;
public String getDetails(){
return details;
}
+
+ public PolicyConfigType getPolicyType() {
+ return type;
+ }
+
+ public void setPolicyType(PolicyConfigType policyType) {
+ this.type = policyType;
+ }
}