aboutsummaryrefslogtreecommitdiffstats
path: root/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/engineservice/EngineServiceParameters.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/engineservice/EngineServiceParameters.java')
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/engineservice/EngineServiceParameters.java37
1 files changed, 26 insertions, 11 deletions
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/engineservice/EngineServiceParameters.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/engineservice/EngineServiceParameters.java
index 7cd75a300..35c8237c6 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/engineservice/EngineServiceParameters.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/engineservice/EngineServiceParameters.java
@@ -21,7 +21,6 @@
package org.onap.policy.apex.service.parameters.engineservice;
import java.io.File;
-import java.net.URL;
import org.onap.policy.apex.core.engine.EngineParameters;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
@@ -30,7 +29,6 @@ import org.onap.policy.apex.service.parameters.ApexParameterConstants;
import org.onap.policy.common.parameters.GroupValidationResult;
import org.onap.policy.common.parameters.ParameterGroup;
import org.onap.policy.common.parameters.ValidationStatus;
-import org.onap.policy.common.utils.resources.ResourceUtils;
// @formatter:off
/**
@@ -218,7 +216,7 @@ public class EngineServiceParameters implements ParameterGroup {
* @return the file name of the policy engine for deployment on the engine service
*/
public String getPolicyModelFileName() {
- return ResourceUtils.getFilePath4Resource(policyModelFileName);
+ return policyModelFileName;
}
/**
@@ -344,15 +342,32 @@ public class EngineServiceParameters implements ParameterGroup {
return;
}
- // The file name can refer to a resource on the local file system or on the class
- // path
- final URL fileUrl = ResourceUtils.getUrl4Resource(policyModelFileName);
- if (fileUrl == null) {
- result.setResult(POLICY_MODEL_FILE_NAME, ValidationStatus.INVALID, "not found or is not a plain file");
+ String absolutePolicyFileName = null;
+
+ // Resolve the file name if it is a relative file name
+ File policyModelFile = new File(policyModelFileName);
+ if (policyModelFile.isAbsolute()) {
+ absolutePolicyFileName = policyModelFileName;
+ } else {
+ absolutePolicyFileName = System.getProperty("APEX_RELATIVE_FILE_ROOT") + File.separator
+ + policyModelFileName;
+ policyModelFile = new File(absolutePolicyFileName);
+ }
+
+ // Check that the file exists
+ if (!policyModelFile.exists()) {
+ result.setResult(POLICY_MODEL_FILE_NAME, ValidationStatus.INVALID, "not found");
+ }
+ // Check that the file is a regular file
+ else if (!policyModelFile.isFile()) {
+ result.setResult(POLICY_MODEL_FILE_NAME, ValidationStatus.INVALID, "is not a plain file");
} else {
- final File policyModelFile = new File(fileUrl.getPath());
- if (!policyModelFile.isFile()) {
- result.setResult(POLICY_MODEL_FILE_NAME, ValidationStatus.INVALID, "not found or is not a plain file");
+ // OK, we found the file and it's OK, so reset the file name
+ policyModelFileName = absolutePolicyFileName;
+
+ // Check that the file is readable
+ if (!policyModelFile.canRead()) {
+ result.setResult(POLICY_MODEL_FILE_NAME, ValidationStatus.INVALID, "is not readable");
}
}
}