aboutsummaryrefslogtreecommitdiffstats
path: root/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/ApexParameterHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/ApexParameterHandler.java')
-rw-r--r--services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/ApexParameterHandler.java22
1 files changed, 16 insertions, 6 deletions
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/ApexParameterHandler.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/ApexParameterHandler.java
index 4312793e4..c1ef50bd7 100644
--- a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/ApexParameterHandler.java
+++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/ApexParameterHandler.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,9 +23,8 @@ package org.onap.policy.apex.service.parameters;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-
import java.io.FileReader;
-
+import lombok.Setter;
import org.onap.policy.apex.core.engine.EngineParameters;
import org.onap.policy.apex.service.engine.main.ApexCommandLineArguments;
import org.onap.policy.apex.service.parameters.carriertechnology.CarrierTechnologyParameters;
@@ -46,6 +46,9 @@ import org.slf4j.ext.XLoggerFactory;
public class ApexParameterHandler {
private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexParameterHandler.class);
+ @Setter
+ private boolean keepParameterServiceFlag;
+
/**
* Read the parameters from the parameter file.
*
@@ -54,8 +57,11 @@ public class ApexParameterHandler {
* @throws ParameterException on parameter exceptions
*/
public ApexParameters getParameters(final ApexCommandLineArguments arguments) throws ParameterException {
- // Clear all existing parameters
- ParameterService.clear();
+ // when populating parameters for multiple policies, do not clear the ParameterService already registered
+ // otherwise clear all existing parameters
+ if (!keepParameterServiceFlag) {
+ ParameterService.clear();
+ }
ApexParameters parameters = null;
@@ -112,8 +118,12 @@ public class ApexParameterHandler {
LOGGER.info(returnMessage);
}
- // Register the parameters with the parameter service
- registerParameters(parameters);
+ // engine parameters in multiple policies are expected to be same.
+ // no need to do registration if already registered
+ if (!keepParameterServiceFlag) {
+ // Register the parameters with the parameter service
+ registerParameters(parameters);
+ }
return parameters;
}