- public String getResult(boolean updateFlag) throws PolicyException {
- String response = null;
- String operation = null;
- if (updateFlag){
- operation = "update";
- } else {
- operation = "create";
- }
- //set values for basic policy information
- if(!firewallJson.containsKey("configName")){
- message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No configName given in firwall JSON.";
- LOGGER.error(message);
- return message;
- }
- String configName = firewallJson.get("configName").toString();
- String configDescription = "";
- String json = firewallJson.toString();
- // Create Policy.
- StdPAPPolicy newPAPPolicy = new StdPAPPolicy("Firewall Config", policyName, configDescription, configName, updateFlag, policyScope, json, 0,
- policyParameters.getRiskLevel(),policyParameters.getRiskType(), String.valueOf(policyParameters.getGuard()), date);
- // Send Json to PAP.
- response = (String) papServices.callPAP(newPAPPolicy, new String[] {"operation="+operation, "apiflag=api", "policyType=Config"}, policyParameters.getRequestID(), "ConfigFirewall");
- LOGGER.info(response);
- return response;
- }
+ public Boolean getValidation() {
+ if (policyParameters.getConfigBody() == null) {
+ message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No Config Body given.";
+ return false;
+ }
+ try {
+ firewallJson = PolicyApiUtils.stringToJsonObject(policyParameters.getConfigBody());
+ } catch (JsonException | IllegalStateException e) {
+ message =
+ XACMLErrorConstants.ERROR_DATA_ISSUE + " improper JSON object : " +
+ policyParameters.getConfigBody();
+ LOGGER.error("Error while parsing JSON body for creating Firewall Policy ", e);
+ return false;
+ }
+ if (firewallJson == null || firewallJson.isEmpty()) {
+ message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No Config-Body given.";
+ return false;
+ }
+ boolean levelCheck = false;
+ levelCheck = PolicyApiUtils.isNumeric(policyParameters.getRiskLevel());
+ if (!levelCheck) {
+ message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Incorrect Risk Level given.";
+ return false;
+ }
+ return true;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public String getResult(boolean updateFlag) throws PolicyException {
+ String response = null;
+ String operation = null;
+ if (updateFlag) {
+ operation = "update";
+ } else {
+ operation = "create";
+ }
+ //set values for basic policy information
+ if (!firewallJson.containsKey("configName")) {
+ message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No configName given in firwall JSON.";
+ LOGGER.error(message);
+ return message;
+ }
+ String configName = firewallJson.get("configName").toString();
+ String configDescription = "";
+ String json = firewallJson.toString();
+ // Create Policy.
+ StdPAPPolicy newPAPPolicy = new StdPAPPolicy("Firewall Config", policyName, configDescription, configName,
+ updateFlag, policyScope, json, 0,
+ policyParameters.getRiskLevel(), policyParameters.getRiskType(),
+ String.valueOf(policyParameters.getGuard()), date);
+ // Send Json to PAP.
+ response = (String) papServices.callPAP(newPAPPolicy, new String[]{"operation=" + operation, "apiflag=api",
+ "policyType=Config"}, policyParameters.getRequestID(), "ConfigFirewall");
+ LOGGER.info(response);
+ return response;
+ }