summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHOCKLA <ah999m@att.com>2019-03-25 12:38:25 -0500
committerHOCKLA <ah999m@att.com>2019-03-26 09:22:00 -0500
commitf2b8028cc05cce994c855a8574d4d89e5a27be62 (patch)
tree23e7ad6cd69ea79ffaad2de996928867aed3756a
parent97ce3b94390c10a1af43ed5614ca976095c0097d (diff)
Added changes to save original model file
When a user imports a model, save the original model file Issue-ID: POLICY-1423 Change-Id: Ic7ccf2cc91ce466d7aac644cf566e35577888217 Signed-off-by: HOCKLA <ah999m@att.com>
-rw-r--r--ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/CreateNewMicroServiceModel.java4
-rw-r--r--ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java9
-rw-r--r--ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PolicyEngineImportService.java22
-rw-r--r--ONAP-PDP-REST/xacml.pdp.properties5
-rw-r--r--packages/base/src/files/install/servers/pdp/bin/xacml.pdp.properties4
5 files changed, 38 insertions, 6 deletions
diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/CreateNewMicroServiceModel.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/CreateNewMicroServiceModel.java
index abb425131..86455aa30 100644
--- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/CreateNewMicroServiceModel.java
+++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/CreateNewMicroServiceModel.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP-PAP-REST
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* Modified Copyright (C) 2018 Samsung Electronics Co., Ltd.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -333,7 +333,7 @@ public class CreateNewMicroServiceModel {
Map<String, String> successMap = new HashMap<>();
CommonClassDaoImpl dbConnection = new CommonClassDaoImpl();
List<Object> result = dbConnection.getDataById(MicroServiceModels.class, "modelName:version", modelName+":"+version);
- if(result.isEmpty()){
+ if(result == null || result.isEmpty()){
MicroServiceModels model = new MicroServiceModels();
model.setModelName(modelName);
model.setVersion(version);
diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java
index fcf319c8e..c227d9d2a 100644
--- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java
+++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP-PDP-REST
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -276,6 +276,13 @@ public class XACMLPdpServlet extends HttpServlet implements Runnable {
PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "Failed to create IntegrityMonitor" + e);
throw new ServletException(e);
}
+
+ try {
+ System.setProperty("msToscaModel.home", properties.getProperty("msToscaModel.home"));
+ } catch (Exception e) {
+ logger.error("ERROR: Unable to set msToscaModel.home- Please check the configuration");
+ }
+
startThreads(baseLoggingContext, new Thread(this));
}
diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PolicyEngineImportService.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PolicyEngineImportService.java
index f7c1cc578..f8cba5123 100644
--- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PolicyEngineImportService.java
+++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PolicyEngineImportService.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP-PDP-REST
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,6 +20,7 @@
package org.onap.policy.pdp.rest.api.services;
import java.io.BufferedInputStream;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
@@ -77,6 +78,25 @@ public class PolicyEngineImportService {
importResponse = XACMLErrorConstants.ERROR_DATA_ISSUE + e;
status = HttpStatus.BAD_REQUEST;
}
+
+ // Save the imported file
+ if (!file.isEmpty() && status.equals(HttpStatus.OK) ) {
+ String filePath = null;
+ try {
+ String uploadsDir = System.getProperty("msToscaModel.home");
+ if(uploadsDir != null) {
+ if(! new File(uploadsDir).exists()){
+ new File(uploadsDir).mkdir();
+ }
+ String orgName = file.getOriginalFilename();
+ filePath = uploadsDir + orgName;
+ File dest = new File(filePath);
+ file.transferTo(dest);
+ }
+ }catch(Exception e){
+ LOGGER.error("Operation: policyEngineImport : " + e.getMessage() + ". " + filePath + " is not a valid file path.");
+ }
+ }
}
private void specialCheck() {
diff --git a/ONAP-PDP-REST/xacml.pdp.properties b/ONAP-PDP-REST/xacml.pdp.properties
index b6050ff58..90e0f5c3c 100644
--- a/ONAP-PDP-REST/xacml.pdp.properties
+++ b/ONAP-PDP-REST/xacml.pdp.properties
@@ -2,7 +2,7 @@
# ============LICENSE_START=======================================================
# ONAP-PDP-REST
# ================================================================================
-# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -192,6 +192,9 @@ aaf_oauth2_token_url=https://aaf-onap-test.osaaf.org:8095/AAF_NS.token:2.1/token
fs_url=https://aaf-onap-test.osaaf.org:8095/AAF_NS.fs.2.1
gui_url=https://aaf-onap-test.osaaf.org:8095/AAF_NS.gui.2.1
+#TOSCA MS model yaml file directory which can be changed based on systems.
+#msToscaModel.home=C://home//msyamlFiles//
+msToscaModel.home=/home/users/PolicyEngine/webapps/ConfigPAP/
# Decision Response settings.
# can be either PERMIT or DENY.
diff --git a/packages/base/src/files/install/servers/pdp/bin/xacml.pdp.properties b/packages/base/src/files/install/servers/pdp/bin/xacml.pdp.properties
index 315fb4d67..8835fe45d 100644
--- a/packages/base/src/files/install/servers/pdp/bin/xacml.pdp.properties
+++ b/packages/base/src/files/install/servers/pdp/bin/xacml.pdp.properties
@@ -2,7 +2,7 @@
# ============LICENSE_START=======================================================
# ONAP Policy Engine
# ================================================================================
-# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -164,3 +164,5 @@ gui_url=https://${{AAF_HOST}}:8095/AAF_NS.gui.2.1
# Decision Response settings.
# can be either PERMIT or DENY.
decision.indeterminate.response=${{DECISION_INDETERMINATE_RESPONSE}}
+
+msToscaModel.home=${{REST_PDP_WEBAPPS}} \ No newline at end of file