diff options
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.java | 22 |
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; } |