2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 package org.onap.policy.pap.xacml.rest.util;
23 import java.util.UUID;
25 import org.onap.policy.rest.XACMLRestProperties;
26 import org.springframework.stereotype.Component;
28 import com.att.research.xacml.util.XACMLProperties;
29 import com.google.common.base.Joiner;
32 public abstract class AbstractPolicyCreation {
34 public static String getDomain() {
35 return XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_DOMAIN, "urn");
38 public String newPolicyID() {
39 return Joiner.on(':').skipNulls().join((getDomain().startsWith("urn") ? null: "urn"),
40 getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
43 public String convertDate(String dateTTL) {
44 String formateDate = null;
45 if(dateTTL.contains("/")){
46 formateDate = dateTTL.replace("/", "-");
48 formateDate = dateTTL;
55 public void updatePolicyCreationToDatabase(){
56 // Add it into our tree
57 /* Path finalPolicyPath = null;
58 finalPolicyPath = Paths.get(successMap.get("success"));
59 PolicyElasticSearchController controller = new PolicyElasticSearchController();
60 controller.updateElk(finalPolicyPath.toString());
61 File file = finalPolicyPath.toFile();
63 String policyName = file.toString();
64 String removePath = policyName.substring(policyName.indexOf("repository")+11);
65 String removeXml = removePath.replace(".xml", "");
66 String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
67 List<Object> policyVersionList = commonClassDao.getDataById(PolicyVersion.class, "policyName", removeExtension);
68 if (policyVersionList.size() > 0) {
69 for(int i = 0; i < policyVersionList.size(); i++) {
70 PolicyVersion entityItem = (PolicyVersion) policyVersionList.get(i);
71 if(entityItem.getPolicyName().equals(removeExtension)){
72 version = entityItem.getHigherVersion() +1;
73 entityItem.setActiveVersion(version);
74 entityItem.setHigherVersion(version);
75 entityItem.setModifiedBy(userId);
76 commonClassDao.update(entityItem);
77 if(policyData.isEditPolicy){
78 PolicyNotificationMail email = new PolicyNotificationMail();
79 String mode = "EditPolicy";
80 String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
81 email.sendMail(entityItem, policyNameForEmail, mode, commonClassDao);
86 PolicyVersion entityItem = new PolicyVersion();
87 entityItem.setActiveVersion(version);
88 entityItem.setHigherVersion(version);
89 entityItem.setPolicyName(removeExtension);
90 entityItem.setCreatedBy(userId);
91 entityItem.setModifiedBy(userId);
92 commonClassDao.save(entityItem);