<artifactId>policy-models-tosca</artifactId>
             <version>${policy.models.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 </project>
 
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 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.
 package org.onap.policy.distribution.main.parameters;
 
 import org.onap.policy.common.parameters.ParameterGroup;
+import org.onap.policy.common.parameters.ParameterGroupImpl;
 import org.onap.policy.distribution.forwarding.PolicyForwarder;
 
 /**
- * Base class of all {@link ParameterGroup} classes for configuration parameters for
- * {@link PolicyForwarder} classes.
+ * Base class of all {@link ParameterGroup} classes for configuration parameters for {@link PolicyForwarder} classes.
  */
-public abstract class PolicyForwarderConfigurationParameterGroup implements ParameterGroup {
+public abstract class PolicyForwarderConfigurationParameterGroup extends ParameterGroupImpl {
 
-    private String name;
+    public PolicyForwarderConfigurationParameterGroup(final String name) {
+        super(name);
+    }
 
     @Override
     public String getName() {
         return name;
     }
 
+    @Override
     public void setName(final String name) {
         this.name = name;
     }
 
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2018 Ericsson. All rights reserved.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property. 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.
 package org.onap.policy.distribution.main.parameters;
 
 import java.io.File;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
 import org.onap.policy.common.endpoints.parameters.RestServerParameters;
 import org.onap.policy.common.utils.coder.Coder;
 import org.onap.policy.common.utils.coder.CoderException;
 import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
 import org.onap.policy.distribution.main.testclasses.DummyPolicyDecoderParameterGroup;
 import org.onap.policy.distribution.main.testclasses.DummyPolicyForwarderParameterGroup;
-import org.onap.policy.distribution.main.testclasses.DummyPolicyForwarderParameterGroup.DummyPolicyForwarderParameterGroupBuilder;
 import org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup;
 import org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup.DummyReceptionHandlerParameterGroupBuilder;
 import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
      * @return the restServerParameters object
      */
     public RestServerParameters getRestServerParameters(final boolean isEmpty) {
-        String fileName = "src/test/resources/parameters/"
-                        + (isEmpty ? "RestServerParametersEmpty" : "RestServerParameters") + ".json";
+        final String fileName = "src/test/resources/parameters/"
+                + (isEmpty ? "RestServerParametersEmpty" : "RestServerParameters") + ".json";
         try {
-            String text = new String(Files.readAllBytes(new File(fileName).toPath()), StandardCharsets.UTF_8);
-            return coder.decode(text, RestServerParameters.class);
-        } catch (CoderException | IOException e) {
-            throw new RuntimeException("cannot read/decode " + fileName, e);
+            return coder.decode(new File(fileName), RestServerParameters.class);
+        } catch (final CoderException exp) {
+            throw new RuntimeException("cannot read/decode " + fileName, exp);
         }
     }
 
         final Map<String, PolicyForwarderConfigurationParameterGroup> policyForwarderConfigurationParameters =
                 new HashMap<String, PolicyForwarderConfigurationParameterGroup>();
         if (!isEmpty) {
-            final DummyPolicyForwarderParameterGroup dummyPolicyForwarderParameterGroup =
-                    new DummyPolicyForwarderParameterGroupBuilder().setUseHttps(true).setHostname(FORWARDER_HOST)
-                            .setPort(1234).setUserName("myUser").setPassword("myPassword").setIsManaged(true).build();
-            policyForwarderConfigurationParameters.put(FORWARDER_CONFIGURATION_PARAMETERS,
-                    dummyPolicyForwarderParameterGroup);
+            final String fileName = "src/test/resources/parameters/DummyPolicyForwarderParameters.json";
+            try {
+                policyForwarderConfigurationParameters.put(FORWARDER_CONFIGURATION_PARAMETERS,
+                        coder.decode(new File(fileName), DummyPolicyForwarderParameterGroup.class));
+            } catch (final CoderException exp) {
+                throw new RuntimeException("cannot read/decode " + fileName, exp);
+            }
         }
         return policyForwarderConfigurationParameters;
     }
 
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 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.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * 
+ *
  * SPDX-License-Identifier: Apache-2.0
  * ============LICENSE_END=========================================================
  */
 
 package org.onap.policy.distribution.main.testclasses;
 
-import org.onap.policy.common.parameters.GroupValidationResult;
+import lombok.Getter;
+
+import org.onap.policy.common.parameters.annotations.Min;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
 import org.onap.policy.distribution.main.parameters.PolicyForwarderConfigurationParameterGroup;
 
 /**
  * Dummy policy forwarder parameter group.
  */
+@Getter
+@NotNull
+@NotBlank
 public class DummyPolicyForwarderParameterGroup extends PolicyForwarderConfigurationParameterGroup {
 
     private boolean useHttps;
     private String hostname;
+    @Min(value = 1)
     private int port;
     private String userName;
     private String password;
     private boolean isManaged;
 
-    public boolean isUseHttps() {
-        return useHttps;
-    }
-
-    public String getHostname() {
-        return hostname;
-    }
-
-    public int getPort() {
-        return port;
-    }
-
-    public String getUserName() {
-        return userName;
+    public DummyPolicyForwarderParameterGroup() {
+        super(DummyPolicyForwarderParameterGroup.class.getSimpleName());
     }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public boolean isManaged() {
-        return isManaged;
-    }
-
-    /**
-     * Builder for DummyPolicyForwarderParameterGroup.
-     */
-    public static class DummyPolicyForwarderParameterGroupBuilder {
-        private boolean useHttps;
-        private String hostname;
-        private int port;
-        private String userName;
-        private String password;
-        private boolean isManaged;
-
-        public DummyPolicyForwarderParameterGroupBuilder setUseHttps(final boolean useHttps) {
-            this.useHttps = useHttps;
-            return this;
-        }
-
-        public DummyPolicyForwarderParameterGroupBuilder setHostname(final String hostname) {
-            this.hostname = hostname;
-            return this;
-        }
-
-        public DummyPolicyForwarderParameterGroupBuilder setPort(final int port) {
-            this.port = port;
-            return this;
-        }
-
-        public DummyPolicyForwarderParameterGroupBuilder setUserName(final String userName) {
-            this.userName = userName;
-            return this;
-        }
-
-        public DummyPolicyForwarderParameterGroupBuilder setPassword(final String password) {
-            this.password = password;
-            return this;
-        }
-
-        public DummyPolicyForwarderParameterGroupBuilder setIsManaged(final boolean isManaged) {
-            this.isManaged = isManaged;
-            return this;
-        }
-
-        /**
-         * Creates a new DummyPolicyForwarderParameterGroup instance.
-         */
-        public DummyPolicyForwarderParameterGroup build() {
-            return new DummyPolicyForwarderParameterGroup(this);
-        }
-    }
-
-    /**
-     * Construct an instance.
-     *
-     * @param builder the builder create the instance from
-     */
-    private DummyPolicyForwarderParameterGroup(final DummyPolicyForwarderParameterGroupBuilder builder) {
-        this.useHttps = builder.useHttps;
-        this.hostname = builder.hostname;
-        this.port = builder.port;
-        this.userName = builder.userName;
-        this.password = builder.password;
-        this.isManaged = builder.isManaged;
-    }
-
-    @Override
-    public GroupValidationResult validate() {
-        final GroupValidationResult validationResult = new GroupValidationResult(this);
-        return validationResult;
-    }
-
 }
 
--- /dev/null
+{
+    "useHttps": true,
+    "hostname": "192.168.99.100",
+    "port": 1234,
+    "userName": "myUser",
+    "password": "myPassword",
+    "isManaged": true
+}
\ No newline at end of file
 
+++ /dev/null
-/*-
- * ============LICENSE_START=======================================================
- *  Copyright (C) 2018 Ericsson. 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.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.distribution.forwarding.apex.pdp;
-
-/**
- * This builder holds all the parameters needed to build an instance of {@link ApexPdpPolicyForwarderParameterGroup}
- * class.
- *
- * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
- */
-public class ApexPdpPolicyForwarderParameterBuilder {
-
-    private String hostname;
-    private int port;
-    private boolean ignoreConflicts;
-    private boolean forceUpdate;
-
-    /**
-     * Set host name to this {@link ApexPdpPolicyForwarderParameterBuilder} instance.
-     *
-     * @param hostname the host name
-     */
-    public ApexPdpPolicyForwarderParameterBuilder setHostname(final String hostname) {
-        this.hostname = hostname;
-        return this;
-    }
-
-    /**
-     * Set port to this {@link ApexPdpPolicyForwarderParameterBuilder} instance.
-     *
-     * @param port the port number
-     */
-    public ApexPdpPolicyForwarderParameterBuilder setPort(final int port) {
-        this.port = port;
-        return this;
-    }
-
-    /**
-     * Set ignore conflicts flag to this {@link ApexPdpPolicyForwarderParameterBuilder} instance.
-     *
-     * @param ignoreConflicts the ignore conflicts flag
-     */
-    public ApexPdpPolicyForwarderParameterBuilder setIgnoreConflicts(final boolean ignoreConflicts) {
-        this.ignoreConflicts = ignoreConflicts;
-        return this;
-    }
-
-    /**
-     * Set force update flag to this {@link ApexPdpPolicyForwarderParameterBuilder} instance.
-     *
-     * @param forceUpdate the force update flag
-     */
-    public ApexPdpPolicyForwarderParameterBuilder setForceUpdate(final boolean forceUpdate) {
-        this.forceUpdate = forceUpdate;
-        return this;
-    }
-
-    /**
-     * Returns the host name of this {@link ApexPdpPolicyForwarderParameterBuilder} instance.
-     *
-     * @return the host name
-     */
-    public String getHostname() {
-        return hostname;
-    }
-
-    /**
-     * Returns the port of this {@link ApexPdpPolicyForwarderParameterBuilder} instance.
-     *
-     * @return the port
-     */
-    public int getPort() {
-        return port;
-    }
-
-    /**
-     * Returns the ignore conflicts flag of this {@link ApexPdpPolicyForwarderParameterBuilder} instance.
-     *
-     * @return the ignoreConflicts
-     */
-    public boolean isIgnoreConflicts() {
-        return ignoreConflicts;
-    }
-
-    /**
-     * Returns the force update flag of this {@link ApexPdpPolicyForwarderParameterBuilder} instance.
-     *
-     * @return the forceUpdate
-     */
-    public boolean isForceUpdate() {
-        return forceUpdate;
-    }
-}
 
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2018 Ericsson. All rights reserved.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property.
+ *  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.
 
 package org.onap.policy.distribution.forwarding.apex.pdp;
 
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ValidationStatus;
-import org.onap.policy.common.utils.validation.ParameterValidationUtils;
+import lombok.Getter;
+
+import org.onap.policy.common.parameters.annotations.Min;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
 import org.onap.policy.distribution.main.parameters.PolicyForwarderConfigurationParameterGroup;
 
 /**
  * Holds the parameters for the{@link ApexPdpPolicyForwarder}.
  */
+@Getter
+@NotNull
+@NotBlank
 public class ApexPdpPolicyForwarderParameterGroup extends PolicyForwarderConfigurationParameterGroup {
     public static final String POLICY_FORWARDER_PLUGIN_CLASS = ApexPdpPolicyForwarder.class.getName();
 
     private String hostname;
+    @Min(value = 1)
     private int port;
     private boolean ignoreConflicts;
     private boolean forceUpdate;
 
-    /**
-     * Constructor for instantiating {@link ApexPdpPolicyForwarderParameterGroup} class.
-     *
-     * @param builder the apex forwarder parameter builder
-     */
-    public ApexPdpPolicyForwarderParameterGroup(final ApexPdpPolicyForwarderParameterBuilder builder) {
-        this.hostname = builder.getHostname();
-        this.port = builder.getPort();
-        this.ignoreConflicts = builder.isIgnoreConflicts();
-        this.forceUpdate = builder.isForceUpdate();
-    }
-
-    public String getHostname() {
-        return hostname;
-    }
-
-    public int getPort() {
-        return port;
-    }
-
-    public boolean isIgnoreConflicts() {
-        return ignoreConflicts;
-    }
-
-    public boolean isForceUpdate() {
-        return forceUpdate;
-    }
-
-    @Override
-    public GroupValidationResult validate() {
-        final GroupValidationResult validationResult = new GroupValidationResult(this);
-        if (!ParameterValidationUtils.validateStringParameter(hostname)) {
-            validationResult.setResult("hostname", ValidationStatus.INVALID,
-                    "must be a non-blank string containing hostname/ipaddress");
-        }
-        if (!ParameterValidationUtils.validateIntParameter(port)) {
-            validationResult.setResult("port", ValidationStatus.INVALID, "must be a positive integer containing port");
-        }
-        return validationResult;
+    public ApexPdpPolicyForwarderParameterGroup() {
+        super(ApexPdpPolicyForwarderParameterGroup.class.getSimpleName());
     }
 }
 
+++ /dev/null
-/*-
- * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 Intel Corp. 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.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.distribution.forwarding.file;
-
-/**
- * This builder holds all the parameters needed to build an instance of {@link FilePolicyForwarderParameterGroup}
- * class.
- */
-public class FilePolicyForwarderParameterBuilder {
-
-    private String path;
-    private boolean verbose = false;
-
-    /**
-     * Set path to this {@link FilePolicyForwarderParameterBuilder} instance.
-     *
-     * @param path the directory to store the policies
-     */
-    public FilePolicyForwarderParameterBuilder setPath(final String path) {
-        this.path = path;
-        return this;
-    }
-
-
-    /**
-     * Set verbose flag to this {@link FilePolicyForwarderParameterBuilder} instance.
-     *
-     * @param verbose the verbose flag
-     */
-    public FilePolicyForwarderParameterBuilder setVerbose(final boolean verbose) {
-        this.verbose = verbose;
-        return this;
-    }
-
-    /**
-     * Returns the path of this {@link FilePolicyForwarderParameterBuilder} instance.
-     *
-     * @return the directory
-     */
-    public String getPath() {
-        return path;
-    }
-
-    /**
-     * Returns the verbose flag of this {@link FilePolicyForwarderParameterBuilder} instance.
-     *
-     * @return the verbose
-     */
-    public boolean isVerbose() {
-        return verbose;
-    }
-}
 
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2019 Intel Corp. All rights reserved.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property.
+ *  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.
 
 package org.onap.policy.distribution.forwarding.file;
 
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ValidationStatus;
-import org.onap.policy.common.utils.validation.ParameterValidationUtils;
+import lombok.Getter;
+import lombok.Setter;
+
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
 import org.onap.policy.distribution.main.parameters.PolicyForwarderConfigurationParameterGroup;
 
 /**
  * Holds the parameters for the{@link FilePolicyForwarder}.
  */
+@Getter
+@Setter
+@NotNull
+@NotBlank
 public class FilePolicyForwarderParameterGroup extends PolicyForwarderConfigurationParameterGroup {
     public static final String POLICY_FORWARDER_PLUGIN_CLASS = FilePolicyForwarder.class.getName();
 
     private String path;
     private boolean verbose;
 
-    /**
-     * Constructor for instantiating {@link FilePolicyForwarderParameterGroup} class.
-     *
-     * @param builder the apex forwarder parameter builder
-     */
-    public FilePolicyForwarderParameterGroup(final FilePolicyForwarderParameterBuilder builder) {
-        this.path = builder.getPath();
-        this.verbose = builder.isVerbose();
-    }
-
-    public String getPath() {
-        return path;
-    }
-
-    public boolean isVerbose() {
-        return verbose;
-    }
-
-    @Override
-    public GroupValidationResult validate() {
-        final GroupValidationResult validationResult = new GroupValidationResult(this);
-        if (!ParameterValidationUtils.validateStringParameter(path)) {
-            validationResult.setResult("path", ValidationStatus.INVALID,
-                    "must be a non-blank string containing path directory");
-        }
-        return validationResult;
+    public FilePolicyForwarderParameterGroup() {
+        super(FilePolicyForwarderParameterGroup.class.getSimpleName());
     }
 }
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  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.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.forwarding.lifecycle.api;
+
+import java.util.Collection;
+
+import org.onap.policy.common.parameters.ParameterService;
+import org.onap.policy.distribution.forwarding.PolicyForwarder;
+import org.onap.policy.distribution.forwarding.PolicyForwardingException;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
+
+/**
+ * This class provides an implementation of {@link PolicyForwarder} interface for forwarding the given policies & policy
+ * types to the life cycle api's of policy framework.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@est.tech)
+ */
+public class LifecycleApiPolicyForwarder implements PolicyForwarder {
+
+    private LifecycleApiPolicyForwarderParameterGroup forwarderParameters;
+
+    /**
+     * {@inheritDoc}.
+     */
+    @Override
+    public void configure(final String parameterGroupName) {
+        forwarderParameters = ParameterService.get(parameterGroupName);
+    }
+
+    /**
+     * {@inheritDoc}.
+     */
+    @Override
+    public void forward(final Collection<ToscaEntity> policies) throws PolicyForwardingException {
+        // TODO: add implementation
+    }
+
+}
+
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  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.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.forwarding.lifecycle.api;
+
+import lombok.Getter;
+
+import org.onap.policy.common.parameters.annotations.Min;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
+import org.onap.policy.distribution.main.parameters.PolicyForwarderConfigurationParameterGroup;
+
+/**
+ * Holds the parameters for the{@link LifecycleApiPolicyForwarder}.
+ */
+@Getter
+@NotNull
+@NotBlank
+public class LifecycleApiPolicyForwarderParameterGroup extends PolicyForwarderConfigurationParameterGroup {
+    public static final String POLICY_FORWARDER_PLUGIN_CLASS = LifecycleApiPolicyForwarder.class.getName();
+
+    private String policyApiHostName;
+    @Min(value = 1)
+    private int policyApiPort;
+    private String policyApiUserName;
+    private String policyApiPassword;
+    private String policyPapHostName;
+    @Min(value = 1)
+    private int policyPapPort;
+    private String policyPapUserName;
+    private String policyPapPassword;
+    private boolean isHttps;
+    private boolean deployPolicies = true;
+
+    public LifecycleApiPolicyForwarderParameterGroup() {
+        super(LifecycleApiPolicyForwarderParameterGroup.class.getSimpleName());
+    }
+}
 
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2018 Ericsson. All rights reserved.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property.
+ *  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.
 
 package org.onap.policy.distribution.forwarding.xacml.pdp;
 
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ValidationStatus;
-import org.onap.policy.common.utils.validation.ParameterValidationUtils;
+import lombok.Getter;
+
+import org.onap.policy.common.parameters.annotations.Min;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
 import org.onap.policy.distribution.main.parameters.PolicyForwarderConfigurationParameterGroup;
 
 /**
  * Holds the parameters for the{@link XacmlPdpPolicyForwarder}.
  */
+@Getter
+@NotNull
+@NotBlank
 public class XacmlPdpPolicyForwarderParameterGroup extends PolicyForwarderConfigurationParameterGroup {
     public static final String POLICY_FORWARDER_PLUGIN_CLASS = XacmlPdpPolicyForwarder.class.getName();
 
     private boolean useHttps;
     private String hostname;
+    @Min(value = 1)
     private int port;
     private String userName;
     private String password;
     private boolean isManaged;
     private String pdpGroup;
 
-    /**
-     * Construct an instance.
-     *
-     * @param builder the builder create the instance from
-     */
-    private XacmlPdpPolicyForwarderParameterGroup(final XacmlPdpPolicyForwarderParameterGroupBuilder builder) {
-        this.useHttps = builder.useHttps;
-        this.hostname = builder.hostname;
-        this.port = builder.port;
-        this.userName = builder.userName;
-        this.password = builder.password;
-        this.clientAuth = builder.clientAuth;
-        this.isManaged = builder.isManaged;
-        this.pdpGroup = builder.pdpGroup;
-    }
-
-    public boolean isUseHttps() {
-        return useHttps;
-    }
-
-    public String getHostname() {
-        return hostname;
-    }
-
-    public int getPort() {
-        return port;
-    }
-
-    public String getUserName() {
-        return userName;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public String getClientAuth() {
-        return clientAuth;
-    }
-
-    public boolean isManaged() {
-        return isManaged;
+    public XacmlPdpPolicyForwarderParameterGroup() {
+        super(XacmlPdpPolicyForwarderParameterGroup.class.getSimpleName());
     }
-
-    public String getPdpGroup() {
-        return pdpGroup;
-    }
-
-    /**
-     * Builder for XacmlPdpPolicyForwarderParameterGroup.
-     */
-    public static class XacmlPdpPolicyForwarderParameterGroupBuilder {
-        private boolean useHttps = false;
-        private String hostname;
-        private int port;
-        private String userName;
-        private String password;
-        private String clientAuth;
-        private boolean isManaged = true;
-        private String pdpGroup;
-
-        public XacmlPdpPolicyForwarderParameterGroupBuilder setUseHttps(final boolean useHttps) {
-            this.useHttps = useHttps;
-            return this;
-        }
-
-        public XacmlPdpPolicyForwarderParameterGroupBuilder setHostname(final String hostname) {
-            this.hostname = hostname;
-            return this;
-        }
-
-        public XacmlPdpPolicyForwarderParameterGroupBuilder setPort(final int port) {
-            this.port = port;
-            return this;
-        }
-
-        public XacmlPdpPolicyForwarderParameterGroupBuilder setUserName(final String userName) {
-            this.userName = userName;
-            return this;
-        }
-
-        public XacmlPdpPolicyForwarderParameterGroupBuilder setPassword(final String password) {
-            this.password = password;
-            return this;
-        }
-
-        public XacmlPdpPolicyForwarderParameterGroupBuilder setClientAuth(final String clientAuth) {
-            this.clientAuth = clientAuth;
-            return this;
-        }
-
-        public XacmlPdpPolicyForwarderParameterGroupBuilder setIsManaged(final boolean isManaged) {
-            this.isManaged = isManaged;
-            return this;
-        }
-
-        public XacmlPdpPolicyForwarderParameterGroupBuilder setPdpGroup(final String pdpGroup) {
-            this.pdpGroup = pdpGroup;
-            return this;
-        }
-
-        /**
-         * Creates a new XacmlPapServletPolicyForwarderParameterGroup instance.
-         */
-        public XacmlPdpPolicyForwarderParameterGroup build() {
-            return new XacmlPdpPolicyForwarderParameterGroup(this);
-        }
-    }
-
-    @Override
-    public GroupValidationResult validate() {
-        final GroupValidationResult validationResult = new GroupValidationResult(this);
-        if (!ParameterValidationUtils.validateStringParameter(hostname)) {
-            validationResult.setResult("hostname", ValidationStatus.INVALID,
-                    "must be a non-blank string containing hostname/ipaddress");
-        }
-        if (!ParameterValidationUtils.validateIntParameter(port)) {
-            validationResult.setResult("port", ValidationStatus.INVALID, "must be a positive integer containing port");
-        }
-        if (!ParameterValidationUtils.validateStringParameter(userName)) {
-            validationResult.setResult("userName", ValidationStatus.INVALID,
-                    "must be a non-blank string containing userName");
-        }
-        if (!ParameterValidationUtils.validateStringParameter(password)) {
-            validationResult.setResult("password", ValidationStatus.INVALID,
-                    "must be a non-blank string containing password");
-        }
-        if (!ParameterValidationUtils.validateStringParameter(clientAuth)) {
-            validationResult.setResult("clientAuth", ValidationStatus.INVALID,
-                    "must be a non-blank string containing clientAuth");
-        }
-        if (!ParameterValidationUtils.validateStringParameter(pdpGroup)) {
-            validationResult.setResult("pdpGroup", ValidationStatus.INVALID,
-                    "must be a non-blank string containing pdpGroup");
-        }
-        return validationResult;
-    }
-
 }
 
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 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.
 
 import org.junit.Test;
 import org.onap.policy.common.parameters.ValidationStatus;
+import org.onap.policy.distribution.forwarding.xacml.pdp.testclasses.CommonTestData;
 
 /**
  * Class to perform unit test of {@link ApexPdpPolicyForwarderParameterGroup}.
 public class ApexPdpPolicyForwarderParameterGroupTest {
 
     @Test
-    public void testBuilderAndGetters() {
-        final ApexPdpPolicyForwarderParameterBuilder builder = new ApexPdpPolicyForwarderParameterBuilder();
-        builder.setHostname("10.10.10.10").setPort(1234).setIgnoreConflicts(false).setForceUpdate(true);
-        final ApexPdpPolicyForwarderParameterGroup configurationParameters =
-                new ApexPdpPolicyForwarderParameterGroup(builder);
-        configurationParameters.setName("myConfiguration");
-
-        assertEquals("myConfiguration", configurationParameters.getName());
+    public void testValidParameters() {
+        final ApexPdpPolicyForwarderParameterGroup configurationParameters = CommonTestData
+                .getPolicyForwarderParameters("src/test/resources/parameters/ApexPdpPolicyForwarderParameters.json",
+                        ApexPdpPolicyForwarderParameterGroup.class);
+        assertEquals(ApexPdpPolicyForwarderParameterGroup.class.getSimpleName(), configurationParameters.getName());
         assertTrue(configurationParameters.isForceUpdate());
         assertEquals("10.10.10.10", configurationParameters.getHostname());
         assertEquals(1234, configurationParameters.getPort());
     }
 
     @Test
-    public void testInvalidHostName() {
-        final ApexPdpPolicyForwarderParameterBuilder builder = new ApexPdpPolicyForwarderParameterBuilder();
-        builder.setHostname("").setPort(1234).setIgnoreConflicts(false).setForceUpdate(true);
+    public void testInvalidParameters() {
         final ApexPdpPolicyForwarderParameterGroup configurationParameters =
-                new ApexPdpPolicyForwarderParameterGroup(builder);
-        configurationParameters.setName("myConfiguration");
+                CommonTestData.getPolicyForwarderParameters(
+                        "src/test/resources/parameters/ApexPdpPolicyForwarderParametersInvalid.json",
+                        ApexPdpPolicyForwarderParameterGroup.class);
 
         assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
     }
 
     @Test
-    public void testInvalidPort() {
-        final ApexPdpPolicyForwarderParameterBuilder builder = new ApexPdpPolicyForwarderParameterBuilder();
-        builder.setHostname("10.10.10.10").setPort(-1).setIgnoreConflicts(false).setForceUpdate(true);
+    public void testEmptyParameters() {
         final ApexPdpPolicyForwarderParameterGroup configurationParameters =
-                new ApexPdpPolicyForwarderParameterGroup(builder);
-        configurationParameters.setName("myConfiguration");
+                CommonTestData.getPolicyForwarderParameters("src/test/resources/parameters/EmptyParameters.json",
+                        ApexPdpPolicyForwarderParameterGroup.class);
 
         assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
     }
 
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 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.
 import org.onap.policy.common.parameters.ParameterGroup;
 import org.onap.policy.common.parameters.ParameterService;
 import org.onap.policy.distribution.forwarding.PolicyForwardingException;
+import org.onap.policy.distribution.forwarding.xacml.pdp.testclasses.CommonTestData;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ApexPdpPolicyForwarderTest {
 
-    private static final String HOST_NAME = "10.10.10.10";
-    private static final int PORT = 1234;
     private static final boolean IGNORE_CONFLICTS = false;
     private static final boolean FORCE_UPDATE = true;
     private static final String GROUP_NAME = "apexPdpConfiguration";
      */
     @BeforeClass
     public static void setUp() {
-        final ApexPdpPolicyForwarderParameterBuilder builder = new ApexPdpPolicyForwarderParameterBuilder();
-        builder.setHostname(HOST_NAME).setPort(PORT).setIgnoreConflicts(IGNORE_CONFLICTS).setForceUpdate(FORCE_UPDATE);
-        final ParameterGroup parameterGroup = new ApexPdpPolicyForwarderParameterGroup(builder);
+        final ParameterGroup parameterGroup = CommonTestData.getPolicyForwarderParameters(
+                "src/test/resources/parameters/ApexPdpPolicyForwarderParameters.json",
+                ApexPdpPolicyForwarderParameterGroup.class);
+
         parameterGroup.setName(GROUP_NAME);
         ParameterService.register(parameterGroup);
     }
 
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2019 Intel Corp. All rights reserved.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property.
+ *  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.
 
     @Test
     public void testBuilderAndGetters() {
-        final FilePolicyForwarderParameterBuilder builder = new FilePolicyForwarderParameterBuilder();
-        builder.setPath("/tmp").setVerbose(true);
-        final FilePolicyForwarderParameterGroup configurationParameters =
-                new FilePolicyForwarderParameterGroup(builder);
+        final FilePolicyForwarderParameterGroup configurationParameters = new FilePolicyForwarderParameterGroup();
+        configurationParameters.setPath("/tmp");
+        configurationParameters.setVerbose(true);
         configurationParameters.setName("myConfiguration");
 
         assertEquals("myConfiguration", configurationParameters.getName());
 
     @Test
     public void testInvalidPath() {
-        final FilePolicyForwarderParameterBuilder builder = new FilePolicyForwarderParameterBuilder();
-        builder.setPath("").setVerbose(false);
-        final FilePolicyForwarderParameterGroup configurationParameters =
-                new FilePolicyForwarderParameterGroup(builder);
+        final FilePolicyForwarderParameterGroup configurationParameters = new FilePolicyForwarderParameterGroup();
+        configurationParameters.setPath("");
+        configurationParameters.setVerbose(false);
         configurationParameters.setName("myConfiguration");
 
         assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
 
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2019 Intel Corp. All rights reserved.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property.
+ *  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.
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
 import org.mockito.runners.MockitoJUnitRunner;
-import org.onap.policy.common.parameters.ParameterGroup;
 import org.onap.policy.common.parameters.ParameterService;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
      */
     @BeforeClass
     public static void setUp() {
-        final FilePolicyForwarderParameterBuilder builder = new FilePolicyForwarderParameterBuilder();
-        builder.setPath(tempFolder.getRoot().getAbsolutePath().toString()).setVerbose(VERBOSE);
-        final ParameterGroup parameterGroup = new FilePolicyForwarderParameterGroup(builder);
-        parameterGroup.setName(GROUP_NAME);
-        ParameterService.register(parameterGroup);
+        final FilePolicyForwarderParameterGroup configurationParameters = new FilePolicyForwarderParameterGroup();
+        configurationParameters.setPath(tempFolder.getRoot().getAbsolutePath().toString());
+        configurationParameters.setVerbose(VERBOSE);
+        configurationParameters.setName(GROUP_NAME);
+        ParameterService.register(configurationParameters);
     }
 
     /**
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  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.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.forwarding.lifecycle.api;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.onap.policy.common.parameters.ValidationStatus;
+import org.onap.policy.distribution.forwarding.xacml.pdp.testclasses.CommonTestData;
+
+/**
+ * Class to perform unit test of {@link LifecycleApiPolicyForwarderParameterGroup}.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@est.tech)
+ */
+public class LifecycleApiPolicyForwarderParameterGroupTest {
+
+    private static final String POLICY_API_HOST_NAME = "10.10.10.10";
+    private static final int POLICY_API_PORT = 1234;
+    private static final String POLICY_API_USER = "api_user";
+    private static final String POLICY_API_PASSWORD = "api_password";
+    private static final String POLICY_PAP_HOST_NAME = "20.20.20.20";
+    private static final int POLICY_PAP_PORT = 4321;
+    private static final String POLICY_PAP_USER = "pap_user";
+    private static final String POLICY_PAP_PASSWORD = "pap_password";
+
+
+    @Test
+    public void testValidParameters() {
+        final LifecycleApiPolicyForwarderParameterGroup configurationParameters =
+                CommonTestData.getPolicyForwarderParameters(
+                        "src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json",
+                        LifecycleApiPolicyForwarderParameterGroup.class);
+
+        assertEquals(LifecycleApiPolicyForwarderParameterGroup.class.getSimpleName(),
+                configurationParameters.getName());
+        assertTrue(configurationParameters.isHttps());
+        assertTrue(configurationParameters.isDeployPolicies());
+        assertEquals(POLICY_API_HOST_NAME, configurationParameters.getPolicyApiHostName());
+        assertEquals(POLICY_API_PORT, configurationParameters.getPolicyApiPort());
+        assertEquals(POLICY_API_USER, configurationParameters.getPolicyApiUserName());
+        assertEquals(POLICY_API_PASSWORD, configurationParameters.getPolicyApiPassword());
+        assertEquals(POLICY_PAP_HOST_NAME, configurationParameters.getPolicyPapHostName());
+        assertEquals(POLICY_PAP_PORT, configurationParameters.getPolicyPapPort());
+        assertEquals(POLICY_PAP_USER, configurationParameters.getPolicyPapUserName());
+        assertEquals(POLICY_PAP_PASSWORD, configurationParameters.getPolicyPapPassword());
+
+        assertEquals(ValidationStatus.CLEAN, configurationParameters.validate().getStatus());
+    }
+
+    @Test
+    public void testInvalidParameters() {
+        final LifecycleApiPolicyForwarderParameterGroup configurationParameters =
+                CommonTestData.getPolicyForwarderParameters(
+                        "src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json",
+                        LifecycleApiPolicyForwarderParameterGroup.class);
+
+        assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
+    }
+
+    @Test
+    public void testEmptyParameters() {
+        final LifecycleApiPolicyForwarderParameterGroup configurationParameters =
+                CommonTestData.getPolicyForwarderParameters("src/test/resources/parameters/EmptyParameters.json",
+                        LifecycleApiPolicyForwarderParameterGroup.class);
+
+        assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
+    }
+}
 
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 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.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * 
+ *
  * SPDX-License-Identifier: Apache-2.0
  * ============LICENSE_END=========================================================
  */
 import org.junit.Test;
 import org.onap.policy.common.parameters.ValidationStatus;
 import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarderParameterGroup;
-import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarderParameterGroup.XacmlPdpPolicyForwarderParameterGroupBuilder;
+import org.onap.policy.distribution.forwarding.xacml.pdp.testclasses.CommonTestData;
 
 public class XacmlPdpPolicyForwarderParameterGroupTest {
 
+    private static final String CLIENT_AUTH = "myClientAuth";
+    private static final String PASSWORD = "myPassword";
+    private static final String USER = "myUser";
+    private static final int PORT = 1234;
+    private static final String HOST_NAME = "10.10.10.10";
+
     @Test
-    public void testBuilderAndGetters() {
-        XacmlPdpPolicyForwarderParameterGroupBuilder builder =
-                new XacmlPdpPolicyForwarderParameterGroupBuilder();
-        XacmlPdpPolicyForwarderParameterGroup configurationParameters =
-                builder.setUseHttps(true).setHostname("10.10.10.10").setPort(1234).setUserName("myUser")
-                        .setPassword("myPassword").setClientAuth("myClientAuth").setIsManaged(false).build();
+    public void testValidParameters() {
+        final XacmlPdpPolicyForwarderParameterGroup configurationParameters = CommonTestData
+                .getPolicyForwarderParameters("src/test/resources/parameters/XacmlPdpPolicyForwarderParameters.json",
+                        XacmlPdpPolicyForwarderParameterGroup.class);
 
         assertTrue(configurationParameters.isUseHttps());
-        assertEquals("10.10.10.10", configurationParameters.getHostname());
-        assertEquals(1234, configurationParameters.getPort());
-        assertEquals("myUser", configurationParameters.getUserName());
-        assertEquals("myPassword", configurationParameters.getPassword());
-        assertEquals("myClientAuth", configurationParameters.getClientAuth());
+        assertEquals(HOST_NAME, configurationParameters.getHostname());
+        assertEquals(PORT, configurationParameters.getPort());
+        assertEquals(USER, configurationParameters.getUserName());
+        assertEquals(PASSWORD, configurationParameters.getPassword());
+        assertEquals(CLIENT_AUTH, configurationParameters.getClientAuth());
         assertFalse(configurationParameters.isManaged());
     }
 
     @Test
-    public void testInvalidHostName() {
-        XacmlPdpPolicyForwarderParameterGroupBuilder builder =
-                new XacmlPdpPolicyForwarderParameterGroupBuilder();
-        XacmlPdpPolicyForwarderParameterGroup configurationParameters = builder.setUseHttps(true).setHostname("")
-                .setPort(1234).setUserName("myUser").setPassword("myPassword").setIsManaged(false).build();
-        configurationParameters.setName("myConfiguration");
-
-        assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
-    }
-
-    @Test
-    public void testInvalidPort() {
-        XacmlPdpPolicyForwarderParameterGroupBuilder builder =
-                new XacmlPdpPolicyForwarderParameterGroupBuilder();
-        XacmlPdpPolicyForwarderParameterGroup configurationParameters =
-                builder.setUseHttps(true).setHostname("10.10.10.10").setPort(-1234).setUserName("myUser")
-                        .setPassword("myPassword").setIsManaged(false).build();
-        configurationParameters.setName("myConfiguration");
+    public void testInvalidParameters() {
+        final XacmlPdpPolicyForwarderParameterGroup configurationParameters =
+                CommonTestData.getPolicyForwarderParameters(
+                        "src/test/resources/parameters/XacmlPdpPolicyForwarderParametersInvalid.json",
+                        XacmlPdpPolicyForwarderParameterGroup.class);
 
         assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
     }
 
     @Test
-    public void testInvalidUserName() {
-        XacmlPdpPolicyForwarderParameterGroupBuilder builder =
-                new XacmlPdpPolicyForwarderParameterGroupBuilder();
-        XacmlPdpPolicyForwarderParameterGroup configurationParameters =
-                builder.setUseHttps(true).setHostname("10.10.10.10").setPort(1234).setUserName("")
-                        .setPassword("myPassword").setIsManaged(false).build();
-        configurationParameters.setName("myConfiguration");
+    public void testEmptyParameters() {
+        final XacmlPdpPolicyForwarderParameterGroup configurationParameters =
+                CommonTestData.getPolicyForwarderParameters("src/test/resources/parameters/EmptyParameters.json",
+                        XacmlPdpPolicyForwarderParameterGroup.class);
 
         assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
     }
-
-    @Test
-    public void testInvalidPassword() {
-        XacmlPdpPolicyForwarderParameterGroupBuilder builder =
-                new XacmlPdpPolicyForwarderParameterGroupBuilder();
-        XacmlPdpPolicyForwarderParameterGroup configurationParameters =
-                builder.setUseHttps(true).setHostname("10.10.10.10").setPort(1234).setUserName("myUser").setPassword("")
-                        .setIsManaged(false).build();
-        configurationParameters.setName("myConfiguration");
-
-        assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
-    }
-
 }
 
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2018 Ericsson. All rights reserved.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property. 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.
 import org.onap.policy.common.parameters.ParameterGroup;
 import org.onap.policy.common.parameters.ParameterService;
 import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarder;
-import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarderParameterGroup.XacmlPdpPolicyForwarderParameterGroupBuilder;
+import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarderParameterGroup;
+import org.onap.policy.distribution.forwarding.xacml.pdp.testclasses.CommonTestData;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
 
 public class XacmlPdpPolicyForwarderTest {
 
-    private static final BusTopicParams BUS_TOPIC_PARAMS = BusTopicParams.builder().useHttps(false).hostname("myHost")
-            .port(1234).userName("myUser").password("myPassword").managed(true).build();
+    private static final BusTopicParams BUS_TOPIC_PARAMS = BusTopicParams.builder().useHttps(true)
+            .hostname("10.10.10.10").port(1234).userName("myUser").password("myPassword").managed(false).build();
     private static final String CLIENT_AUTH = "ClientAuth";
     private static final String CLIENT_AUTH_VALUE = "myClientAuth";
     private static final String PDP_GROUP_VALUE = "myPdpGroup";
      */
     @BeforeClass
     public static void setUp() {
-        final ParameterGroup parameterGroup = new XacmlPdpPolicyForwarderParameterGroupBuilder()
-                .setUseHttps(BUS_TOPIC_PARAMS.isUseHttps()).setHostname(BUS_TOPIC_PARAMS.getHostname())
-                .setPort(BUS_TOPIC_PARAMS.getPort()).setUserName(BUS_TOPIC_PARAMS.getUserName())
-                .setPassword(BUS_TOPIC_PARAMS.getPassword()).setClientAuth(CLIENT_AUTH_VALUE)
-                .setIsManaged(BUS_TOPIC_PARAMS.isManaged()).setPdpGroup(PDP_GROUP_VALUE).build();
+        final ParameterGroup parameterGroup = CommonTestData.getPolicyForwarderParameters(
+                "src/test/resources/parameters/XacmlPdpPolicyForwarderParameters.json",
+                XacmlPdpPolicyForwarderParameterGroup.class);
         parameterGroup.setName("xacmlPdpConfiguration");
         ParameterService.register(parameterGroup);
     }
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  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.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.forwarding.xacml.pdp.testclasses;
+
+import java.io.File;
+
+import org.onap.policy.common.utils.coder.Coder;
+import org.onap.policy.common.utils.coder.CoderException;
+import org.onap.policy.common.utils.coder.StandardCoder;
+
+/**
+ * Class to create parameters for test cases.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@est.tech)
+ */
+public class CommonTestData {
+
+    public static final Coder coder = new StandardCoder();
+
+    /**
+     * Returns PolicyForwarderParameters for test cases.
+     *
+     * @param fileName the file name to load the parameters
+     * @param clazz the parameter class to be returned
+     * @return the specific PolicyForwarderParameters object
+     */
+    public static <T> T getPolicyForwarderParameters(final String fileName, final Class<T> clazz) {
+        final StandardCoder coder = new StandardCoder();
+        try {
+            return coder.decode(new File(fileName), clazz);
+        } catch (final CoderException exp) {
+            throw new RuntimeException("cannot read/decode " + fileName, exp);
+        }
+    }
+}
 
--- /dev/null
+{
+    "hostname":"10.10.10.10",
+    "port":"1234",
+    "ignoreConflicts": false,
+    "forceUpdate": true
+}
\ No newline at end of file
 
--- /dev/null
+{
+    "hostname":"",
+    "port":"-1",
+    "ignoreConflicts": false,
+    "forceUpdate": true
+}
 
--- /dev/null
+{
+}
\ No newline at end of file
 
--- /dev/null
+{
+    "policyApiHostName": "10.10.10.10",
+    "policyApiPort": 1234,
+    "policyApiUserName": "api_user",
+    "policyApiPassword": "api_password",
+    "policyPapHostName": "20.20.20.20",
+    "policyPapPort": "4321",
+    "policyPapUserName": "pap_user",
+    "policyPapPassword": "pap_password",
+    "isHttps": true,
+    "deployPolicies": true
+}
\ No newline at end of file
 
--- /dev/null
+{
+    "policyApiHostName": "",
+    "policyApiPort": -1,
+    "policyApiUserName": "api_user",
+    "policyApiPassword": "api_password",
+    "policyPapHostName": "",
+    "policyPapPort": "-2",
+    "policyPapUserName": "pap_user",
+    "policyPapPassword": "pap_password",
+    "isHttps": true,
+    "deployPolicies": true
+}
\ No newline at end of file
 
--- /dev/null
+{
+    "useHttps": true,
+    "hostname": "10.10.10.10",
+    "port": 1234,
+    "userName": "myUser",
+    "password": "myPassword",
+    "clientAuth": "myClientAuth",
+    "isManaged": false,
+    "pdpGroup": "myPdpGroup"
+}
\ No newline at end of file
 
--- /dev/null
+{
+    "useHttps": true,
+    "hostname": "",
+    "port": -2,
+    "userName": "",
+    "password": "",
+    "clientAuth": "myClientAuth",
+    "isManaged": false,
+    "pdpGroup": "default"
+}
\ No newline at end of file