diff options
author | Ravindra Bakkamanthala <rb7147@att.com> | 2017-05-31 15:54:24 -0400 |
---|---|---|
committer | Ravindra Bakkamanthala <rb7147@att.com> | 2017-05-31 15:57:02 -0400 |
commit | d9007d680d19734d5dc106479784c420236cca4b (patch) | |
tree | b3356847c3d6e1543098b447c1df7d49e7118652 /ECOMP-PAP-REST | |
parent | 6a5e800771311208c66ad79ce1bdf76affd144b2 (diff) |
[Policy-17] Removed the sql scripts from sdk app
Change-Id: I5b017aad569014c7f12eab35e1dbd1c215f90ebe
Signed-off-by: Ravindra Bakkamanthala <rb7147@att.com>
Diffstat (limited to 'ECOMP-PAP-REST')
11 files changed, 422 insertions, 675 deletions
diff --git a/ECOMP-PAP-REST/Decision_GuardPolicyTemplate.xml b/ECOMP-PAP-REST/Decision_GuardPolicyTemplate.xml index 3a7f25008..6701a0848 100644 --- a/ECOMP-PAP-REST/Decision_GuardPolicyTemplate.xml +++ b/ECOMP-PAP-REST/Decision_GuardPolicyTemplate.xml @@ -14,11 +14,11 @@ <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">${ECOMPName}</AttributeValue> <AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="ECOMPName" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/> </Match> - <Match MatchId="org.openecomp.function.regex-match"> + <Match MatchId="urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">${actor}</AttributeValue> <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="actor" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/> </Match> - <Match MatchId="org.openecomp.function.regex-match"> + <Match MatchId="urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">${recipe}</AttributeValue> <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="recipe" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/> </Match> diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/HibernateSession.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/HibernateSession.java index 93fe33727..2aca54cc7 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/HibernateSession.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/HibernateSession.java @@ -32,14 +32,18 @@ public class HibernateSession{ private static final Logger LOGGER = FlexLogger.getLogger(HibernateSession.class); private static SessionFactory xacmlsessionFactory; + private HibernateSession(){ + //Default Constructor + } + static { try { Configuration configuration= new Configuration(); - configuration.setProperty("hibernate.connection.url", XACMLPapServlet.papDbUrl); - configuration.setProperty("hibernate.connection.username", XACMLPapServlet.papDbUser); - configuration.setProperty("hibernate.connection.password", XACMLPapServlet.papDbPassword); + configuration.setProperty("hibernate.connection.url", XACMLPapServlet.getPapDbUrl()); + configuration.setProperty("hibernate.connection.username", XACMLPapServlet.getPapDbUser()); + configuration.setProperty("hibernate.connection.password", XACMLPapServlet.getPapDbPassword()); configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); - configuration.setProperty("hibernate.connection.driver_class", XACMLPapServlet.papDbDriver); + configuration.setProperty("hibernate.connection.driver_class", XACMLPapServlet.getPapDbDriver()); configuration.setProperty("hibernate.show_sql", "false"); configuration.setProperty("hibernate.connection.autocommit", "true"); configuration.setProperty("hibernate.c3p0.min_size", "5"); diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/XACMLPapServlet.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/XACMLPapServlet.java index 5e7e2436f..685582e29 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/XACMLPapServlet.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/XACMLPapServlet.java @@ -152,10 +152,10 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList * These are the parameters needed for DB access from the PAP */ private static int papIntegrityAuditPeriodSeconds = -1; - public static String papDbDriver = null; - public static String papDbUrl = null; - public static String papDbUser = null; - public static String papDbPassword = null; + private static String papDbDriver = null; + private static String papDbUrl = null; + private static String papDbUser = null; + private static String papDbPassword = null; private static Integer papTransWait = null; private static Integer papTransTimeout = null; private static Integer papAuditTimeout = null; @@ -179,8 +179,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList private IntegrityAudit ia; //MicroService Model Properties - public static String msEcompName; - public static String msPolicyName; + private static String msEcompName; + private static String msPolicyName; /* * This thread may be invoked upon startup to initiate sending PDP policy/pip configuration when * this servlet starts. Its configurable by the admin. @@ -224,21 +224,25 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papDbDriver property entry"); throw new PAPException("papDbDriver is null"); } + setPapDbDriver(papDbDriver); papDbUrl = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_URL); if(papDbUrl == null){ PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papDbUrl property entry"); throw new PAPException("papDbUrl is null"); } + setPapDbUrl(papDbUrl); papDbUser = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_USER); if(papDbUser == null){ PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papDbUser property entry"); throw new PAPException("papDbUser is null"); } + setPapDbUser(papDbUser); papDbPassword = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_PASSWORD); if(papDbPassword == null){ PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papDbPassword property entry"); throw new PAPException("papDbPassword is null"); } + setPapDbPassword(papDbPassword); papResourceName = XACMLProperties.getProperty(XACMLRestProperties.PAP_RESOURCE_NAME); if(papResourceName == null){ PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papResourceName property entry"); @@ -350,7 +354,9 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList } //Micro Service Properties msEcompName=properties.getProperty("xacml.policy.msEcompName"); + setMsEcompName(msEcompName); msPolicyName=properties.getProperty("xacml.policy.msPolicyName"); + setMsPolicyName(msPolicyName); // PDPId File location XACMLPapServlet.pdpFile = XACMLProperties.getProperty(XACMLRestProperties.PROP_PDP_IDFILE); if (XACMLPapServlet.pdpFile == null) { @@ -2594,4 +2600,51 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList public static PolicyDBDaoTransaction getDbDaoTransaction(){ return policyDBDao.getNewTransaction(); } + public static String getPapDbDriver() { + return papDbDriver; + } + + public static void setPapDbDriver(String papDbDriver) { + XACMLPapServlet.papDbDriver = papDbDriver; + } + + public static String getPapDbUrl() { + return papDbUrl; + } + + public static void setPapDbUrl(String papDbUrl) { + XACMLPapServlet.papDbUrl = papDbUrl; + } + + public static String getPapDbUser() { + return papDbUser; + } + + public static void setPapDbUser(String papDbUser) { + XACMLPapServlet.papDbUser = papDbUser; + } + + public static String getPapDbPassword() { + return papDbPassword; + } + + public static void setPapDbPassword(String papDbPassword) { + XACMLPapServlet.papDbPassword = papDbPassword; + } + + public static String getMsEcompName() { + return msEcompName; + } + + public static void setMsEcompName(String msEcompName) { + XACMLPapServlet.msEcompName = msEcompName; + } + + public static String getMsPolicyName() { + return msPolicyName; + } + + public static void setMsPolicyName(String msPolicyName) { + XACMLPapServlet.msPolicyName = msPolicyName; + } } diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ActionPolicy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ActionPolicy.java index 63fa04210..1884aab62 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ActionPolicy.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ActionPolicy.java @@ -86,7 +86,7 @@ public class ActionPolicy extends Policy { public static final String URL_ATTRIBUTEID = "url"; public static final String BODY_ATTRIBUTEID = "body"; - public static boolean isAttribute = false; + private static boolean isAttribute = false; List<String> dynamicLabelRuleAlgorithms = new LinkedList<>(); diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/CreateNewMicroSerivceModel.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/CreateNewMicroSerivceModel.java index 30a95f901..0e4e409d3 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/CreateNewMicroSerivceModel.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/CreateNewMicroSerivceModel.java @@ -68,7 +68,7 @@ public class CreateNewMicroSerivceModel { private static String papDbUser = null; private static String papDbPassword = null; - MSModelUtils utils = new MSModelUtils(XACMLPapServlet.msEcompName, XACMLPapServlet.msPolicyName); + MSModelUtils utils = new MSModelUtils(XACMLPapServlet.getMsEcompName(), XACMLPapServlet.getMsPolicyName()); public CreateNewMicroSerivceModel(String fileName, String serviceName, String string, String version) { super(); diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/FirewallConfigPolicy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/FirewallConfigPolicy.java index b4b1a410e..9f780fd28 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/FirewallConfigPolicy.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/FirewallConfigPolicy.java @@ -31,11 +31,7 @@ import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Statement; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -47,66 +43,66 @@ import javax.json.JsonReader; import javax.persistence.EntityManager; import javax.persistence.Query; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.EffectType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObjectFactory; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType; - import org.apache.commons.io.FilenameUtils; import org.openecomp.policy.common.logging.eelf.MessageCodes; import org.openecomp.policy.common.logging.eelf.PolicyLogger; import org.openecomp.policy.common.logging.flexlogger.FlexLogger; import org.openecomp.policy.common.logging.flexlogger.Logger; import org.openecomp.policy.pap.xacml.rest.XACMLPapServlet; -import org.openecomp.policy.rest.XACMLRestProperties; +import org.openecomp.policy.pap.xacml.rest.daoimpl.CommonClassDaoImpl; import org.openecomp.policy.rest.adapter.PolicyRestAdapter; +import org.openecomp.policy.rest.jpa.ActionList; +import org.openecomp.policy.rest.jpa.AddressGroup; +import org.openecomp.policy.rest.jpa.GroupServiceList; import org.openecomp.policy.rest.jpa.PolicyEntity; +import org.openecomp.policy.rest.jpa.PortList; +import org.openecomp.policy.rest.jpa.PrefixList; +import org.openecomp.policy.rest.jpa.ProtocolList; +import org.openecomp.policy.rest.jpa.ServiceList; +import org.openecomp.policy.rest.jpa.TermList; +import org.openecomp.policy.rest.jpa.UserInfo; import com.att.research.xacml.std.IdentifierImpl; -import com.att.research.xacml.util.XACMLProperties; import com.fasterxml.jackson.databind.JsonNode; import com.github.fge.jackson.JsonLoader; -import com.github.fge.jsonpatch.JsonPatch; import com.github.fge.jsonpatch.diff.JsonDiff; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.EffectType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObjectFactory; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType; + public class FirewallConfigPolicy extends Policy { private static final Logger LOGGER = FlexLogger.getLogger(FirewallConfigPolicy.class); - - /* - * These are the parameters needed for DB access from the PAP - */ - private static String papDbDriver = null; - private static String papDbUrl = null; - private static String papDbUser = null; - private static String papDbPassword = null; public FirewallConfigPolicy() { super(); } - + public FirewallConfigPolicy(PolicyRestAdapter policyAdapter) { this.policyAdapter = policyAdapter; this.policyAdapter.setConfigType(policyAdapter.getConfigType()); - } - + // Saving the Configurations file at server location for config policy. protected void saveConfigurations(String policyName, String jsonBody) { + String configurationName = policyName; + FileWriter fw = null; try{ - if(policyName.endsWith(".xml")){ - policyName = policyName.replace(".xml", ""); + if(configurationName.endsWith(".xml")){ + configurationName = configurationName.replace(".xml", ""); } - FileWriter fw = new FileWriter(CONFIG_HOME + File.separator + policyName + ".json"); + fw = new FileWriter(CONFIG_HOME + File.separator + configurationName + ".json"); BufferedWriter bw = new BufferedWriter(fw); bw.write(jsonBody); bw.close(); @@ -115,35 +111,30 @@ public class FirewallConfigPolicy extends Policy { } } catch (IOException e) { LOGGER.error("Exception Occured"+e); + }finally{ + try{ + if(fw != null){ + fw.close(); + } + }catch(Exception e){ + LOGGER.error("Exception Occured"+e); + } } } - + //Utility to read json data from the existing file to a string static String readFile(String path, Charset encoding) throws IOException { - byte[] encoded = Files.readAllBytes(Paths.get(path)); return new String(encoded, encoding); - - } - - // Validations for Config form - public boolean validateConfigForm() { - - // Validating mandatory Fields. - isValidForm = true; - return isValidForm; - } @Override public Map<String, String> savePolicies() throws Exception { - Map<String, String> successMap = new HashMap<>(); if(isPolicyExists()){ successMap.put("EXISTS", "This Policy already exist on the PAP"); return successMap; } - if(!isPreparedToSave()){ prepareToSave(); } @@ -152,7 +143,7 @@ public class FirewallConfigPolicy extends Policy { Path newPolicyPath = null; newPolicyPath = Paths.get(policyAdapter.getNewFileName()); Boolean dbIsUpdated = false; - if (policyAdapter.getApiflag() != null && policyAdapter.getApiflag().equalsIgnoreCase("admin")){ + if (policyAdapter.getApiflag() != null && "admin".equalsIgnoreCase(policyAdapter.getApiflag())){ if (policyAdapter.isEditPolicy()) { dbIsUpdated = updateFirewallDictionaryData(policyAdapter.getJsonBody(), policyAdapter.getPrevJsonBody()); } else { @@ -176,7 +167,7 @@ public class FirewallConfigPolicy extends Policy { } successMap.put("fwdberror", "DB UPDATE"); } - + return successMap; } @@ -184,18 +175,18 @@ public class FirewallConfigPolicy extends Policy { //separately because the fully configured policy is used for multiple things @Override public boolean prepareToSave() throws Exception{ - + if(isPreparedToSave()){ //we have already done this return true; } - + int version = 0; String policyID = policyAdapter.getPolicyID(); version = policyAdapter.getHighestVersion(); - - // Create the Instance for pojo, PolicyType object is used in marshalling. - if (policyAdapter.getPolicyType().equals("Config")) { + + // Create the Instance for pojo, PolicyType object is used in marshaling. + if ("Config".equals(policyAdapter.getPolicyType())) { PolicyType policyConfig = new PolicyType(); policyConfig.setVersion(Integer.toString(version)); @@ -204,15 +195,13 @@ public class FirewallConfigPolicy extends Policy { policyAdapter.setData(policyConfig); } policyName = policyAdapter.getNewFileName(); - + //String oldPolicyName = policyName.replace(".xml", ""); - String scope = policyName.substring(0, policyName.indexOf(".")); - String dbPolicyName = policyName.substring(policyName.indexOf(".")+1).replace(".xml", ""); - - int oldversion = Integer.parseInt(dbPolicyName.substring(dbPolicyName.lastIndexOf(".")+1)); - dbPolicyName = dbPolicyName.substring(0, dbPolicyName.lastIndexOf(".")+1); - //String scope = oldPolicyName.substring(0, oldPolicyName.lastIndexOf(".")); - //scope = scope.substring(0, scope.lastIndexOf(".")); + String scope = policyName.substring(0, policyName.indexOf('.')); + String dbPolicyName = policyName.substring(policyName.indexOf('.')+1).replace(".xml", ""); + + int oldversion = Integer.parseInt(dbPolicyName.substring(dbPolicyName.lastIndexOf('.')+1)); + dbPolicyName = dbPolicyName.substring(0, dbPolicyName.lastIndexOf('.')+1); if(oldversion > 1){ oldversion = oldversion - 1; dbPolicyName = dbPolicyName + oldversion + ".xml"; @@ -230,59 +219,54 @@ public class FirewallConfigPolicy extends Policy { if (policyAdapter.getData() != null) { String jsonBody = policyAdapter.getJsonBody(); saveConfigurations(policyName, jsonBody); - + // Make sure the filename ends with an extension - if (policyName.endsWith(".xml") == false) { + if (!policyName.endsWith(".xml")) { policyName = policyName + ".xml"; } PolicyType configPolicy = (PolicyType) policyAdapter.getData(); - + configPolicy.setDescription(policyAdapter.getPolicyDescription()); configPolicy.setRuleCombiningAlgId(policyAdapter.getRuleCombiningAlgId()); AllOfType allOfOne = new AllOfType(); String fileName = policyAdapter.getNewFileName(); - String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length()); + String name = fileName.substring(fileName.lastIndexOf('\\') + 1, fileName.length()); if ((name == null) || (name.equals(""))) { - name = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()); + name = fileName.substring(fileName.lastIndexOf('/') + 1, fileName.length()); } allOfOne.getMatch().add(createMatch("PolicyName", name)); AllOfType allOf = new AllOfType(); - + // Match for ConfigName allOf.getMatch().add(createMatch("ConfigName", policyAdapter.getConfigName())); // Match for riskType - allOf.getMatch().add( - createDynamicMatch("RiskType", policyAdapter.getRiskType())); + allOf.getMatch().add(createDynamicMatch("RiskType", policyAdapter.getRiskType())); // Match for riskLevel - allOf.getMatch().add( - createDynamicMatch("RiskLevel", String.valueOf(policyAdapter.getRiskLevel()))); + allOf.getMatch().add(createDynamicMatch("RiskLevel", String.valueOf(policyAdapter.getRiskLevel()))); // Match for riskguard - allOf.getMatch().add( - createDynamicMatch("guard", policyAdapter.getGuard())); + allOf.getMatch().add(createDynamicMatch("guard", policyAdapter.getGuard())); // Match for ttlDate - allOf.getMatch().add( - createDynamicMatch("TTLDate", policyAdapter.getTtlDate())); + allOf.getMatch().add(createDynamicMatch("TTLDate", policyAdapter.getTtlDate())); AnyOfType anyOf = new AnyOfType(); anyOf.getAllOf().add(allOfOne); anyOf.getAllOf().add(allOf); TargetType target = new TargetType(); - ((TargetType) target).getAnyOf().add(anyOf); - + target.getAnyOf().add(anyOf); + // Adding the target to the policy element configPolicy.setTarget((TargetType) target); RuleType rule = new RuleType(); rule.setRuleId(policyAdapter.getRuleID()); - rule.setEffect(EffectType.PERMIT); - + // Create Target in Rule AllOfType allOfInRule = new AllOfType(); - + // Creating match for ACCESS in rule target MatchType accessMatch = new MatchType(); AttributeValueType accessAttributeValue = new AttributeValueType(); @@ -301,14 +285,14 @@ public class FirewallConfigPolicy extends Policy { accessAttributeDesignator.setAttributeId(new IdentifierImpl(accessURI).stringValue()); accessMatch.setAttributeDesignator(accessAttributeDesignator); accessMatch.setMatchId(FUNCTION_STRING_EQUAL_IGNORE); - + // Creating Config Match in rule Target MatchType configMatch = new MatchType(); AttributeValueType configAttributeValue = new AttributeValueType(); configAttributeValue.setDataType(STRING_DATATYPE); - + configAttributeValue.getContent().add("Config"); - + configMatch.setAttributeValue(configAttributeValue); AttributeDesignatorType configAttributeDesignator = new AttributeDesignatorType(); URI configURI = null; @@ -317,7 +301,7 @@ public class FirewallConfigPolicy extends Policy { } catch (URISyntaxException e) { PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "FirewallConfigPolicy", "Exception creating Config URI"); } - + configAttributeDesignator.setCategory(CATEGORY_RESOURCE); configAttributeDesignator.setDataType(STRING_DATATYPE); configAttributeDesignator.setAttributeId(new IdentifierImpl(configURI).stringValue()); @@ -329,7 +313,7 @@ public class FirewallConfigPolicy extends Policy { AnyOfType anyOfInRule = new AnyOfType(); anyOfInRule.getAllOf().add(allOfInRule); - + TargetType targetInRule = new TargetType(); targetInRule.getAnyOf().add(anyOfInRule); @@ -348,7 +332,7 @@ public class FirewallConfigPolicy extends Policy { // Data required for Advice part is setting here. private AdviceExpressionsType getAdviceExpressions(int version, String fileName) { - + //Firewall Config ID Assignment AdviceExpressionsType advices = new AdviceExpressionsType(); AdviceExpressionType advice = new AdviceExpressionType(); @@ -364,7 +348,7 @@ public class FirewallConfigPolicy extends Policy { configNameAttributeValue.getContent().add("Configuration"); assignment1.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue)); advice.getAttributeAssignmentExpression().add(assignment1); - + // For Config file Url if configurations are provided. //URL ID Assignment AttributeAssignmentExpressionType assignment2 = new AttributeAssignmentExpressionType(); @@ -381,7 +365,7 @@ public class FirewallConfigPolicy extends Policy { AttributeValue.getContent().add(content); assignment2.setExpression(new ObjectFactory().createAttributeValue(AttributeValue)); advice.getAttributeAssignmentExpression().add(assignment2); - + //Policy Name Assignment AttributeAssignmentExpressionType assignment3 = new AttributeAssignmentExpressionType(); assignment3.setAttributeId("PolicyName"); @@ -398,7 +382,7 @@ public class FirewallConfigPolicy extends Policy { attributeValue3.getContent().add(name); assignment3.setExpression(new ObjectFactory().createAttributeValue(attributeValue3)); advice.getAttributeAssignmentExpression().add(assignment3); - + //Version Number Assignment AttributeAssignmentExpressionType assignment4 = new AttributeAssignmentExpressionType(); assignment4.setAttributeId("VersionNumber"); @@ -409,7 +393,7 @@ public class FirewallConfigPolicy extends Policy { configNameAttributeValue4.getContent().add(Integer.toString(version)); assignment4.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue4)); advice.getAttributeAssignmentExpression().add(assignment4); - + //Ecomp Name Assignment AttributeAssignmentExpressionType assignment5 = new AttributeAssignmentExpressionType(); assignment5.setAttributeId("matching:" + ECOMPID); @@ -419,7 +403,7 @@ public class FirewallConfigPolicy extends Policy { configNameAttributeValue5.setDataType(STRING_DATATYPE); assignment5.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue5)); advice.getAttributeAssignmentExpression().add(assignment5); - + //Config Name Assignment AttributeAssignmentExpressionType assignment6 = new AttributeAssignmentExpressionType(); assignment6.setAttributeId("matching:" + CONFIGID); @@ -443,7 +427,7 @@ public class FirewallConfigPolicy extends Policy { assignment7.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue7)); advice.getAttributeAssignmentExpression().add(assignment7); - + AttributeAssignmentExpressionType assignment8 = new AttributeAssignmentExpressionType(); assignment8.setAttributeId("RiskLevel"); assignment8.setCategory(CATEGORY_RESOURCE); @@ -467,7 +451,7 @@ public class FirewallConfigPolicy extends Policy { assignment9.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue9)); advice.getAttributeAssignmentExpression().add(assignment9); - + AttributeAssignmentExpressionType assignment10 = new AttributeAssignmentExpressionType(); assignment10.setAttributeId("TTLDate"); assignment10.setCategory(CATEGORY_RESOURCE); @@ -482,140 +466,81 @@ public class FirewallConfigPolicy extends Policy { advices.getAdviceExpression().add(advice); return advices; } - - - private Boolean insertFirewallDicionaryData (String jsonBody) throws SQLException { - + + private Boolean insertFirewallDicionaryData (String jsonBody) throws SQLException { + CommonClassDaoImpl dbConnection = new CommonClassDaoImpl(); JsonObject json = null; if (jsonBody != null) { - + //Read jsonBody to JsonObject json = stringToJson(jsonBody); - + JsonArray firewallRules = null; JsonArray serviceGroup = null; JsonArray addressGroup = null; - - Connection con = null; - Statement st = null; - ResultSet rs = null; - - /* - * Retrieve the property values for db access from the xacml.pap.properties - */ - papDbDriver = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_DRIVER); - papDbUrl = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_URL); - papDbUser = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_USER); - papDbPassword = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_PASSWORD); - //insert data into tables try { - //Get DB Connection - Class.forName(papDbDriver); - con = DriverManager.getConnection(papDbUrl,papDbUser,papDbPassword); - st = con.createStatement(); - firewallRules = json.getJsonArray("firewallRuleList"); serviceGroup = json.getJsonArray("serviceGroups"); addressGroup = json.getJsonArray("addressGroups"); - - String insertQuery = null; - /* * Inserting firewallRuleList data into the Terms, SecurityZone, and Action tables */ if (firewallRules != null) { - - int termID = 0; - int zoneID = 0; - int actionID = 0; - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM TERM;"); - if(rs.next()){ - termID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM ZONE;"); - if(rs.next()){ - zoneID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM ACTIONLIST;"); - if(rs.next()){ - actionID = rs.getInt("ID"); - } - rs.close(); for(int i = 0;i<firewallRules.size();i++) { - - //increment ID Primary Keys - termID = termID + 1; - zoneID = zoneID + 1; - actionID = actionID + 1; - /* * Populate ArrayLists with values from the JSON */ //create the JSON object from the JSON Array for each iteration through the for loop JsonObject ruleListobj = firewallRules.getJsonObject(i); - + //get values from JSON fields of firewallRulesList Array String ruleName = ruleListobj.get("ruleName").toString(); String action = ruleListobj.get("action").toString(); String description = ruleListobj.get("description").toString(); - - rs = st.executeQuery("SELECT * FROM TERM WHERE TERMNAME = "+ ruleName + ";"); - - if (rs.next()) { - st.executeUpdate("DELETE FROM TERM WHERE TERMNAME = "+ ruleName + ";"); + List<Object> result = dbConnection.getDataById(TermList.class, "termName", ruleName); + if(result != null && !result.isEmpty()){ + TermList termEntry = (TermList) result.get(0); + dbConnection.delete(termEntry); } - rs.close(); //getting fromZone Array field from the firewallRulesList JsonArray fromZoneArray = ruleListobj.getJsonArray("fromZones"); String fromZoneString = null; - - + for (int fromZoneIndex = 0;fromZoneIndex<fromZoneArray.size(); fromZoneIndex++) { String value = fromZoneArray.get(fromZoneIndex).toString(); value = value.replace("\"", ""); - if (fromZoneString != null) { fromZoneString = fromZoneString.concat(",").concat(value); - } else { fromZoneString = value; } - } String fromZoneInsert = "'"+fromZoneString+"'"; - + //getting toZone Array field from the firewallRulesList JsonArray toZoneArray = ruleListobj.getJsonArray("toZones"); String toZoneString = null; for (int toZoneIndex = 0; toZoneIndex<toZoneArray.size(); toZoneIndex++) { String value = toZoneArray.get(toZoneIndex).toString(); value = value.replace("\"", ""); - if (toZoneString != null) { toZoneString = toZoneString.concat(",").concat(value); - } else { toZoneString = value; } - } String toZoneInsert = "'"+toZoneString+"'"; - + //getting sourceList Array fields from the firewallRulesList JsonArray srcListArray = ruleListobj.getJsonArray("sourceList"); String srcListString = null; for (int srcListIndex = 0; srcListIndex< srcListArray.size(); srcListIndex++) { JsonObject srcListObj = srcListArray.getJsonObject(srcListIndex); String type = srcListObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")){ value = srcListObj.get("name").toString(); @@ -624,28 +549,28 @@ public class FirewallConfigPolicy extends Policy { } else { value = srcListObj.get("value").toString(); } - + if (value!=null){ value = value.replace("\"", ""); } - + if (srcListString != null) { srcListString = srcListString.concat(",").concat(value); - + } else { srcListString = value; } - + } String srcListInsert = "'"+srcListString+"'"; - + //getting destinationList Array fields from the firewallRulesList JsonArray destListArray = ruleListobj.getJsonArray("destinationList"); String destListString = null; for (int destListIndex = 0; destListIndex <destListArray.size(); destListIndex++) { JsonObject destListObj = destListArray.getJsonObject(destListIndex); String type = destListObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")){ value = destListObj.get("name").toString(); @@ -654,11 +579,11 @@ public class FirewallConfigPolicy extends Policy { } else { value = destListObj.get("value").toString(); } - + if (value!=null){ value = value.replace("\"", ""); } - + if (destListString != null) { destListString = destListString.concat(",").concat(value); } else { @@ -666,14 +591,14 @@ public class FirewallConfigPolicy extends Policy { } } String destListInsert = "'"+destListString+"'"; - + //getting destServices Array fields from the firewallRulesList JsonArray destServicesArray = ruleListobj.getJsonArray("destServices"); String destPortListString = null; for (int destPortListIndex = 0; destPortListIndex < destServicesArray.size(); destPortListIndex++) { JsonObject destServicesObj = destServicesArray.getJsonObject(destPortListIndex); String type = destServicesObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")){ value = destServicesObj.get("name").toString(); @@ -682,11 +607,11 @@ public class FirewallConfigPolicy extends Policy { } else { value = destServicesObj.get("value").toString(); } - + if (value!=null){ value = value.replace("\"", ""); } - + if (destPortListString != null) { destPortListString = destPortListString.concat(",").concat(value); } else { @@ -694,75 +619,53 @@ public class FirewallConfigPolicy extends Policy { } } String destPortListInsert = "'"+destPortListString+"'"; - + /* * Create Queries to INSERT data into database tables and execute - */ - String termSql = "INSERT INTO Term (ID, TERMNAME, SRCIPLIST, DESTIPLIST, PROTOCOLLIST, PORTLIST, SRCPORTLIST," - + " DESTPORTLIST, ACTION, DESCRIPTION, FROMZONE, TOZONE, CREATED_BY, MODIFIED_DATE) VALUES ("+termID+"," - +ruleName+","+srcListInsert+","+destListInsert+","+ "null"+","+"null"+","+"null"+","+destPortListInsert+"," - +action+","+description+","+fromZoneInsert+","+toZoneInsert+",'API',"+ "null"+ "); "; - termSql = termSql.replace('"', '\''); - st.addBatch(termSql); - - String actionSql = "INSERT INTO ACTIONLIST (ID, ACTIONNAME, DESCRIPTION) VALUES ("+actionID+","+action+","+action+"); "; - actionSql = actionSql.replace('"', '\''); - st.addBatch(actionSql); + */ + UserInfo userInfo = new UserInfo(); + userInfo.setUserLoginId("API"); + userInfo.setUserName("API"); + + TermList termEntry = new TermList(); + termEntry.setTermName(ruleName); + termEntry.setSrcIPList(srcListInsert); + termEntry.setDestIPList(destListInsert); + termEntry.setProtocolList("null"); + termEntry.setPortList("null"); + termEntry.setSrcPortList("null"); + termEntry.setDestPortList(destPortListInsert); + termEntry.setAction(action); + termEntry.setDescription(description); + termEntry.setFromZones(fromZoneInsert); + termEntry.setToZones(toZoneInsert); + termEntry.setUserCreatedBy(userInfo); + dbConnection.save(termEntry); - st.executeBatch(); + ActionList actionEntry = new ActionList(); + actionEntry.setActionName(action); + actionEntry.setDescription(action); + dbConnection.save(actionEntry); } - } - + /* * Inserting serviceGroups data into the ServiceGroup, ServiceList, ProtocolList, and PortList tables */ if (serviceGroup != null) { - - int serviceGroupID = 0; - int serviceListID = 0; - int protocolID = 0; - int portID = 0; - - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM SERVICEGROUP;"); - if(rs.next()){ - serviceGroupID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM GROUPSERVICELIST;"); - if(rs.next()){ - serviceListID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM PROTOCOLLIST;"); - if(rs.next()){ - protocolID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM PORTLIST;"); - if(rs.next()){ - portID = rs.getInt("ID"); - } - rs.close(); for(int i = 0; i < serviceGroup.size() ; i++) { - /* * Populate ArrayLists with values from the JSON */ //create the JSON object from the JSON Array for each iteration through the for loop JsonObject svcGroupListobj = serviceGroup.getJsonObject(i); - + String serviceListName = svcGroupListobj.get("name").toString(); - String description = null; if (svcGroupListobj.containsKey("description")){ description = svcGroupListobj.get("description").toString(); } - + //getting members Array from the serviceGroup JsonArray membersArray = svcGroupListobj.getJsonArray("members"); @@ -774,19 +677,15 @@ public class FirewallConfigPolicy extends Policy { isServiceGroup = true; } } - + //Insert values into GROUPSERVICELIST table if name begins with Group if (isServiceGroup) { - - //increment ID Primary Keys - serviceListID = serviceListID + 1; - String name = null; for (int membersIndex = 0; membersIndex< membersArray.size(); membersIndex++) { JsonObject membersObj = membersArray.getJsonObject(membersIndex); //String value = membersObj.get("name").toString(); String type = membersObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")||type.equals("SERVICE")){ value = membersObj.get("name").toString(); @@ -795,11 +694,11 @@ public class FirewallConfigPolicy extends Policy { } else { value = membersObj.get("value").toString(); } - + if(value != null){ value = value.replace("\"", ""); } - + if (name != null) { name = name.concat(",").concat(value); } else { @@ -807,91 +706,67 @@ public class FirewallConfigPolicy extends Policy { } } String nameInsert = "'"+name+"'"; - - insertQuery = "INSERT INTO GROUPSERVICELIST (ID, NAME, SERVICELIST) " - + "VALUES("+serviceListID+","+serviceListName+","+nameInsert+")"; - - //Replace double quote with single quote - insertQuery = insertQuery.replace('"', '\''); - - //Execute the queries to Insert data - st.executeUpdate(insertQuery); - + GroupServiceList groupServiceEntry = new GroupServiceList(); + groupServiceEntry.setGroupName(serviceListName); + groupServiceEntry.setServiceList(nameInsert); + dbConnection.save(groupServiceEntry); } else { //Insert JSON data serviceList table, protollist table, and portlist table - - //increment ID Primary Keys - protocolID = protocolID + 1; - portID = portID + 1; - serviceGroupID = serviceGroupID + 1; - String type = svcGroupListobj.get("type").toString(); String transportProtocol = svcGroupListobj.get("transportProtocol").toString(); String ports = svcGroupListobj.get("ports").toString(); - + /* * Create Queries to INSERT data into database table and execute */ - String serviceSql = "INSERT INTO SERVICEGROUP (ID, NAME, DESCRIPTION, TYPE, TRANSPORTPROTOCOL, APPPROTOCOL, PORTS) " - + "VALUES("+serviceGroupID+","+serviceListName+","+description+","+type+"," - + transportProtocol+","+"null,"+ports+"); "; - serviceSql = serviceSql.replace('"', '\''); - st.addBatch(serviceSql); + ServiceList serviceListEntry = new ServiceList(); + serviceListEntry.setServiceName(serviceListName); + serviceListEntry.setServiceDescription(description); + serviceListEntry.setServiceType(type); + serviceListEntry.setServiceTransProtocol(transportProtocol); + serviceListEntry.setServiceAppProtocol("null"); + serviceListEntry.setServicePorts(ports); + dbConnection.save(serviceListEntry); - String protSql = "INSERT INTO PROTOCOLLIST (ID, PROTOCOLNAME, DESCRIPTION) VALUES("+protocolID+","+transportProtocol+","+transportProtocol+"); "; - protSql = protSql.replace('"', '\''); - st.addBatch(protSql); + ProtocolList protocolEntry = new ProtocolList(); + protocolEntry.setProtocolName(transportProtocol); + protocolEntry.setDescription(transportProtocol); + dbConnection.save(protocolEntry); - String portSql = "INSERT INTO PORTLIST (ID, PORTNAME, DESCRIPTION) VALUES("+portID+","+ports+","+ports+");"; - portSql = portSql.replace('"', '\''); - st.addBatch(portSql); - - st.executeBatch(); - + PortList portListEntry = new PortList(); + portListEntry.setPortName(ports); + portListEntry.setDescription(ports); + dbConnection.save(portListEntry); } } } - + /* * Inserting addressGroup data into the ADDRESSGROUP table */ if (addressGroup != null) { - int prefixID = 0; - int addressID = 0; - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM PREFIXLIST;"); - if(rs.next()){ - prefixID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM ADDRESSGROUP;"); - if(rs.next()){ - addressID = rs.getInt("ID"); - } - rs.close(); for(int i = 0; i < addressGroup.size(); i++) { /* * Populate ArrayLists with values from the JSON */ //create the JSON object from the JSON Array for each iteration through the for loop JsonObject addressGroupObj = addressGroup.getJsonObject(i); - + //create JSON array for members JsonArray membersArray = addressGroupObj.getJsonArray("members"); String addressGroupName = addressGroupObj.get("name").toString(); - + String description = null; if (addressGroupObj.containsKey("description")){ description = addressGroupObj.get("description").toString(); } - + String prefixIP = null; String type = null; for (int membersIndex = 0; membersIndex < membersArray.size(); membersIndex++) { JsonObject membersObj = membersArray.getJsonObject(membersIndex); //String value = membersObj.get("value").toString(); type = membersObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")||type.equals("SERVICE")){ value = membersObj.get("name").toString(); @@ -900,11 +775,11 @@ public class FirewallConfigPolicy extends Policy { } else { value = membersObj.get("value").toString(); } - + if(value != null){ value = value.replace("\"", ""); } - + if (prefixIP != null) { prefixIP = prefixIP.concat(",").concat(value); } else { @@ -912,229 +787,153 @@ public class FirewallConfigPolicy extends Policy { } } String prefixList = "'"+prefixIP+"'"; - + Boolean isAddressGroup = type.contains("REFERENCE"); - + if (isAddressGroup) { - //increment ID Primary Keys - addressID = addressID + 1; - - insertQuery = "INSERT INTO ADDRESSGROUP (ID, NAME, DESCRIPTION, PREFIXLIST) " - + "VALUES("+addressID+","+addressGroupName+","+description+","+prefixList+")"; + AddressGroup addressGroupEntry = new AddressGroup(); + addressGroupEntry.setGroupName(addressGroupName); + addressGroupEntry.setDescription(description); + addressGroupEntry.setServiceList(prefixList); + dbConnection.save(addressGroupEntry); } else { - //increment ID Primary Key - prefixID = prefixID + 1; - - insertQuery = "INSERT INTO PREFIXLIST (ID, PL_NAME, PL_VALUE, DESCRIPTION) " - + "VALUES("+prefixID+","+addressGroupName+","+prefixList+","+description+")"; - + PrefixList prefixListEntry = new PrefixList(); + prefixListEntry.setPrefixListName(addressGroupName); + prefixListEntry.setDescription(description); + prefixListEntry.setPrefixListValue(prefixList); + dbConnection.save(prefixListEntry); } - - - //Replace double quote with single quote - insertQuery = insertQuery.replace('"', '\''); - - //Execute the queries to Insert data - st.executeUpdate(insertQuery); } - } - + /* * Remove duplicate values from 'lookup' dictionary tables */ //ProtocolList Table String protoDelete = "DELETE FROM protocollist USING protocollist, protocollist p1 " + "WHERE protocollist.id > p1.id AND protocollist.protocolname = p1.protocolname;"; - st.addBatch(protoDelete); - + dbConnection.updateQuery(protoDelete); + //PortList Table String portListDelete = "DELETE FROM portlist USING portlist, portlist p1 " + "WHERE portlist.id > p1.id AND portlist.portname = p1.portname; "; - st.addBatch(portListDelete); - + dbConnection.updateQuery(portListDelete); + //PrefixList Table String prefixListDelete = "DELETE FROM prefixlist USING prefixlist, prefixlist p1 " + "WHERE prefixlist.id > p1.id AND prefixlist.pl_name = p1.pl_name AND " + "prefixlist.pl_value = p1.pl_value AND prefixlist.description = p1.description; "; - st.addBatch(prefixListDelete); - + dbConnection.updateQuery(prefixListDelete); + //GroupServiceList String groupServiceDelete = "DELETE FROM groupservicelist USING groupservicelist, groupservicelist g1 " + "WHERE groupservicelist.id > g1.id AND groupservicelist.name = g1.name AND " + "groupservicelist.serviceList = g1.serviceList; "; - st.addBatch(groupServiceDelete); - - st.executeBatch(); - - } catch (ClassNotFoundException e) { - PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "FirewallConfigPolicy", "Exception building Firewall queries "); - System.out.println(e.getMessage()); - return false; - - } catch (SQLException e) { - PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "FirewallConfigPolicy", "Exception executing Firewall queries"); - System.out.println(e.getMessage()); - return false; - } catch (Exception e) { + dbConnection.updateQuery(groupServiceDelete); + }catch (Exception e) { PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "FirewallConfigPolicy", "Exception getting Json values"); - System.out.println(e.getMessage()); return false; - } finally { - try{ - if (con!=null) con.close(); - if (rs!=null) rs.close(); - if (st!=null) st.close(); - } catch (Exception ex){} - } + } return true; } else { return false; } - + } private Boolean updateFirewallDictionaryData(String jsonBody, String prevJsonBody) { - + CommonClassDaoImpl dbConnection = new CommonClassDaoImpl(); JsonObject oldJson = null; JsonObject newJson = null; - + if (jsonBody != null || prevJsonBody != null) { - + oldJson = stringToJson(prevJsonBody); newJson = stringToJson(jsonBody); - + //if no changes to the json then return true - if (oldJson.equals(newJson)) { + if (oldJson != null && oldJson.equals(newJson)) { return true; } - + JsonArray firewallRules = null; JsonArray serviceGroup = null; JsonArray addressGroup = null; - + firewallRules = newJson.getJsonArray("firewallRuleList"); serviceGroup = newJson.getJsonArray("serviceGroups"); addressGroup = newJson.getJsonArray("addressGroups"); - - Connection con = null; - Statement st = null; - ResultSet rs = null; - - /* - * Retrieve the property values for db access from the xacml.pap.properties - */ - papDbDriver = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_DRIVER); - papDbUrl = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_URL); - papDbUser = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_USER); - papDbPassword = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_PASSWORD); - + //insert data into tables try { - - //Get DB Connection - Class.forName(papDbDriver); - con = DriverManager.getConnection(papDbUrl,papDbUser,papDbPassword); - st = con.createStatement(); - JsonNode jsonDiff = createPatch(jsonBody, prevJsonBody); - - + for (int i = 0; i<jsonDiff.size(); i++) { //String path = jsonDiff.get(i).asText(); String jsonpatch = jsonDiff.get(i).toString(); - + JsonObject patchObj = stringToJson(jsonpatch); - + String path = patchObj.get("path").toString().replace('"', ' ').trim(); - + if (path.contains("firewallRuleList")) { - int termID = 0; - int zoneID = 0; - int actionID = 0; - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM TERM;"); - if(rs.next()){ - termID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM ZONE;"); - if(rs.next()){ - zoneID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM ACTIONLIST;"); - if(rs.next()){ - actionID = rs.getInt("ID"); - } - rs.close(); - /* * Inserting firewallRuleList data into the Terms, SecurityZone, and Action tables */ for(int ri = 0; ri < firewallRules.size(); ri++) { - - //increment ID Primary Keys - termID = termID + 1; - zoneID = zoneID + 1; - actionID = actionID + 1; - /* * Populate ArrayLists with values from the JSON */ //create the JSON object from the JSON Array for each iteration through the for loop JsonObject ruleListobj = firewallRules.getJsonObject(ri); - + //get values from JSON fields of firewallRulesList Array String ruleName = ruleListobj.get("ruleName").toString().replace('"', '\''); String action = ruleListobj.get("action").toString().replace('"', '\''); String description = ruleListobj.get("description").toString().replace('"', '\''); - - rs = st.executeQuery("SELECT * FROM TERM WHERE TERMNAME = "+ ruleName + ";"); - - if (rs.next()) { - st.executeUpdate("DELETE FROM TERM WHERE TERMNAME = "+ ruleName + ";"); + + List<Object> result = dbConnection.getDataById(TermList.class, "termName", ruleName); + if(result != null && !result.isEmpty()){ + TermList termEntry = (TermList) result.get(0); + dbConnection.delete(termEntry); } - rs.close(); - + //getting fromZone Array field from the firewallRulesList JsonArray fromZoneArray = ruleListobj.getJsonArray("fromZones"); String fromZoneString = null; - + for (int fromZoneIndex = 0; fromZoneIndex<fromZoneArray.size() ; fromZoneIndex++) { String value = fromZoneArray.get(fromZoneIndex).toString(); value = value.replace("\"", ""); - + if (fromZoneString != null) { fromZoneString = fromZoneString.concat(",").concat(value); - + } else { fromZoneString = value; } - + } String fromZoneInsert = "'"+fromZoneString+"'"; - + //getting toZone Array field from the firewallRulesList JsonArray toZoneArray = ruleListobj.getJsonArray("toZones"); String toZoneString = null; - - + + for (int toZoneIndex = 0; toZoneIndex < toZoneArray.size(); toZoneIndex++) { String value = toZoneArray.get(toZoneIndex).toString(); value = value.replace("\"", ""); - + if (toZoneString != null) { toZoneString = toZoneString.concat(",").concat(value); - + } else { toZoneString = value; } - + } String toZoneInsert = "'"+toZoneString+"'"; //getting sourceList Array fields from the firewallRulesList @@ -1143,7 +942,7 @@ public class FirewallConfigPolicy extends Policy { for (int srcListIndex = 0; srcListIndex<srcListArray.size(); srcListIndex++) { JsonObject srcListObj = srcListArray.getJsonObject(srcListIndex); String type = srcListObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")){ value = srcListObj.get("name").toString(); @@ -1152,28 +951,28 @@ public class FirewallConfigPolicy extends Policy { } else { value = srcListObj.get("value").toString(); } - + if(value != null){ value = value.replace("\"", ""); } - + if (srcListString != null) { srcListString = srcListString.concat(",").concat(value); - + } else { srcListString = value; } - + } String srcListInsert = "'"+srcListString+"'"; - + //getting destinationList Array fields from the firewallRulesList JsonArray destListArray = ruleListobj.getJsonArray("destinationList"); String destListString = null; for (int destListIndex = 0; destListIndex<destListArray.size(); destListIndex ++) { JsonObject destListObj = destListArray.getJsonObject(destListIndex); String type = destListObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")){ value = destListObj.get("name").toString(); @@ -1182,11 +981,11 @@ public class FirewallConfigPolicy extends Policy { } else { value = destListObj.get("value").toString(); } - + if(value != null){ value = value.replace("\"", ""); } - + if (destListString != null) { destListString = destListString.concat(",").concat(value); } else { @@ -1194,14 +993,14 @@ public class FirewallConfigPolicy extends Policy { } } String destListInsert = "'"+destListString+"'"; - + //getting destServices Array fields from the firewallRulesList JsonArray destServicesArray = ruleListobj.getJsonArray("destServices"); String destPortListString = null; for (int destPortListIndex = 0; destPortListIndex < destServicesArray.size(); destPortListIndex++) { JsonObject destServicesObj = destServicesArray.getJsonObject(destPortListIndex); String type = destServicesObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")){ value = destServicesObj.get("name").toString(); @@ -1210,11 +1009,11 @@ public class FirewallConfigPolicy extends Policy { } else { value = destServicesObj.get("value").toString(); } - + if(value != null){ value = value.replace("\"", ""); } - + if (destPortListString != null) { destPortListString = destPortListString.concat(",").concat(value); } else { @@ -1222,68 +1021,40 @@ public class FirewallConfigPolicy extends Policy { } } String destPortListInsert = "'"+destPortListString+"'"; - + /* * Create Queries to INSERT data into database tables and execute */ + UserInfo userInfo = new UserInfo(); + userInfo.setUserLoginId("API"); + userInfo.setUserName("API"); - //Insert Into Terms table - String termSql = "INSERT INTO Term (ID, TERMNAME, SRCIPLIST, DESTIPLIST, PROTOCOLLIST, PORTLIST, SRCPORTLIST," - + " DESTPORTLIST, ACTION, DESCRIPTION, FROMZONE, TOZONE, CREATED_BY, MODIFIED_DATE) VALUES ("+termID+"," - +ruleName+","+srcListInsert+","+destListInsert+","+ "null"+","+"null"+","+"null"+","+destPortListInsert+"," - +action+","+description+","+fromZoneInsert+","+toZoneInsert+",'API',"+ "null"+ "); "; - - termSql = termSql.replace('"', '\''); - st.addBatch(termSql); + TermList termEntry = new TermList(); + termEntry.setTermName(ruleName); + termEntry.setSrcIPList(srcListInsert); + termEntry.setDestIPList(destListInsert); + termEntry.setProtocolList("null"); + termEntry.setPortList("null"); + termEntry.setSrcPortList("null"); + termEntry.setDestPortList(destPortListInsert); + termEntry.setAction(action); + termEntry.setDescription(description); + termEntry.setFromZones(fromZoneInsert); + termEntry.setToZones(toZoneInsert); + termEntry.setUserCreatedBy(userInfo); + dbConnection.save(termEntry); - rs = st.executeQuery("SELECT * FROM ACTIONLIST WHERE ACTIONNAME = " + action + ";"); - - String actionSql = null; - if (rs.next()) { - //do nothing - } else { - actionSql = "INSERT INTO ACTIONLIST (ID, ACTIONNAME, DESCRIPTION) VALUES ("+actionID+","+action+","+action+") "; - actionSql = actionSql.replace('"', '\''); - st.addBatch(actionSql); + List<Object> actionResult = dbConnection.getDataById(ActionList.class, "actionName", action); + if(actionResult == null || actionResult.isEmpty()){ + ActionList actionEntry = new ActionList(); + actionEntry.setActionName(action); + actionEntry.setDescription(action); + dbConnection.save(actionEntry); } - st.executeBatch(); } - } - - if (path.contains("serviceGroups")) { - int serviceGroupID = 0; - int serviceListID = 0; - int protocolID = 0; - int portID = 0; - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM SERVICEGROUP;"); - if(rs.next()){ - serviceGroupID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM GROUPSERVICELIST;"); - if(rs.next()){ - serviceListID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM PROTOCOLLIST;"); - if(rs.next()){ - protocolID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM PORTLIST;"); - if(rs.next()){ - portID = rs.getInt("ID"); - } - rs.close(); - - String insertQuery = null; - + if (path.contains("serviceGroups")) { /* * Inserting serviceGroups data into the ServiceGroup, ServiceList, ProtocolList, and PortList tables */ @@ -1293,14 +1064,14 @@ public class FirewallConfigPolicy extends Policy { */ //create the JSON object from the JSON Array for each iteration through the for loop JsonObject svcGroupListobj = serviceGroup.getJsonObject(si); - + String groupName = svcGroupListobj.get("name").toString().replace('"', '\''); - + String description = null; if (svcGroupListobj.containsKey("description")){ description = svcGroupListobj.get("description").toString().replace('"', '\''); } - + JsonArray membersArray = svcGroupListobj.getJsonArray("members"); Boolean isServiceGroup = false; @@ -1310,23 +1081,20 @@ public class FirewallConfigPolicy extends Policy { isServiceGroup = true; } } - + //Insert values into GROUPSERVICELIST table if name begins with Group if (isServiceGroup) { - - rs = st.executeQuery("SELECT * FROM GROUPSERVICELIST WHERE NAME = "+ groupName + ";"); - - if (rs.next()) { - st.executeUpdate("DELETE FROM GROUPSERVICELIST WHERE NAME = "+ groupName + ";"); + List<Object> result = dbConnection.getDataById(GroupServiceList.class, "name", groupName); + if(result != null && !result.isEmpty()){ + GroupServiceList groupEntry = (GroupServiceList) result.get(0); + dbConnection.delete(groupEntry); } - rs.close(); - //increment ID Primary Keys - serviceListID = serviceListID + 1; + String name = null; for (int membersIndex = 0; membersIndex < membersArray.size(); membersIndex++) { JsonObject membersObj = membersArray.getJsonObject(membersIndex); String type = membersObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")||type.equals("SERVICE")){ value = membersObj.get("name").toString(); @@ -1335,125 +1103,88 @@ public class FirewallConfigPolicy extends Policy { } else { value = membersObj.get("value").toString(); } - + if(value != null){ value = value.replace("\"", ""); } - + if (name != null) { name = name.concat(",").concat(value); } else { name = value; } } - String nameInsert = "'"+name+"'"; - - insertQuery = "INSERT INTO GROUPSERVICELIST (ID, NAME, SERVICELIST) " - + "VALUES("+serviceListID+","+groupName+","+nameInsert+")"; - - //Replace double quote with single quote - insertQuery = insertQuery.replace('"', '\''); - - //Execute the queries to Insert data - st.executeUpdate(insertQuery); - + String nameInsert = "'"+name+"'"; + GroupServiceList groupServiceEntry = new GroupServiceList(); + groupServiceEntry.setGroupName(groupName); + groupServiceEntry.setServiceList(nameInsert); + dbConnection.save(groupServiceEntry); } else { //Insert JSON data serviceGroup table, protocollist table, and portlist table - - //increment ID Primary Keys - protocolID = protocolID + 1; - portID = portID + 1; - serviceGroupID = serviceGroupID + 1; - String type = svcGroupListobj.get("type").toString().replace('"', '\''); String transportProtocol = svcGroupListobj.get("transportProtocol").toString().replace('"', '\''); String ports = svcGroupListobj.get("ports").toString().replace('"', '\''); - rs = st.executeQuery("SELECT * FROM SERVICEGROUP WHERE NAME = "+ groupName + ";"); - - if (rs.next()) { - st.executeUpdate("DELETE FROM SERVICEGROUP WHERE NAME = "+ groupName + ";"); + List<Object> result = dbConnection.getDataById(ServiceList.class, "name", groupName); + if(result != null && !result.isEmpty()){ + ServiceList serviceEntry = (ServiceList) result.get(0); + dbConnection.delete(serviceEntry); } - rs.close(); - - String svcGroupSql = "INSERT INTO SERVICEGROUP (ID, NAME, DESCRIPTION, TYPE, TRANSPORTPROTOCOL, APPPROTOCOL, PORTS) " - + "VALUES("+serviceGroupID+","+groupName+","+description+","+type+"," - + transportProtocol+","+"null,"+ports+"); "; - svcGroupSql = svcGroupSql.replace('"', '\''); - st.addBatch(svcGroupSql); - rs = st.executeQuery("SELECT * FROM PROTOCOLLIST WHERE PROTOCOLNAME = " + transportProtocol + ";"); + ServiceList serviceListEntry = new ServiceList(); + serviceListEntry.setServiceName(groupName); + serviceListEntry.setServiceDescription(description); + serviceListEntry.setServiceType(type); + serviceListEntry.setServiceTransProtocol(transportProtocol); + serviceListEntry.setServiceAppProtocol("null"); + serviceListEntry.setServicePorts(ports); + dbConnection.save(serviceListEntry); - String protoSql = null; - if (rs.next()) { - //do nothing - } else { - protoSql = "INSERT INTO PROTOCOLLIST (ID, PROTOCOLNAME, DESCRIPTION) " - + "VALUES("+protocolID+","+transportProtocol+","+transportProtocol+"); "; - protoSql = protoSql.replace('"', '\''); - st.addBatch(protoSql); - + List<Object> protocolResult = dbConnection.getDataById(ProtocolList.class, "protocolName", transportProtocol); + if(protocolResult == null || protocolResult.isEmpty()){ + ProtocolList protocolEntry = new ProtocolList(); + protocolEntry.setProtocolName(transportProtocol); + protocolEntry.setDescription(transportProtocol); + dbConnection.save(protocolEntry); } - rs.close(); - - rs = st.executeQuery("SELECT * FROM PORTLIST WHERE PORTNAME = " + ports + ";"); - String portSql = null; - if (rs.next()) { - //do nothing - } else { - portSql = "INSERT INTO PORTLIST (ID, PORTNAME, DESCRIPTION) VALUES("+portID+","+ports+","+ports+"); "; - portSql = portSql.replace('"', '\''); - st.addBatch(portSql); + List<Object> portResult = dbConnection.getDataById(PortList.class, "portName", ports); + if(portResult == null || portResult.isEmpty()){ + PortList portEntry = new PortList(); + portEntry.setPortName(ports); + portEntry.setDescription(ports); + dbConnection.save(portEntry); } - rs.close(); - st.executeBatch(); } } } - + if (path.contains("addressGroups")) { /* * Inserting addressGroup data into the ADDRESSGROUP table */ - int prefixID = 0; - int addressID = 0; - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM PREFIXLIST;"); - if(rs.next()){ - prefixID = rs.getInt("ID"); - } - rs.close(); - - rs = st.executeQuery("SELECT MAX(ID) AS ID FROM ADDRESSGROUP;"); - if(rs.next()){ - addressID = rs.getInt("ID"); - } - rs.close(); - - String insertQuery = null; for(int ai=0; ai < addressGroup.size() ; ai++) { - + /* * Populate ArrayLists with values from the JSON */ //create the JSON object from the JSON Array for each iteration through the for loop JsonObject addressGroupObj = addressGroup.getJsonObject(ai); - + //create JSON array for members JsonArray membersArray = addressGroupObj.getJsonArray("members"); String addressGroupName = addressGroupObj.get("name").toString().replace('"', '\''); - + String description = null; if (addressGroupObj.containsKey("description")){ description = addressGroupObj.get("description").toString().replace('"', '\''); } - + String prefixIP = null; String type = null; for (int membersIndex=0; membersIndex < membersArray.size(); membersIndex++) { JsonObject membersObj = membersArray.getJsonObject(membersIndex); type = membersObj.get("type").toString().replace("\"", ""); - + String value = null; if(type.equals("REFERENCE")||type.equals("GROUP")||type.equals("SERVICE")){ value = membersObj.get("name").toString(); @@ -1462,130 +1193,97 @@ public class FirewallConfigPolicy extends Policy { } else { value = membersObj.get("value").toString(); } - + if(value != null){ value = value.replace("\"", ""); } - + if (prefixIP != null) { prefixIP = prefixIP.concat(",").concat(value); } else { prefixIP = value; } } - String prefixList = "'"+prefixIP+"'"; + String prefixList = "'"+prefixIP+"'"; Boolean isAddressGroup = type.contains("REFERENCE"); - - if (isAddressGroup) { - - rs = st.executeQuery("SELECT * FROM ADDRESSGROUP WHERE NAME = "+ addressGroupName + ";"); - - if (rs.next()) { - st.executeUpdate("DELETE FROM ADDRESSGROUP WHERE NAME = "+ addressGroupName + ";"); + + if (isAddressGroup) { + List<Object> result = dbConnection.getDataById(AddressGroup.class, "name", addressGroupName); + if(result != null && !result.isEmpty()){ + AddressGroup addressGroupEntry = (AddressGroup) result.get(0); + dbConnection.delete(addressGroupEntry); } - rs.close(); - //increment ID Primary Keys - addressID = addressID + 1; - - insertQuery = "INSERT INTO ADDRESSGROUP (ID, NAME, DESCRIPTION, PREFIXLIST) " - + "VALUES("+addressID+","+addressGroupName+","+description+","+prefixList+")"; - - - + AddressGroup newAddressGroup = new AddressGroup(); + newAddressGroup.setGroupName(addressGroupName); + newAddressGroup.setDescription(description); + newAddressGroup.setServiceList(prefixList); + dbConnection.save(newAddressGroup); } else { - - rs = st.executeQuery("SELECT * FROM PREFIXLIST WHERE PL_NAME = "+ addressGroupName + ";"); - - if (rs.next()) { - st.executeUpdate("DELETE FROM PREFIXLIST WHERE PL_NAME = "+ addressGroupName + ";"); + List<Object> result = dbConnection.getDataById(PrefixList.class, "prefixListName", addressGroupName); + if(result != null && !result.isEmpty()){ + PrefixList prefixListEntry = (PrefixList) result.get(0); + dbConnection.delete(prefixListEntry); } - rs.close(); - //increment ID Primary Key - prefixID = prefixID + 1; - - insertQuery = "INSERT INTO PREFIXLIST (ID, PL_NAME, PL_VALUE, DESCRIPTION) " - + "VALUES("+prefixID+","+addressGroupName+","+prefixList+","+description+")"; - + PrefixList newPrefixList = new PrefixList(); + newPrefixList.setPrefixListName(addressGroupName); + newPrefixList.setDescription(description); + newPrefixList.setPrefixListValue(prefixList); + dbConnection.save(newPrefixList); } - //Replace double quote with single quote - insertQuery = insertQuery.replace('"', '\''); - - //Execute the queries to Insert data - st.executeUpdate(insertQuery); } } } - + /* * Remove duplicate values from 'lookup' dictionary tables */ //ProtocolList Table String protoDelete = "DELETE FROM protocollist USING protocollist, protocollist p1 " + "WHERE protocollist.id > p1.id AND protocollist.protocolname = p1.protocolname;"; - st.addBatch(protoDelete); - + dbConnection.updateQuery(protoDelete); + //PortList Table String portListDelete = "DELETE FROM portlist USING portlist, portlist p1 " + "WHERE portlist.id > p1.id AND portlist.portname = p1.portname; "; - st.addBatch(portListDelete); - + dbConnection.updateQuery(portListDelete); + //PrefixList Table String prefixListDelete = "DELETE FROM prefixlist USING prefixlist, prefixlist p1 " + "WHERE prefixlist.id > p1.id AND prefixlist.pl_name = p1.pl_name AND " + "prefixlist.pl_value = p1.pl_value AND prefixlist.description = p1.description; "; - st.addBatch(prefixListDelete); - + dbConnection.updateQuery(prefixListDelete); + //GroupServiceList String groupServiceDelete = "DELETE FROM groupservicelist USING groupservicelist, groupservicelist g1 " + "WHERE groupservicelist.id > g1.id AND groupservicelist.name = g1.name AND " + "groupservicelist.serviceList = g1.serviceList; "; - st.addBatch(groupServiceDelete); - - st.executeBatch(); - - } catch (ClassNotFoundException e) { - PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "FirewallConfigPolicy", "Exception building Firewall queries"); - System.out.println(e.getMessage()); - return false; - - } catch (SQLException e) { + dbConnection.updateQuery(groupServiceDelete); + }catch (Exception e) { PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "FirewallConfigPolicy", "Exception executing Firewall queries"); - System.out.println(e.getMessage()); return false; - } finally { - try{ - if (con!=null) con.close(); - if (rs!=null) rs.close(); - if (st!=null) st.close(); - } catch (Exception ex){} } return true; - } else { return false; } - -} - + + } + private JsonObject stringToJson(String jsonString) { - JsonObject json = null; if (jsonString != null) { - //Read jsonBody to JsonObject StringReader in = null; - in = new StringReader(jsonString); - + JsonReader jsonReader = Json.createReader(in); json = jsonReader.readObject(); + jsonReader.close(); } - return json; } - - + private JsonNode createPatch(String json, String oldJson) { JsonNode oldJason = null; JsonNode updatedJason = null; @@ -1596,20 +1294,12 @@ public class FirewallConfigPolicy extends Policy { } catch (IOException e) { LOGGER.error("Exception Occured"+e); } - - JsonPatch jsonPatch = JsonDiff.asJsonPatch(oldJason, updatedJason); - JsonNode patchNode = JsonDiff.asJson(oldJason, updatedJason); - System.out.println("Sending Patch:" + jsonPatch); - return patchNode; - - } + return JsonDiff.asJson(oldJason, updatedJason); + } @Override public Object getCorrectPolicyDataObject() { return policyAdapter.getPolicyData(); } -} - - - +}
\ No newline at end of file diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/DictionaryImportController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/DictionaryImportController.java index 95172ac74..94f83674b 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/DictionaryImportController.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/DictionaryImportController.java @@ -97,7 +97,7 @@ public class DictionaryImportController { List<String[]> dictSheet = csvReader.readAll(); if(dictionaryName.startsWith("Attribute")){ for(int i = 1; i< dictSheet.size(); i++){ - Attribute attribute = new Attribute("", userId); + Attribute attribute = new Attribute(""); UserInfo userinfo = new UserInfo(); userinfo.setUserLoginId(userId); attribute.setUserCreatedBy(userinfo); diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/MicroServiceDictionaryController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/MicroServiceDictionaryController.java index dce0dd613..8d253d385 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/MicroServiceDictionaryController.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/MicroServiceDictionaryController.java @@ -86,7 +86,7 @@ public class MicroServiceDictionaryController { - MSModelUtils utils = new MSModelUtils(XACMLPapServlet.msEcompName, XACMLPapServlet.msPolicyName); + MSModelUtils utils = new MSModelUtils(XACMLPapServlet.getMsEcompName(), XACMLPapServlet.getMsPolicyName()); private MicroServiceModels newModel; diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/policycontroller/PolicyCreation.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/policycontroller/PolicyCreation.java index c21164920..dde2a0d3b 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/policycontroller/PolicyCreation.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/policycontroller/PolicyCreation.java @@ -162,7 +162,7 @@ public class PolicyCreation extends AbstractPolicyCreation{ } if(highestVersion != 0 && policyVersion != null){ - if(policyData.isEditPolicy){ + if(policyData.isEditPolicy()){ version = highestVersion +1; if(userId ==null){ modifiedBy = "API"; @@ -401,7 +401,7 @@ public class PolicyCreation extends AbstractPolicyCreation{ successMap = newPolicy.savePolicies(); if(successMap.containsKey("success")){ policyDBDaoTransaction.commitTransaction(); - if(policyData.isEditPolicy){ + if(policyData.isEditPolicy()){ commonClassDao.update(policyVersionDao); }else{ commonClassDao.save(policyVersionDao); diff --git a/ECOMP-PAP-REST/src/main/resources/META-INF/generatedCreate.ddl b/ECOMP-PAP-REST/src/main/resources/META-INF/generatedCreate.ddl index e9b58fcc3..73ce58f3c 100644 --- a/ECOMP-PAP-REST/src/main/resources/META-INF/generatedCreate.ddl +++ b/ECOMP-PAP-REST/src/main/resources/META-INF/generatedCreate.ddl @@ -1,6 +1,6 @@ CREATE TABLE PolicyEntity (policyId BIGINT NOT NULL, created_by VARCHAR(255) NOT NULL, created_date TIMESTAMP, deleted BOOLEAN NOT NULL, description VARCHAR(2048) NOT NULL, modified_by VARCHAR(255) NOT NULL, modified_date TIMESTAMP NOT NULL, policyData TEXT, policyName VARCHAR(255) NOT NULL, policyVersion INTEGER, scope VARCHAR(255) NOT NULL, version INTEGER, actionBodyId BIGINT, configurationDataId BIGINT, PRIMARY KEY (policyId)) CREATE TABLE ConfigurationDataEntity (configurationDataId BIGINT NOT NULL, configBody TEXT, configType VARCHAR(255) NOT NULL, configurationName VARCHAR(255) NOT NULL, created_by VARCHAR(255) NOT NULL, created_date TIMESTAMP, deleted BOOLEAN NOT NULL, description VARCHAR(2048) NOT NULL, modified_by VARCHAR(255) NOT NULL, modified_date TIMESTAMP NOT NULL, version INTEGER, PRIMARY KEY (configurationDataId)) -CREATE TABLE PolicyDBDaoEntity (policyDBDaoUrl VARCHAR NOT NULL, created_date TIMESTAMP, description VARCHAR(2048) NOT NULL, modified_date TIMESTAMP NOT NULL, password VARCHAR, username VARCHAR, PRIMARY KEY (policyDBDaoUrl)) +CREATE TABLE PolicyDBDaoEntity (policyDBDaoUrl VARCHAR NOT NULL, created_date TIMESTAMP, description VARCHAR(2048) NOT NULL, modified_date TIMESTAMP NOT NULL, password LONGVARCHAR, username VARCHAR, PRIMARY KEY (policyDBDaoUrl)) CREATE TABLE GroupEntity (groupKey BIGINT NOT NULL, created_by VARCHAR(255) NOT NULL, created_date TIMESTAMP, defaultGroup BOOLEAN NOT NULL, deleted BOOLEAN NOT NULL, description VARCHAR(2048) NOT NULL, groupId VARCHAR NOT NULL, groupName VARCHAR(255) NOT NULL, modified_by VARCHAR(255) NOT NULL, modified_date TIMESTAMP NOT NULL, version INTEGER, PRIMARY KEY (groupKey)) CREATE TABLE PdpEntity (pdpKey BIGINT NOT NULL, created_by VARCHAR(255) NOT NULL, created_date TIMESTAMP, deleted BOOLEAN NOT NULL, description VARCHAR(2048) NOT NULL, jmxPort INTEGER NOT NULL, modified_by VARCHAR(255) NOT NULL, modified_date TIMESTAMP NOT NULL, pdpId VARCHAR(255) NOT NULL, pdpName VARCHAR(255) NOT NULL, groupKey BIGINT, PRIMARY KEY (pdpKey)) CREATE TABLE ActionBodyEntity (actionBodyId BIGINT NOT NULL, actionBody TEXT, actionBodyName VARCHAR(255) NOT NULL, created_by VARCHAR(255) NOT NULL, created_date TIMESTAMP, deleted BOOLEAN NOT NULL, modified_by VARCHAR(255) NOT NULL, modified_date TIMESTAMP NOT NULL, version INTEGER, PRIMARY KEY (actionBodyId)) diff --git a/ECOMP-PAP-REST/xacml.pap.properties b/ECOMP-PAP-REST/xacml.pap.properties index 4f8c5a2ba..0c6edc155 100644 --- a/ECOMP-PAP-REST/xacml.pap.properties +++ b/ECOMP-PAP-REST/xacml.pap.properties @@ -135,7 +135,7 @@ write_fpc_interval=5 site_name=site_1 #Node type. Can take values of: pdp-xacml, pdp-drools, pap, pap-admin, logparser, brms-gateway, -#astra-gateway, elk-server +#astra-gateway, elk-server node_type=pap #Dependency groups are groups of resources upon which a node operational state is dependent upon (dependency_groups). @@ -161,5 +161,5 @@ CLIENT_ID= CLIENT_KEY= #Micro Service Model Properties -xacml.policy.msEcompName=http://ecomp.com -xacml.policy.msPolicyName=http://ecomp.com/policy
\ No newline at end of file +xacml.policy.msEcompName=http://org.openecomp +xacml.policy.msPolicyName=http://org.openecomp/policy
\ No newline at end of file |