* Fixing all check style issues.
* Fixing all sonar issues.
* Adding maven check style plugin to fail at warning level.
Change-Id: I791b8feef39a3a0c3e1e250efea7b6e78208bf07
Issue-ID: POLICY-1035
Signed-off-by: ramverma <ram.krishna.verma@ericsson.com>
         <dependency>
             <groupId>org.onap.policy.common</groupId>
             <artifactId>common-parameters</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
+            <version>${policy.common.version}</version>
         </dependency>
         <dependency>
             <groupId>org.onap.policy.common</groupId>
             <artifactId>ONAP-Logging</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
+            <version>${policy.common.version}</version>
         </dependency>
     </dependencies>
 </project>
 
         return forwarderClassName;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public String getName() {
         return null;
     }
 
     /**
-     * Validate the policy forwarder parameters.
-     *
+     * {@inheritDoc}
      */
     @Override
     public GroupValidationResult validate() {
         try {
             Class.forName(forwarderClassName);
         } catch (final ClassNotFoundException exp) {
-            LOGGER.error("policy forwarder class not found in classpath", exp);
+            LOGGER.trace("policy forwarder class not found in classpath", exp);
             validationResult.setResult("forwarderClassName", ValidationStatus.INVALID,
                     "policy forwarder class not found in classpath");
         }
 
  * 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;
 
 import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 
 public class PolicyDecodingExceptionTest {
 
     @Test
     public void testPolicyDecodingExceptionString() {
-        PolicyForwardingException policyDecodingException = new PolicyForwardingException("error message");
+        final PolicyForwardingException policyDecodingException = new PolicyForwardingException("error message");
         assertEquals("error message", policyDecodingException.getMessage());
     }
 
     @Test
     public void testPolicyDecodingExceptionStringThrowable() {
-        Exception cause = new IllegalArgumentException();
-        PolicyForwardingException policyDecodingException = new PolicyForwardingException("error message", cause);
+        final Exception cause = new IllegalArgumentException();
+        final PolicyForwardingException policyDecodingException = new PolicyForwardingException("error message", cause);
         assertEquals("error message", policyDecodingException.getMessage());
         assertEquals(cause, policyDecodingException.getCause());
     }
 
             <artifactId>forwarding-plugins</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.onap.policy.common</groupId>
-            <artifactId>utils</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.policy.common</groupId>
-            <artifactId>common-parameters</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
-        </dependency>
         <dependency>
             <groupId>org.onap.policy.common</groupId>
             <artifactId>capabilities</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
+            <version>${policy.common.version}</version>
         </dependency>
         <dependency>
             <groupId>org.onap.policy.common</groupId>
             <artifactId>policy-endpoints</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
+            <version>${policy.common.version}</version>
         </dependency>
         <dependency>
             <groupId>commons-cli</groupId>
 
  * 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=========================================================
  */
      * Instantiates a new policy distribution exception with a message and a caused by exception.
      *
      * @param message the message
-     * @param e the exception that caused this exception to be thrown
+     * @param exp the exception that caused this exception to be thrown
      */
-    public PolicyDistributionException(final String message, final Exception e) {
-        super(message, e);
+    public PolicyDistributionException(final String message, final Exception exp) {
+        super(message, exp);
     }
 }
 
  * 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=========================================================
  */
      * Instantiates a new policy distribution runtime exception with a message and a caused by exception.
      *
      * @param message the message
-     * @param e the exception that caused this exception to be thrown
+     * @param exp the exception that caused this exception to be thrown
      */
-    public PolicyDistributionRuntimeException(final String message, final Exception e) {
-        super(message, e);
+    public PolicyDistributionRuntimeException(final String message, final Exception exp) {
+        super(message, exp);
     }
 }
 
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.policy.common.parameters.ParameterService;
-import org.onap.policy.distribution.forwarding.PolicyForwardingException;
 import org.onap.policy.distribution.main.PolicyDistributionException;
 import org.onap.policy.distribution.main.parameters.DistributionParameterGroup;
 import org.onap.policy.distribution.main.rest.DistributionRestServer;
-import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
+import org.onap.policy.distribution.reception.decoding.PluginInitializationException;
 import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
 import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
 
                 final AbstractReceptionHandler receptionHandler = receptionHandlerClass.newInstance();
                 receptionHandler.initialize(receptionHandlerParameters.getName());
                 receptionHandlersMap.put(receptionHandlerParameters.getName(), receptionHandler);
-                alive = true;
+                DistributionActivator.setAlive(true);
             } catch (final ClassNotFoundException | InstantiationException | IllegalAccessException
-                    | PolicyDecodingException | PolicyForwardingException exp) {
+                    | PluginInitializationException exp) {
                 throw new PolicyDistributionException(exp.getMessage(), exp);
             }
         }
             }
             receptionHandlersMap.clear();
             deregisterToParameterService(distributionParameterGroup);
-            alive = false;
+            DistributionActivator.setAlive(true);
 
             // Stop the distribution rest server
             restServer.stop();
         for (final ReceptionHandlerParameters params : distributionParameterGroup.getReceptionHandlerParameters()
                 .values()) {
             params.setName(distributionParameterGroup.getName());
-            params.getPSSDConfigurationParametersGroup().setName(distributionParameterGroup.getName());
+            params.getPssdConfigurationParametersGroup().setName(distributionParameterGroup.getName());
             params.getPluginHandlerParameters().setName(distributionParameterGroup.getName());
             ParameterService.register(params);
-            ParameterService.register(params.getPSSDConfigurationParametersGroup());
+            ParameterService.register(params.getPssdConfigurationParametersGroup());
             ParameterService.register(params.getPluginHandlerParameters());
         }
     }
         for (final ReceptionHandlerParameters params : distributionParameterGroup.getReceptionHandlerParameters()
                 .values()) {
             ParameterService.deregister((params.getName()));
-            ParameterService.deregister((params.getPSSDConfigurationParametersGroup().getName()));
+            ParameterService.deregister((params.getPssdConfigurationParametersGroup().getName()));
             ParameterService.deregister((params.getPluginHandlerParameters().getName()));
         }
     }
     public static boolean isAlive() {
         return alive;
     }
+
+    /**
+     * Change the alive status of distribution service.
+     *
+     * @param status the status
+     */
+    public static void setAlive(final boolean status) {
+        alive = status;
+    }
 }
 
  * 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=========================================================
  */
                 .build());
         options.addOption(Option.builder("c")
                 .longOpt("config-file")
-                .desc("the full path to the configuration file to use, the configuration file must be a Json file containing the policy distribution parameters")
+                .desc("the full path to the configuration file to use, "
+                        + "the configuration file must be a Json file containing the policy distribution parameters")
                 .hasArg()
                 .argName("CONFIG_FILE")
                 .required(false)
         final String[] remainingArgs = commandLine.getArgs();
 
         if (remainingArgs.length > 0 && commandLine.hasOption('c') || remainingArgs.length > 0) {
-            throw new PolicyDistributionException("too many command line arguments specified : " + Arrays.toString(args));
+            throw new PolicyDistributionException(
+                    "too many command line arguments specified : " + Arrays.toString(args));
         }
 
         if (remainingArgs.length == 1) {
 
     /**
      * Print version information for policy distribution.
-     * 
+     *
      * @return the version string
      */
     public String version() {
     public String help(final String mainClassName) {
         final HelpFormatter helpFormatter = new HelpFormatter();
         final StringWriter stringWriter = new StringWriter();
-        final PrintWriter stringPW = new PrintWriter(stringWriter);
+        final PrintWriter printWriter = new PrintWriter(stringWriter);
 
-        helpFormatter.printHelp(stringPW, HELP_LINE_LENGTH, mainClassName + " [options...]", "options", options, 0, 0,
-                "");
+        helpFormatter.printHelp(printWriter, HELP_LINE_LENGTH, mainClassName + " [options...]", "options", options, 0,
+                0, "");
 
         return stringWriter.toString();
     }
         }
 
         // The file name refers to a resource on the local file system
-        final URL fileURL = ResourceUtils.getUrl4Resource(fileName);
-        if (fileURL == null) {
+        final URL fileUrl = ResourceUtils.getUrl4Resource(fileName);
+        if (fileUrl == null) {
             throw new PolicyDistributionException(fileTag + FILE_MESSAGE_PREAMBLE + fileName + "\" does not exist");
         }
 
-        final File theFile = new File(fileURL.getPath());
+        final File theFile = new File(fileUrl.getPath());
         if (!theFile.exists()) {
             throw new PolicyDistributionException(fileTag + FILE_MESSAGE_PREAMBLE + fileName + "\" does not exist");
         }
         if (!theFile.isFile()) {
-            throw new PolicyDistributionException(fileTag + FILE_MESSAGE_PREAMBLE + fileName + "\" is not a normal file");
+            throw new PolicyDistributionException(
+                    fileTag + FILE_MESSAGE_PREAMBLE + fileName + "\" is not a normal file");
         }
         if (!theFile.canRead()) {
             throw new PolicyDistributionException(fileTag + FILE_MESSAGE_PREAMBLE + fileName + "\" is ureadable");
 
 import java.util.Map;
 
 import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
-import org.onap.policy.distribution.reception.parameters.PSSDConfigurationParametersGroup;
 import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
 import org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters;
+import org.onap.policy.distribution.reception.parameters.PssdConfigurationParametersGroup;
 import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
 
 /**
         if (!isEmpty) {
             final Map<String, PolicyDecoderParameters> policyDecoders = getPolicyDecoders(isEmpty);
             final Map<String, PolicyForwarderParameters> policyForwarders = getPolicyForwarders(isEmpty);
-            final PSSDConfigurationParametersGroup pssdConfiguration = getPSSDConfigurationParametersGroup(isEmpty);;
+            final PssdConfigurationParametersGroup pssdConfiguration = getPssdConfigurationParametersGroup(isEmpty);;
             final PluginHandlerParameters pHParameters = new PluginHandlerParameters(policyDecoders, policyForwarders);
             final ReceptionHandlerParameters rhParameters = new ReceptionHandlerParameters(RECEPTION_HANDLER_TYPE,
                     RECEPTION_HANDLER_CLASS_NAME, pssdConfiguration, pHParameters);
     }
 
     /**
-     * Returns an instance of PSSDConfigurationParametersGroup for test cases.
+     * Returns an instance of PssdConfigurationParametersGroup for test cases.
      *
      * @param isEmpty boolean value to represent that object created should be empty or not
-     * @return the PSSDConfigurationParametersGroup object
+     * @return the PssdConfigurationParametersGroup object
      */
-    public PSSDConfigurationParametersGroup getPSSDConfigurationParametersGroup(final boolean isEmpty) {
-        final PSSDConfigurationParametersGroup pssdConfiguration;
+    public PssdConfigurationParametersGroup getPssdConfigurationParametersGroup(final boolean isEmpty) {
+        final PssdConfigurationParametersGroup pssdConfiguration;
         if (!isEmpty) {
             final List<String> messageBusAddress = new ArrayList<>();
             messageBusAddress.add("localhost");
             final List<String> artifactTypes = new ArrayList<>();
             artifactTypes.add("TOSCA_CSAR");
-            pssdConfiguration = new PSSDConfigurationParametersGroup.PSSDConfigurationBuilder()
+            pssdConfiguration = new PssdConfigurationParametersGroup.PssdConfigurationBuilder()
                     .setAsdcAddress("localhost").setMessageBusAddress(messageBusAddress).setUser("policy")
                     .setPassword("policy").setPollingInterval(20).setPollingTimeout(30).setConsumerId("policy-id")
                     .setArtifactTypes(artifactTypes).setConsumerGroup("policy-group").setEnvironmentName("TEST")
                     .setKeystorePath("").setKeystorePassword("").setActiveserverTlsAuth(false)
                     .setIsFilterinEmptyResources(true).setIsUseHttpsWithDmaap(false).build();
         } else {
-            pssdConfiguration = new PSSDConfigurationParametersGroup.PSSDConfigurationBuilder().build();
+            pssdConfiguration = new PssdConfigurationParametersGroup.PssdConfigurationBuilder().build();
         }
         return pssdConfiguration;
     }
 
 public class TestDistributionParameterHandler {
     @Test
     public void testParameterHandlerNoParameterFile() throws PolicyDistributionException {
-        final String[] noArgumentString = { "-c", "parameters/NoParameterFile.json" };
+        final String[] noArgumentString =
+        { "-c", "parameters/NoParameterFile.json" };
 
         final DistributionCommandLineArguments noArguments = new DistributionCommandLineArguments();
         noArguments.parse(noArgumentString);
 
     @Test
     public void testParameterHandlerEmptyParameters() throws PolicyDistributionException {
-        final String[] emptyArgumentString = { "-c", "parameters/EmptyParameters.json" };
+        final String[] emptyArgumentString =
+        { "-c", "parameters/EmptyParameters.json" };
 
         final DistributionCommandLineArguments emptyArguments = new DistributionCommandLineArguments();
         emptyArguments.parse(emptyArgumentString);
 
     @Test
     public void testParameterHandlerBadParameters() throws PolicyDistributionException {
-        final String[] badArgumentString = { "-c", "parameters/BadParameters.json" };
+        final String[] badArgumentString =
+        { "-c", "parameters/BadParameters.json" };
 
         final DistributionCommandLineArguments badArguments = new DistributionCommandLineArguments();
         badArguments.parse(badArgumentString);
 
     @Test
     public void testParameterHandlerInvalidParameters() throws PolicyDistributionException {
-        final String[] invalidArgumentString = { "-c", "parameters/InvalidParameters.json" };
+        final String[] invalidArgumentString =
+        { "-c", "parameters/InvalidParameters.json" };
 
         final DistributionCommandLineArguments invalidArguments = new DistributionCommandLineArguments();
         invalidArguments.parse(invalidArgumentString);
 
     @Test
     public void testParameterHandlerNoParameters() throws PolicyDistributionException {
-        final String[] noArgumentString = { "-c", "parameters/NoParameters.json" };
+        final String[] noArgumentString =
+        { "-c", "parameters/NoParameters.json" };
 
         final DistributionCommandLineArguments noArguments = new DistributionCommandLineArguments();
         noArguments.parse(noArgumentString);
 
     @Test
     public void testParameterHandlerMinumumParameters() throws PolicyDistributionException {
-        final String[] minArgumentString = { "-c", "parameters/MinimumParameters.json" };
+        final String[] minArgumentString =
+        { "-c", "parameters/MinimumParameters.json" };
 
         final DistributionCommandLineArguments minArguments = new DistributionCommandLineArguments();
         minArguments.parse(minArgumentString);
 
     @Test
     public void testDistributionParameterGroup() throws PolicyDistributionException {
-        final String[] distributionConfigParameters = { "-c", "parameters/DistributionConfigParameters.json" };
+        final String[] distributionConfigParameters =
+        { "-c", "parameters/DistributionConfigParameters.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidName() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidName.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidName.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidReceptionHandlerType() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidReceptionHandlerType.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidReceptionHandlerType.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidPolicyDecoderType() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidPolicyDecoderType.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidPolicyDecoderType.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidPolicyForwarderType() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidPolicyForwarderType.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidPolicyForwarderType.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_NoReceptionHandler() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_NoReceptionHandler.json" };
+        { "-c", "parameters/DistributionConfigParameters_NoReceptionHandler.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_EmptyReceptionHandler() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_EmptyReceptionHandler.json" };
+        { "-c", "parameters/DistributionConfigParameters_EmptyReceptionHandler.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_NoPolicyDecoder() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_NoPolicyDecoder.json" };
+        { "-c", "parameters/DistributionConfigParameters_NoPolicyDecoder.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_NoPolicyForwarder() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_NoPolicyForwarder.json" };
+        { "-c", "parameters/DistributionConfigParameters_NoPolicyForwarder.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_EmptyPolicyDecoder() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_EmptyPolicyDecoder.json" };
+        { "-c", "parameters/DistributionConfigParameters_EmptyPolicyDecoder.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_EmptyPolicyForwarder() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_EmptyPolicyForwarder.json" };
+        { "-c", "parameters/DistributionConfigParameters_EmptyPolicyForwarder.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidReceptionHandlerClass() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidReceptionHandlerClass.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidReceptionHandlerClass.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidPolicyDecoderClass() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidPolicyDecoderClass.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidPolicyDecoderClass.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidPolicyForwarderClass() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidPolicyForwarderClass.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidPolicyForwarderClass.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidRestServerHost() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidRestServerHost.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidRestServerHost.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidRestServerPort() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidRestServerPort.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidRestServerPort.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidRestServerUser() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidRestServerUser.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidRestServerUser.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
     @Test
     public void testDistributionParameterGroup_InvalidRestServerPassword() throws PolicyDistributionException {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidRestServerPassword.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidRestServerPassword.json" };
 
         final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
         arguments.parse(distributionConfigParameters);
 
 
 import org.junit.Test;
 import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.distribution.reception.parameters.PSSDConfigurationParametersGroup;
 import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
+import org.onap.policy.distribution.reception.parameters.PssdConfigurationParametersGroup;
 import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
 
 /**
     @Test
     public void testReceptionHandlerParameters() {
         final PluginHandlerParameters pHParameters = commonTestData.getPluginHandlerParameters(false);
-        final PSSDConfigurationParametersGroup pssdConfiguration = 
-                commonTestData.getPSSDConfigurationParametersGroup(false);
-        final ReceptionHandlerParameters rHParameters = 
-                new ReceptionHandlerParameters(CommonTestData.RECEPTION_HANDLER_TYPE, 
-                CommonTestData.RECEPTION_HANDLER_CLASS_NAME, pssdConfiguration, pHParameters);
+        final PssdConfigurationParametersGroup pssdConfiguration =
+                commonTestData.getPssdConfigurationParametersGroup(false);
+        final ReceptionHandlerParameters rHParameters =
+                new ReceptionHandlerParameters(CommonTestData.RECEPTION_HANDLER_TYPE,
+                        CommonTestData.RECEPTION_HANDLER_CLASS_NAME, pssdConfiguration, pHParameters);
         final GroupValidationResult validationResult = rHParameters.validate();
         assertEquals(CommonTestData.RECEPTION_HANDLER_TYPE, rHParameters.getReceptionHandlerType());
         assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME, rHParameters.getReceptionHandlerClassName());
-        assertEquals(pssdConfiguration, rHParameters.getPSSDConfigurationParametersGroup());
+        assertEquals(pssdConfiguration, rHParameters.getPssdConfigurationParametersGroup());
         assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
         assertTrue(validationResult.isValid());
     }
     @Test
     public void testReceptionHandlerParameters_NullReceptionHandlerType() {
         final PluginHandlerParameters pHParameters = commonTestData.getPluginHandlerParameters(false);
-        final PSSDConfigurationParametersGroup pssdConfiguration = 
-                commonTestData.getPSSDConfigurationParametersGroup(false);
-        final ReceptionHandlerParameters rHParameters =
-                new ReceptionHandlerParameters(null, CommonTestData.RECEPTION_HANDLER_CLASS_NAME, 
-                pssdConfiguration, pHParameters);
+        final PssdConfigurationParametersGroup pssdConfiguration =
+                commonTestData.getPssdConfigurationParametersGroup(false);
+        final ReceptionHandlerParameters rHParameters = new ReceptionHandlerParameters(null,
+                CommonTestData.RECEPTION_HANDLER_CLASS_NAME, pssdConfiguration, pHParameters);
         final GroupValidationResult validationResult = rHParameters.validate();
         assertEquals(null, rHParameters.getReceptionHandlerType());
         assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME, rHParameters.getReceptionHandlerClassName());
-        assertEquals(pssdConfiguration, rHParameters.getPSSDConfigurationParametersGroup());
+        assertEquals(pssdConfiguration, rHParameters.getPssdConfigurationParametersGroup());
         assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
         assertFalse(validationResult.isValid());
         assertTrue(validationResult.getResult()
     @Test
     public void testReceptionHandlerParameters_NullReceptionHandlerClassName() {
         final PluginHandlerParameters pHParameters = commonTestData.getPluginHandlerParameters(false);
-        final PSSDConfigurationParametersGroup pssdConfiguration = 
-                commonTestData.getPSSDConfigurationParametersGroup(false);
-        final ReceptionHandlerParameters rHParameters =
-                new ReceptionHandlerParameters(CommonTestData.RECEPTION_HANDLER_TYPE, null, 
-                pssdConfiguration, pHParameters);
+        final PssdConfigurationParametersGroup pssdConfiguration =
+                commonTestData.getPssdConfigurationParametersGroup(false);
+        final ReceptionHandlerParameters rHParameters = new ReceptionHandlerParameters(
+                CommonTestData.RECEPTION_HANDLER_TYPE, null, pssdConfiguration, pHParameters);
         final GroupValidationResult validationResult = rHParameters.validate();
         assertEquals(CommonTestData.RECEPTION_HANDLER_TYPE, rHParameters.getReceptionHandlerType());
         assertEquals(null, rHParameters.getReceptionHandlerClassName());
-        assertEquals(pssdConfiguration, rHParameters.getPSSDConfigurationParametersGroup());
+        assertEquals(pssdConfiguration, rHParameters.getPssdConfigurationParametersGroup());
         assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
         assertFalse(validationResult.isValid());
         assertTrue(validationResult.getResult()
     @Test
     public void testReceptionHandlerParameters_EmptyReceptionHandlerType() {
         final PluginHandlerParameters pHParameters = commonTestData.getPluginHandlerParameters(false);
-        final PSSDConfigurationParametersGroup pssdConfiguration = 
-                commonTestData.getPSSDConfigurationParametersGroup(false);
-        final ReceptionHandlerParameters rHParameters =
-                new ReceptionHandlerParameters("", CommonTestData.RECEPTION_HANDLER_CLASS_NAME, 
-                pssdConfiguration, pHParameters);
+        final PssdConfigurationParametersGroup pssdConfiguration =
+                commonTestData.getPssdConfigurationParametersGroup(false);
+        final ReceptionHandlerParameters rHParameters = new ReceptionHandlerParameters("",
+                CommonTestData.RECEPTION_HANDLER_CLASS_NAME, pssdConfiguration, pHParameters);
         final GroupValidationResult validationResult = rHParameters.validate();
         assertEquals("", rHParameters.getReceptionHandlerType());
         assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME, rHParameters.getReceptionHandlerClassName());
     @Test
     public void testReceptionHandlerParameters_EmptyReceptionHandlerClassName() {
         final PluginHandlerParameters pHParameters = commonTestData.getPluginHandlerParameters(false);
-        final PSSDConfigurationParametersGroup pssdConfiguration = 
-                commonTestData.getPSSDConfigurationParametersGroup(false);
+        final PssdConfigurationParametersGroup pssdConfiguration =
+                commonTestData.getPssdConfigurationParametersGroup(false);
         final ReceptionHandlerParameters rHParameters = new ReceptionHandlerParameters(
                 CommonTestData.RECEPTION_HANDLER_TYPE, "", pssdConfiguration, pHParameters);
         final GroupValidationResult validationResult = rHParameters.validate();
         assertEquals(CommonTestData.RECEPTION_HANDLER_TYPE, rHParameters.getReceptionHandlerType());
         assertEquals("", rHParameters.getReceptionHandlerClassName());
-        assertEquals(pssdConfiguration, rHParameters.getPSSDConfigurationParametersGroup());
+        assertEquals(pssdConfiguration, rHParameters.getPssdConfigurationParametersGroup());
         assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
         assertFalse(validationResult.isValid());
         assertTrue(validationResult.getResult()
     public void testReceptionHandlerParameters_EmptyPluginHandler() {
         try {
             final PluginHandlerParameters pHParameters = commonTestData.getPluginHandlerParameters(true);
-            final PSSDConfigurationParametersGroup pssdConfiguration = 
-                    commonTestData.getPSSDConfigurationParametersGroup(false);
-            final ReceptionHandlerParameters rHParameters = new ReceptionHandlerParameters(
-                    CommonTestData.RECEPTION_HANDLER_TYPE, CommonTestData.RECEPTION_HANDLER_CLASS_NAME,
-                    pssdConfiguration, pHParameters);
+            final PssdConfigurationParametersGroup pssdConfiguration =
+                    commonTestData.getPssdConfigurationParametersGroup(false);
+            final ReceptionHandlerParameters rHParameters =
+                    new ReceptionHandlerParameters(CommonTestData.RECEPTION_HANDLER_TYPE,
+                            CommonTestData.RECEPTION_HANDLER_CLASS_NAME, pssdConfiguration, pHParameters);
             rHParameters.validate();
             fail("test should throw an exception here");
         } catch (final Exception e) {
     @Test
     public void testReceptionHandlerParameters_InvalidReceptionHandlerClass() {
         final PluginHandlerParameters pHParameters = commonTestData.getPluginHandlerParameters(false);
-        final PSSDConfigurationParametersGroup pssdConfiguration = 
-                commonTestData.getPSSDConfigurationParametersGroup(false);
+        final PssdConfigurationParametersGroup pssdConfiguration =
+                commonTestData.getPssdConfigurationParametersGroup(false);
         final ReceptionHandlerParameters rHParameters =
                 new ReceptionHandlerParameters(CommonTestData.RECEPTION_HANDLER_TYPE,
                         CommonTestData.RECEPTION_HANDLER_CLASS_NAME + "Invalid", pssdConfiguration, pHParameters);
         final GroupValidationResult validationResult = rHParameters.validate();
         assertEquals(CommonTestData.RECEPTION_HANDLER_TYPE, rHParameters.getReceptionHandlerType());
-        assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME + "Invalid", 
-                    rHParameters.getReceptionHandlerClassName());
-        assertEquals(pssdConfiguration, rHParameters.getPSSDConfigurationParametersGroup());
+        assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME + "Invalid",
+                rHParameters.getReceptionHandlerClassName());
+        assertEquals(pssdConfiguration, rHParameters.getPssdConfigurationParametersGroup());
         assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
         assertFalse(validationResult.isValid());
         assertTrue(validationResult.getResult().contains("reception handler class not found in classpath"));
 
 import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
 import org.junit.Test;
 import org.onap.policy.common.endpoints.report.HealthCheckReport;
+import org.onap.policy.common.logging.flexlogger.FlexLogger;
+import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.policy.distribution.main.PolicyDistributionException;
 import org.onap.policy.distribution.main.parameters.CommonTestData;
 import org.onap.policy.distribution.main.parameters.RestServerParameters;
  */
 public class TestDistributionRestServer {
 
+    private static final Logger LOGGER = FlexLogger.getLogger(TestDistributionRestServer.class);
     private static final String NOT_ALIVE = "not alive";
     private static final String ALIVE = "alive";
     private static final String SELF = "self";
     }
 
     private HealthCheckReport performHealthCheck() throws InterruptedException {
-        HealthCheckReport response;
+        HealthCheckReport response = null;
         final ClientConfig clientConfig = new ClientConfig();
 
         final HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic("healthcheck", "zb!XztG34");
         final WebTarget webTarget = client.target("http://localhost:6969/healthcheck");
 
         final Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_JSON);
-        try {
-            response = invocationBuilder.get(HealthCheckReport.class);
-        } catch (final Exception exp) {
-            // may be the server is not started yet. Wait for couple of seconds and retry.
-            Thread.sleep(2000);
-            response = invocationBuilder.get(HealthCheckReport.class);
+        while (response == null) {
+            try {
+                response = invocationBuilder.get(HealthCheckReport.class);
+            } catch (final Exception exp) {
+                LOGGER.info("the server is not started yet. We will retry again");
+            }
         }
-
         return response;
     }
 
 
     public void testDistributionActivator() throws PolicyDistributionException {
         final String[] distributionConfigParameters = { "-c", "parameters/DistributionConfigParameters.json" };
 
-        final DistributionCommandLineArguments arguments = new DistributionCommandLineArguments();
-        arguments.parse(distributionConfigParameters);
+        final DistributionCommandLineArguments arguments =
+                new DistributionCommandLineArguments(distributionConfigParameters);
 
         final DistributionParameterGroup parGroup = new DistributionParameterHandler().getParameters(arguments);
 
 
 
     @Test
     public void testMain() throws PolicyDistributionException {
-        final String[] distributionConfigParameters = { "-c", "parameters/DistributionConfigParameters.json" };
+        final String[] distributionConfigParameters =
+        { "-c", "parameters/DistributionConfigParameters.json" };
         final Main main = new Main(distributionConfigParameters);
         assertTrue(main.getParameters().isValid());
         assertEquals(CommonTestData.DISTRIBUTION_GROUP_NAME, main.getParameters().getName());
 
     @Test
     public void testMain_NoArguments() {
-        final String[] distributionConfigParameters = {};
+        final String[] distributionConfigParameters =
+        {};
         final Main main = new Main(distributionConfigParameters);
         assertTrue(main.getParameters() == null);
     }
 
     @Test
     public void testMain_InvalidArguments() {
-        final String[] distributionConfigParameters = { "parameters/DistributionConfigParameters.json" };
+        final String[] distributionConfigParameters =
+        { "parameters/DistributionConfigParameters.json" };
         final Main main = new Main(distributionConfigParameters);
         assertTrue(main.getParameters() == null);
     }
 
     @Test
     public void testMain_Help() {
-        final String[] distributionConfigParameters = { "-h" };
+        final String[] distributionConfigParameters =
+        { "-h" };
         Main.main(distributionConfigParameters);
     }
 
     @Test
     public void testMain_InvalidParameters() {
         final String[] distributionConfigParameters =
-                { "-c", "parameters/DistributionConfigParameters_InvalidName.json" };
+        { "-c", "parameters/DistributionConfigParameters_InvalidName.json" };
         final Main main = new Main(distributionConfigParameters);
         assertTrue(main.getParameters() == null);
     }
 
                 </exclusion>
           </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.onap.policy.common</groupId>
-            <artifactId>common-parameters</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
-        </dependency>
     </dependencies>
 </project>
 
  * 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.onap.policy.distribution.reception.decoding.PolicyDecoder;
 
 /**
- * A PDP-X Policy, decoded by a {@link PolicyDecoder}
+ * A PDP-X Policy, decoded by a {@link PolicyDecoder}.
  */
 public class PdpxPolicy implements Policy {
 
 
 import java.util.List;
 
 import org.onap.sdc.api.consumer.IConfiguration;
-import org.onap.policy.distribution.reception.parameters.PSSDConfigurationParametersGroup;
+import org.onap.policy.distribution.reception.parameters.PssdConfigurationParametersGroup;
 
 /**
  * Properties for the handling Sdc
  *
  */
-public class PSSDConfiguration implements IConfiguration {
+public class PssdConfiguration implements IConfiguration {
 
     // Configuration file structure
 
     // Configuration file properties
-    private PSSDConfigurationParametersGroup configParameters = null;
+    private PssdConfigurationParametersGroup configParameters = null;
 
     /**
      * Original constructor
      *
      * @param configParameters properties needed to be configured for the model loader
      */
-    public PSSDConfiguration(final PSSDConfigurationParametersGroup configParameters) {
+    public PssdConfiguration(final PssdConfigurationParametersGroup configParameters) {
         this.configParameters = configParameters;
 
     }
 
 
 
 /**
- * Exception of the PSSD controller.
+ * Exception of the Pssd controller.
  */
-public class PSSDControllerException extends Exception {
+public class PssdControllerException extends Exception {
 
     /**
      * serialization id.
     private static final long serialVersionUID = -8507246953751956974L;
 
     /**
-     * Constructor for creating PSSDControllerException using message.
+     * Constructor for creating PssdControllerException using message.
      *
      * @param message The message to dump
      */
-    public PSSDControllerException (final String message) {
+    public PssdControllerException (final String message) {
         super (message);
        
     }
     
     /**
-     * Constructor for creating PSSDControllerException using message and exception.
+     * Constructor for creating PssdControllerException using message and exception.
      *
      * @param message The message to dump
      * @param e the exception that caused this exception to be thrown
      */
-    public PSSDControllerException (final String message, final Exception e) {
+    public PssdControllerException (final String message, final Exception e) {
         super (message, e);
        
     }
 
 
 
 /**
- * Exception during download from PSSD.
+ * Exception during download from Pssd.
  */
-public class PSSDDownloadException extends Exception {
+public class PssdDownloadException extends Exception {
 
     /**
      * serialization id.
     private static final long serialVersionUID = -8507246953751956974L;
 
     /**
-     * Constructor for creating PSSDDownloadException using message.
+     * Constructor for creating PssdDownloadException using message.
      *
      * @param message The message to dump
      */
-    public PSSDDownloadException (final String message) {
+    public PssdDownloadException (final String message) {
         super (message);
        
     }
     
     /**
-     * Constructor for creating PSSDDownloadException using message and exception.
+     * Constructor for creating PssdDownloadException using message and exception.
      *
      * @param message The message to dump
      * @param e the exception that caused this exception to be thrown
      */
-    public PSSDDownloadException (final String message, final Exception e) {
+    public PssdDownloadException (final String message, final Exception e) {
         super (message, e);
        
     }
 
 
 
 /**
- * Exception of the PSSD controller.
+ * Exception of the Pssd controller.
  */
-public class PSSDParametersException extends Exception {
+public class PssdParametersException extends Exception {
 
     /**
      * serialization id.
     private static final long serialVersionUID = -8507246953751956974L;
 
     /**
-     * Constructor for creating PSSDParametersException using message.
+     * Constructor for creating PssdParametersException using message.
      *
      * @param message The message to dump
      */
-    public PSSDParametersException (final String message) {
+    public PssdParametersException (final String message) {
         super (message);
        
     }
     
     /**
-     * Constructor for creating PSSDParametersException using message and exception.
+     * Constructor for creating PssdParametersException using message and exception.
      *
      * @param message The message to dump
      * @param e the exception that caused this exception to be thrown
      */
-    public PSSDParametersException (final String message, final Exception e) {
+    public PssdParametersException (final String message, final Exception e) {
         super (message, e);
        
     }
 
  * 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 com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
-import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+
 import org.junit.Test;
 import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.distribution.reception.parameters.PSSDConfigurationParametersGroup;
+import org.onap.policy.distribution.reception.parameters.PssdConfigurationParametersGroup;
 
 /*-
- * Tests for PSSDConfiguration class
+ * Tests for PssdConfiguration class
  *
  */
-public class PSSDConfigurationTest {
-    
+public class PssdConfigurationTest {
+
     @Test
-    public void testPSSDConfigurationParametersGroup() throws IOException {
-        PSSDConfigurationParametersGroup configParameters = null;
+    public void testPssdConfigurationParametersGroup() throws IOException {
+        PssdConfigurationParametersGroup configParameters = null;
         try {
             final Gson gson = new GsonBuilder().create();
-            configParameters = 
-                gson.fromJson(new FileReader("src/test/resources/handling-sdc.json"), 
-                        PSSDConfigurationParametersGroup.class);
+            configParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdc.json"),
+                    PssdConfigurationParametersGroup.class);
         } catch (final Exception e) {
             fail("test should not thrown an exception here: " + e.getMessage());
         }
         final GroupValidationResult validationResult = configParameters.validate();
         assertTrue(validationResult.isValid());
-        PSSDConfiguration config = new PSSDConfiguration(configParameters);
+        final PssdConfiguration config = new PssdConfiguration(configParameters);
         assertEquals(20, config.getPollingInterval());
-        assertEquals(30,config.getPollingTimeout());
+        assertEquals(30, config.getPollingTimeout());
     }
 
     @Test
-    public void testInvalidPSSDConfigurationParametersGroup() throws IOException {
-        PSSDConfigurationParametersGroup configParameters = null;
+    public void testInvalidPssdConfigurationParametersGroup() throws IOException {
+        PssdConfigurationParametersGroup configParameters = null;
         try {
             final Gson gson = new GsonBuilder().create();
-            configParameters = 
-                gson.fromJson(new FileReader("src/test/resources/handling-sdcInvalid.json"), 
-                        PSSDConfigurationParametersGroup.class);
+            configParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdcInvalid.json"),
+                    PssdConfigurationParametersGroup.class);
         } catch (final Exception e) {
             fail("test should not thrown an exception here: " + e.getMessage());
         }
         final GroupValidationResult validationResult = configParameters.validate();
         assertFalse(validationResult.isValid());
-        
+
     }
 }
 
 
 import org.junit.Test;
 
-public class PSSDControllerExceptionTest {
+public class PssdControllerExceptionTest {
 
     @Test
     public void test() {
-        assertNotNull(new PSSDControllerException("Message"));
-        assertNotNull(new PSSDControllerException("Message", new IOException()));
+        assertNotNull(new PssdControllerException("Message"));
+        assertNotNull(new PssdControllerException("Message", new IOException()));
     }
 }
 
 
 import org.junit.Test;
 
-public class PSSDDownloadExceptionTest {
+public class PssdDownloadExceptionTest {
 
     @Test
     public void test() {
-        assertNotNull(new PSSDDownloadException("Message"));
-        assertNotNull(new PSSDDownloadException("Message", new IOException()));
+        assertNotNull(new PssdDownloadException("Message"));
+        assertNotNull(new PssdDownloadException("Message", new IOException()));
     }
 }
 
 
 import org.junit.Test;
 
-public class PSSDParametersExceptionTest {
+public class PssdParametersExceptionTest {
 
     @Test
     public void test() {
-        assertNotNull(new PSSDParametersException("Message"));
-        assertNotNull(new PSSDParametersException("Message", new IOException()));
+        assertNotNull(new PssdParametersException("Message"));
+        assertNotNull(new PssdParametersException("Message", new IOException()));
     }
 }
 
 
     <properties>
         <!-- sonar/jacoco overrides -->
-        <!-- Overriding oparent default sonar/jacoco settings Combine all our reports 
+        <!-- Overriding oparent default sonar/jacoco settings Combine all our reports
             into one file shared across sub-modules -->
         <sonar.jacoco.reportPath>${project.basedir}/../target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
         <sonar.jacoco.itReportPath>${project.basedir}/../target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
         <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
+
+        <policy.common.version>1.3.0-SNAPSHOT</policy.common.version>
     </properties>
 
     <modules>
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>onap-java-style</id>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                        <phase>process-sources</phase>
+                        <configuration>
+                            <!-- Use Google Java Style Guide:
+                            https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
+                            with minor changes -->
+                            <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
+                            <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory -->
+                            <sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
+                            <includeResources>true</includeResources>
+                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                            <includeTestResources>true</includeTestResources>
+                            <excludes>
+                            </excludes>
+                            <consoleOutput>true</consoleOutput>
+                            <failOnViolation>true</failOnViolation>
+                            <violationSeverity>warning</violationSeverity>
+                        </configuration>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.onap.oparent</groupId>
+                        <artifactId>checkstyle</artifactId>
+                        <version>1.1.0</version>
+                        <scope>compile</scope>
+                    </dependency>
+                </dependencies>
+            </plugin>
         </plugins>
         <pluginManagement>
             <plugins>
 
         </dependency>
         <dependency>
             <groupId>org.onap.policy.common</groupId>
-            <artifactId>common-parameters</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.policy.common</groupId>
-            <artifactId>ONAP-Logging</artifactId>
-            <version>1.3.0-SNAPSHOT</version>
+            <artifactId>utils</artifactId>
+            <version>${policy.common.version}</version>
         </dependency>
     </dependencies>
 </project>
 
--- /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.reception.decoding;
+
+/**
+ * This exception will be called if an error occurs while initializing distribution plugins.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
+ */
+public class PluginInitializationException extends Exception {
+
+    private static final long serialVersionUID = 3809376274411309160L;
+
+    /**
+     * Construct an instance with the given message.
+     *
+     * @param message the error message
+     */
+    public PluginInitializationException(final String message) {
+        super(message);
+    }
+
+    /**
+     * Construct an instance with the given message and cause.
+     *
+     * @param message the error message
+     * @param cause the cause
+     */
+    public PluginInitializationException(final String message, final Throwable cause) {
+        super(message, cause);
+    }
+
+}
 
  * 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.reception.decoding;
 
 import java.util.Collection;
+
 import org.onap.policy.distribution.model.Policy;
 import org.onap.policy.distribution.model.PolicyInput;
 
 
     /**
      * Can the decoder handle input of the specified type.
-     * 
+     *
      * @param policyInput the type
-     * @return <code>true</code if the decoder can handle the specified type
+     * @return <code>true</code> if the decoder can handle the specified type
      */
     boolean canHandle(PolicyInput policyInput);
 
     /**
-     * Decode policies from the given input
-     * 
+     * Decode policies from the given input.
+     *
      * @param input the input
      * @return the generated policies
      * @throws PolicyDecodingException if an error occurs during decoding
 
 import org.onap.policy.distribution.forwarding.PolicyForwardingException;
 import org.onap.policy.distribution.model.Policy;
 import org.onap.policy.distribution.model.PolicyInput;
+import org.onap.policy.distribution.reception.decoding.PluginInitializationException;
 import org.onap.policy.distribution.reception.decoding.PolicyDecoder;
 import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
 import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
 
     private PluginHandler pluginHandler;
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public void initialize(final String parameterGroupName) throws PolicyDecodingException, PolicyForwardingException {
+    public void initialize(final String parameterGroupName) throws PluginInitializationException {
         final ReceptionHandlerParameters receptionHandlerParameters =
                 (ReceptionHandlerParameters) ParameterService.get(parameterGroupName);
         pluginHandler = new PluginHandler(receptionHandlerParameters.getPluginHandlerParameters().getName());
 
 import org.onap.policy.common.logging.flexlogger.Logger;
 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.distribution.forwarding.parameters.PolicyForwarderParameters;
 import org.onap.policy.distribution.model.Policy;
 import org.onap.policy.distribution.model.PolicyInput;
+import org.onap.policy.distribution.reception.decoding.PluginInitializationException;
 import org.onap.policy.distribution.reception.decoding.PolicyDecoder;
-import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
 import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
 import org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters;
 
      * Create an instance to instantiate plugins based on the given parameter group.
      *
      * @param parameterGroupName the name of the parameter group
-     * @throws PolicyDecodingException exception if it occurs
-     * @throws PolicyForwardingException exception if it occurs
+     * @throws PluginInitializationException exception if it occurs
      */
-    public PluginHandler(final String parameterGroupName) throws PolicyDecodingException, PolicyForwardingException {
+    public PluginHandler(final String parameterGroupName) throws PluginInitializationException {
         final PluginHandlerParameters params = (PluginHandlerParameters) ParameterService.get(parameterGroupName);
         initializePolicyDecoders(params.getPolicyDecoders());
         initializePolicyForwarders(params.getPolicyForwarders());
      * Initialize policy decoders.
      *
      * @param policyDecoderParameters exception if it occurs
-     * @throws PolicyDecodingException exception if it occurs
+     * @throws PluginInitializationException exception if it occurs
      */
     @SuppressWarnings("unchecked")
     private void initializePolicyDecoders(final Map<String, PolicyDecoderParameters> policyDecoderParameters)
-            throws PolicyDecodingException {
+            throws PluginInitializationException {
         policyDecoders = new ArrayList<>();
         for (final PolicyDecoderParameters decoderParameters : policyDecoderParameters.values()) {
             try {
                 policyDecoders.add(decoder);
             } catch (final ClassNotFoundException | InstantiationException | IllegalAccessException exp) {
                 LOGGER.error("exception occured while initializing decoders", exp);
-                throw new PolicyDecodingException(exp.getMessage(), exp.getCause());
+                throw new PluginInitializationException(exp.getMessage(), exp.getCause());
             }
         }
     }
      * Initialize policy forwarders.
      *
      * @param policyForwarderParameters exception if it occurs
-     * @throws PolicyForwardingException exception if it occurs
+     * @throws PluginInitializationException exception if it occurs
      */
     @SuppressWarnings("unchecked")
     private void initializePolicyForwarders(final Map<String, PolicyForwarderParameters> policyForwarderParameters)
-            throws PolicyForwardingException {
+            throws PluginInitializationException {
         policyForwarders = new ArrayList<>();
         for (final PolicyForwarderParameters forwarderParameters : policyForwarderParameters.values()) {
             try {
                 policyForwarders.add(policyForwarderClass.newInstance());
             } catch (final ClassNotFoundException | InstantiationException | IllegalAccessException exp) {
                 LOGGER.error("exception occured while initializing forwarders", exp);
-                throw new PolicyForwardingException(exp.getMessage(), exp.getCause());
+                throw new PluginInitializationException(exp.getMessage(), exp.getCause());
             }
         }
     }
 
 
 package org.onap.policy.distribution.reception.handling;
 
-import org.onap.policy.distribution.forwarding.PolicyForwardingException;
-import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
+import org.onap.policy.distribution.reception.decoding.PluginInitializationException;
 
 /**
  * Handles input into Policy Distribution which may be decoded into a Policy.
      * Initialize the reception handler with the given parameters.
      *
      * @param parameterGroupName the name of the parameter group containing the configuration for the reception handler
-     * @throws PolicyDecodingException exception if it occurs
-     * @throws PolicyForwardingException exception if it occurs
+     * @throws PluginInitializationException exception if it occurs
      */
-    void initialize(String parameterGroupName) throws PolicyDecodingException, PolicyForwardingException;
+    void initialize(String parameterGroupName) throws PluginInitializationException;
 
     /**
      * Destroy the reception handler, removing any subscriptions and releasing all resources.
 
+++ /dev/null
-/*-
- * ============LICENSE_START=======================================================
- *  Copyright (C) 2018 Intel. 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.reception.parameters;
-
-import java.util.List;
-import java.util.UUID;
-
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ValidationStatus;
-
-/**
- * This class handles reading, parsing and validating of the Policy SDC Service Distribution parameters from Json
- * format, which strictly adheres to the interface:IConfiguration, defined by SDC SDK.
- */
-public class PSSDConfigurationParametersGroup implements ParameterGroup {
-
-    // Policy SDC Service Distribution specified field.
-    private String name;
-
-    // Interface of IConfiguration item
-    private String asdcAddress;
-    private List<String> messageBusAddress;
-    private String user;
-    private String password;
-    private int pollingInterval;
-    private int pollingTimeout;
-    private String consumerId;
-    private List<String> artifactTypes;
-    private String consumerGroup;
-    private String environmentName;
-    private String keystorePath;
-    private String keystorePassword;
-    private boolean activeserverTlsAuth;
-    private boolean isFilterinEmptyResources;
-    private Boolean isUseHttpsWithDmaap;
-
-    /**
-     *Inner static class is to used as a Builder
-     *
-     */
-    public static class PSSDConfigurationBuilder {
-        private String asdcAddress;
-        private List<String> messageBusAddress;
-        private String user;
-        private String password;
-        private int pollingInterval;
-        private int pollingTimeout;
-        private String consumerId;
-        private List<String> artifactTypes;
-        private String consumerGroup;
-        private String environmentName;
-        private String keystorePath;
-        private String keystorePassword;
-        private boolean activeserverTlsAuth;
-        private boolean isFilterinEmptyResources;
-        private Boolean isUseHttpsWithDmaap;
-
-        public PSSDConfigurationBuilder setAsdcAddress(String val) { 
-            asdcAddress = val;      
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setMessageBusAddress(List<String> val) { 
-            messageBusAddress = val;           
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setUser(String val) { 
-            user = val;  
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setPassword(String val) { 
-            password = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setPollingInterval(int val) { 
-            pollingInterval = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setPollingTimeout(int val) { 
-            pollingTimeout = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setConsumerId(String val) { 
-            consumerId = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setArtifactTypes(List<String>  val) { 
-            artifactTypes = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setConsumerGroup(String val) { 
-            consumerGroup = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setEnvironmentName(String val) { 
-            environmentName = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setKeystorePath(String val) { 
-            keystorePath = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setKeystorePassword(String val) { 
-            keystorePassword = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setActiveserverTlsAuth(boolean val) { 
-            activeserverTlsAuth = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setIsFilterinEmptyResources(boolean val) { 
-            isFilterinEmptyResources = val;        
-            return this; 
-        }
-
-        public PSSDConfigurationBuilder setIsUseHttpsWithDmaap(Boolean val) { 
-            isUseHttpsWithDmaap = val;        
-            return this; 
-        }
-
-        /**
-         * it is to create a new PSSDConfigurationParametersGroup instance.
-         */
-        public PSSDConfigurationParametersGroup build() {
-            return new PSSDConfigurationParametersGroup(this);
-        }
-    }
-
-    /**
-     * The constructor for instantiating PSSDConfigurationParametersGroup it is a private
-     * so that it could ONLY be instantiated by PSSDConfigurationBuilder
-     *
-     * @param builder stores all the values used by PSSDConfigurationParametersGroup
-     */
-    private PSSDConfigurationParametersGroup(PSSDConfigurationBuilder builder) {
-        asdcAddress  = builder.asdcAddress;
-        messageBusAddress     = builder.messageBusAddress;
-        user     = builder.user;
-        password          = builder.password;
-        pollingInterval       = builder.pollingInterval;
-        pollingTimeout = builder.pollingTimeout;
-        consumerId = builder.consumerId;
-        artifactTypes = builder.artifactTypes;
-        consumerGroup = builder.consumerGroup;
-        environmentName = builder.environmentName;
-        keystorePath = builder.keystorePath;
-        keystorePassword = builder.keystorePassword;
-        activeserverTlsAuth = builder.activeserverTlsAuth;
-        isFilterinEmptyResources = builder.isFilterinEmptyResources;
-        isUseHttpsWithDmaap  = builder.isUseHttpsWithDmaap;
-        
-    }
-    
-    public String getAsdcAddress() {
-        return asdcAddress;
-    }
-
-    public List<String> getMsgBusAddress() {
-        return messageBusAddress;
-    }
-
-    public String getUser() {
-        return user;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public int getPollingInterval() {
-        return pollingInterval;
-    }
-
-    public int getPollingTimeout() {
-        return pollingTimeout;
-    }
-
-    public String getConsumerID() {
-        return consumerId;
-    }
-
-    public List<String> getArtifactTypes() {
-        return artifactTypes;
-    }
-
-    public String getConsumerGroup() {
-        return consumerGroup;
-    }
-
-    public String getEnvironmentName() {
-        return environmentName;
-    }
-
-    public String getKeyStorePassword() {
-        return keystorePassword;
-    }
-
-    public String getKeyStorePath() {
-        return keystorePath;
-    }
-
-    public boolean activateServerTLSAuth() {
-        return activeserverTlsAuth;
-    }
-
-    public boolean isFilterInEmptyResources() {
-        return isFilterinEmptyResources;
-    }
-
-    public Boolean isUseHttpsWithDmaap() {
-        return isUseHttpsWithDmaap;
-    }
-    
-    /**
-     * Return a string representation of the object
-     *
-     * @return textually represents this object
-     */
-    @Override
-    public String toString() {
-        return "name =" + name + ",TestParameters:[asdcAddress = " + asdcAddress + ", messageBusAddress = "
-                + messageBusAddress + ", user = " + user + "]";
-    }
-
-    /**
-     * Return the name of this parameter group instance
-     *
-     * @return name the parameter group name
-     */
-    @Override
-    public String getName() {
-        return name ;
-    }
-
-    /** 
-     * Validate all the int Elements 
-     *
-     */
-    private void validateIntElement(final GroupValidationResult validationResult) {
-        if (pollingInterval <= 0) {
-            validationResult.setResult("pollingInterval", ValidationStatus.INVALID,
-                    "pollingInterval must be a positive integer");
-        }
-
-        if (pollingTimeout <= 0) {
-            validationResult.setResult("pollingTimeout", ValidationStatus.INVALID,
-                    "pollingTimeout must be a positive integer");
-        }
-    }
-
-    /** 
-     * Validate all the String List Elements 
-     *
-     */
-    private void validateStringListElement(final GroupValidationResult validationResult) {
-        if (messageBusAddress == null) {
-            validationResult.setResult("messageBusAddress", ValidationStatus.INVALID,
-                    "messageBusAddress must be a list of non-blank string");
-        } else {
-            for (final String temp : messageBusAddress) {
-                if (temp.trim().length() == 0) {
-                    validationResult.setResult("messageBusAddress", ValidationStatus.INVALID,
-                            "the string of messageBusAddress must be a non-blank string");
-                }
-            }
-        }
-
-        if (artifactTypes == null) {
-            validationResult.setResult("artifactTypes", ValidationStatus.INVALID,
-                    "artifactTypes must be a list of non-blank string");
-        } else {
-            for (final String temp : artifactTypes) {
-                if (temp.trim().length() == 0) {
-                    validationResult.setResult("artifactTypes", ValidationStatus.INVALID,
-                            "the string of artifactTypes must be a non-blank string");
-                }
-            }
-        }
-    }
-
-    /**
-     * Validate the parameter group
-     * @return the result of the validation
-     */
-    @Override
-    public GroupValidationResult validate() {
-        final GroupValidationResult validationResult = new GroupValidationResult(this);
-        
-        if (asdcAddress == null || asdcAddress.trim().length() == 0) {
-            validationResult.setResult("asdcAddress", ValidationStatus.INVALID,
-                    "asdcAddress must be a non-blank string");
-        }
-
-        if (user == null || user.trim().length() == 0) {
-            validationResult.setResult("user", ValidationStatus.INVALID, "user must be a non-blank string");
-        }
-
-        if (consumerId == null || consumerId.trim().length() == 0) {
-            validationResult.setResult("consumerId", ValidationStatus.INVALID, "consumerId must be a non-blank string");
-        }
-
-        if (consumerGroup == null || consumerGroup.trim().length() == 0) {
-            validationResult.setResult("consumerGroup", ValidationStatus.INVALID,
-                    "consumerGroup must be a non-blank string");
-        }
-
-        if (keystorePath == null || keystorePath.trim().length() == 0) {
-            validationResult.setResult("keystorePath", ValidationStatus.INVALID,
-                    "keystorePath must be a non-blank string");
-        }
-
-        if (keystorePassword == null || keystorePassword.trim().length() == 0) {
-            validationResult.setResult("keystorePassword", ValidationStatus.INVALID,
-                    "keystorePassword must be a non-blank string");
-        }
-
-        validateIntElement(validationResult);
-        validateStringListElement(validationResult);
-        return validationResult;
-    }
-
-    /**
-     * Set the name of this group.
-     *
-     * @param name the name to set.
-     */
-    public void setName(final String name) {
-        this.name = name + "_" + UUID.randomUUID().toString();
-    }
-}
-
 
         return decoderClassName;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public String getName() {
         return null;
     }
 
     /**
-     * Validate the policy decoder parameters.
-     *
+     * {@inheritDoc}
      */
     @Override
     public GroupValidationResult validate() {
         try {
             Class.forName(decoderClassName);
         } catch (final ClassNotFoundException exp) {
-            LOGGER.error("policy decoder class not found in classpath", exp);
+            LOGGER.trace("policy decoder class not found in classpath", exp);
             validationResult.setResult("decoderClassName", ValidationStatus.INVALID,
                     "policy decoder class not found in classpath");
         }
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2018 Intel. 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.reception.parameters;
+
+import java.util.List;
+import java.util.UUID;
+
+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.validation.ParameterValidationUtils;
+
+/**
+ * This class handles reading, parsing and validating of the Policy SDC Service Distribution parameters from Json
+ * format, which strictly adheres to the interface:IConfiguration, defined by SDC SDK.
+ */
+public class PssdConfigurationParametersGroup implements ParameterGroup {
+
+    // Policy SDC Service Distribution specified field.
+    private String name;
+
+    // Interface of IConfiguration item
+    private String asdcAddress;
+    private List<String> messageBusAddress;
+    private String user;
+    private String password;
+    private int pollingInterval;
+    private int pollingTimeout;
+    private String consumerId;
+    private List<String> artifactTypes;
+    private String consumerGroup;
+    private String environmentName;
+    private String keystorePath;
+    private String keystorePassword;
+    private boolean activeserverTlsAuth;
+    private boolean isFilterinEmptyResources;
+    private Boolean isUseHttpsWithDmaap;
+
+    /**
+     * Inner static class is to used as a Builder.
+     *
+     */
+    public static class PssdConfigurationBuilder {
+        private String asdcAddress;
+        private List<String> messageBusAddress;
+        private String user;
+        private String password;
+        private int pollingInterval;
+        private int pollingTimeout;
+        private String consumerId;
+        private List<String> artifactTypes;
+        private String consumerGroup;
+        private String environmentName;
+        private String keystorePath;
+        private String keystorePassword;
+        private boolean activeserverTlsAuth;
+        private boolean isFilterinEmptyResources;
+        private Boolean isUseHttpsWithDmaap;
+
+        public PssdConfigurationBuilder setAsdcAddress(final String val) {
+            asdcAddress = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setMessageBusAddress(final List<String> val) {
+            messageBusAddress = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setUser(final String val) {
+            user = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setPassword(final String val) {
+            password = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setPollingInterval(final int val) {
+            pollingInterval = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setPollingTimeout(final int val) {
+            pollingTimeout = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setConsumerId(final String val) {
+            consumerId = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setArtifactTypes(final List<String> val) {
+            artifactTypes = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setConsumerGroup(final String val) {
+            consumerGroup = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setEnvironmentName(final String val) {
+            environmentName = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setKeystorePath(final String val) {
+            keystorePath = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setKeystorePassword(final String val) {
+            keystorePassword = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setActiveserverTlsAuth(final boolean val) {
+            activeserverTlsAuth = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setIsFilterinEmptyResources(final boolean val) {
+            isFilterinEmptyResources = val;
+            return this;
+        }
+
+        public PssdConfigurationBuilder setIsUseHttpsWithDmaap(final Boolean val) {
+            isUseHttpsWithDmaap = val;
+            return this;
+        }
+
+        /**
+         * Creates a new PssdConfigurationParametersGroup instance.
+         */
+        public PssdConfigurationParametersGroup build() {
+            return new PssdConfigurationParametersGroup(this);
+        }
+    }
+
+    /**
+     * The constructor for instantiating PssdConfigurationParametersGroup. It is kept private so that it could only be
+     * called by PssdConfigurationBuilder.
+     *
+     * @param builder stores all the values used by PssdConfigurationParametersGroup
+     */
+    private PssdConfigurationParametersGroup(final PssdConfigurationBuilder builder) {
+        asdcAddress = builder.asdcAddress;
+        messageBusAddress = builder.messageBusAddress;
+        user = builder.user;
+        password = builder.password;
+        pollingInterval = builder.pollingInterval;
+        pollingTimeout = builder.pollingTimeout;
+        consumerId = builder.consumerId;
+        artifactTypes = builder.artifactTypes;
+        consumerGroup = builder.consumerGroup;
+        environmentName = builder.environmentName;
+        keystorePath = builder.keystorePath;
+        keystorePassword = builder.keystorePassword;
+        activeserverTlsAuth = builder.activeserverTlsAuth;
+        isFilterinEmptyResources = builder.isFilterinEmptyResources;
+        isUseHttpsWithDmaap = builder.isUseHttpsWithDmaap;
+
+    }
+
+    public String getAsdcAddress() {
+        return asdcAddress;
+    }
+
+    public List<String> getMsgBusAddress() {
+        return messageBusAddress;
+    }
+
+    public String getUser() {
+        return user;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public int getPollingInterval() {
+        return pollingInterval;
+    }
+
+    public int getPollingTimeout() {
+        return pollingTimeout;
+    }
+
+    public String getConsumerID() {
+        return consumerId;
+    }
+
+    public List<String> getArtifactTypes() {
+        return artifactTypes;
+    }
+
+    public String getConsumerGroup() {
+        return consumerGroup;
+    }
+
+    public String getEnvironmentName() {
+        return environmentName;
+    }
+
+    public String getKeyStorePassword() {
+        return keystorePassword;
+    }
+
+    public String getKeyStorePath() {
+        return keystorePath;
+    }
+
+    public boolean activateServerTLSAuth() {
+        return activeserverTlsAuth;
+    }
+
+    public boolean isFilterInEmptyResources() {
+        return isFilterinEmptyResources;
+    }
+
+    public Boolean isUseHttpsWithDmaap() {
+        return isUseHttpsWithDmaap;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String toString() {
+        return "name =" + name + ",TestParameters:[asdcAddress = " + asdcAddress + ", messageBusAddress = "
+                + messageBusAddress + ", user = " + user + "]";
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Set the name of this group.
+     *
+     * @param name the name to set.
+     */
+    public void setName(final String name) {
+        this.name = name + "_" + UUID.randomUUID().toString();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public GroupValidationResult validate() {
+        final GroupValidationResult validationResult = new GroupValidationResult(this);
+        validateStringElement(validationResult, asdcAddress, "asdcAddress");
+        validateStringElement(validationResult, user, "user");
+        validateStringElement(validationResult, consumerId, "consumerId");
+        validateStringElement(validationResult, consumerGroup, "consumerGroup");
+        validateStringElement(validationResult, keystorePath, "keystorePath");
+        validateStringElement(validationResult, keystorePassword, "keystorePassword");
+        validateIntElement(validationResult, pollingInterval, "pollingInterval");
+        validateIntElement(validationResult, pollingTimeout, "pollingTimeout");
+        validateStringListElement(validationResult, messageBusAddress, "messageBusAddress");
+        validateStringListElement(validationResult, artifactTypes, "artifactTypes");
+        return validationResult;
+    }
+
+    /**
+     * Validate the integer Element.
+     *
+     * @param validationResult the result object
+     * @param element the element to validate
+     * @param elementName the element name for error message
+     */
+    private void validateIntElement(final GroupValidationResult validationResult, final int element,
+            final String elementName) {
+        if (!ParameterValidationUtils.validateIntParameter(element)) {
+            validationResult.setResult(elementName, ValidationStatus.INVALID,
+                    elementName + " must be a positive integer");
+        }
+    }
+
+    /**
+     * Validate the String List Element.
+     *
+     * @param validationResult the result object
+     * @param element the element to validate
+     * @param elementName the element name for error message
+     */
+    private void validateStringListElement(final GroupValidationResult validationResult, final List<String> element,
+            final String elementName) {
+        if (element == null) {
+            validationResult.setResult(elementName, ValidationStatus.INVALID,
+                    elementName + " must be a list of non-blank string");
+        } else {
+            for (final String temp : element) {
+                if (!ParameterValidationUtils.validateStringParameter(temp)) {
+                    validationResult.setResult(elementName, ValidationStatus.INVALID,
+                            "the string of " + elementName + "must be a non-blank string");
+                }
+            }
+        }
+    }
+
+    /**
+     * Validate the string element.
+     *
+     * @param validationResult the result object
+     * @param element the element to validate
+     * @param elementName the element name for error message
+     */
+    private void validateStringElement(final GroupValidationResult validationResult, final String element,
+            final String elementName) {
+        if (!ParameterValidationUtils.validateStringParameter(asdcAddress)) {
+            validationResult.setResult(elementName, ValidationStatus.INVALID,
+                    elementName + " must be a non-blank string");
+        }
+    }
+}
+
 
     private String name;
     private String receptionHandlerType;
     private String receptionHandlerClassName;
-    private PSSDConfigurationParametersGroup pssdConfiguration;
+    private PssdConfigurationParametersGroup pssdConfiguration;
     private PluginHandlerParameters pluginHandlerParameters;
 
     /**
      * @param pluginHandlerParameters the plugin handler parameters
      */
     public ReceptionHandlerParameters(final String receptionHandlerType, final String receptionHandlerClassName, 
-                                      final PSSDConfigurationParametersGroup pssdConfiguration, 
+                                      final PssdConfigurationParametersGroup pssdConfiguration, 
                                       final PluginHandlerParameters pluginHandlerParameters) {
         this.receptionHandlerType = receptionHandlerType;
         this.receptionHandlerClassName = receptionHandlerClassName;
     }
 
     /**
-     * Return the PSSDConfigurationParametersGroup of this ReceptionHandlerParameters instance.
+     * Return the PssdConfigurationParametersGroup of this ReceptionHandlerParameters instance.
      *
-     * @return the PSSDConfigurationParametersGroup
+     * @return the PssdConfigurationParametersGroup
      */
-    public PSSDConfigurationParametersGroup getPSSDConfigurationParametersGroup() {
+    public PssdConfigurationParametersGroup getPssdConfigurationParametersGroup() {
         return pssdConfiguration;
     }
 
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-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.reception.decoding;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+/**
+ * Class to perform unit test of PluginInitializationException.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
+ */
+public class PolicyInitializationExceptionTest {
+
+    @Test
+    public void testPolicyInitializationExceptionString() {
+        final PluginInitializationException policyInitializationException =
+                new PluginInitializationException("error message");
+        assertEquals("error message", policyInitializationException.getMessage());
+    }
+
+    @Test
+    public void testPolicyInitializationExceptionStringThrowable() {
+        final Exception cause = new IllegalArgumentException();
+        final PluginInitializationException policyInitializationException =
+                new PluginInitializationException("error message", cause);
+        assertEquals("error message", policyInitializationException.getMessage());
+        assertEquals(cause, policyInitializationException.getCause());
+    }
+
+}
 
 import org.junit.Test;
 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.distribution.forwarding.parameters.PolicyForwarderParameters;
 import org.onap.policy.distribution.model.Policy;
 import org.onap.policy.distribution.model.PolicyInput;
+import org.onap.policy.distribution.reception.decoding.PluginInitializationException;
 import org.onap.policy.distribution.reception.decoding.PolicyDecoder;
 import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
 import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
 
     @Test
     public void testInputReceived() throws PolicyDecodingException, NoSuchFieldException, SecurityException,
-            IllegalArgumentException, IllegalAccessException, PolicyForwardingException {
+            IllegalArgumentException, IllegalAccessException, PluginInitializationException {
         final AbstractReceptionHandler handler = new DummyReceptionHandler();
 
         final Policy generatedPolicy1 = new DummyPolicy1();
 
     @Test(expected = PolicyDecodingException.class)
     public void testInputReceivedNoSupportingDecoder() throws PolicyDecodingException, NoSuchFieldException,
-            SecurityException, IllegalArgumentException, IllegalAccessException, PolicyForwardingException {
+            SecurityException, IllegalArgumentException, IllegalAccessException, PluginInitializationException {
         final AbstractReceptionHandler handler = new DummyReceptionHandler();
 
         final PolicyDecoder<PolicyInput, Policy> policyDecoder = new DummyDecoder(false, Collections.emptyList());
 
     @Test(expected = PolicyDecodingException.class)
     public void testInputReceivedNoDecoder() throws PolicyDecodingException, NoSuchFieldException, SecurityException,
-            IllegalArgumentException, IllegalAccessException, PolicyForwardingException {
+            IllegalArgumentException, IllegalAccessException, PluginInitializationException {
         final AbstractReceptionHandler handler = new DummyReceptionHandler();
 
         final DummyPolicyForwarder policyForwarder = new DummyPolicyForwarder();
     private void setUpPlugins(final AbstractReceptionHandler receptionHandler,
             final Collection<PolicyDecoder<PolicyInput, Policy>> decoders, final Collection<PolicyForwarder> forwarders)
             throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException,
-            PolicyDecodingException, PolicyForwardingException {
+            PluginInitializationException {
         final PluginHandlerParameters pluginParameters = getPluginHandlerParameters();
         pluginParameters.setName(DISTRIBUTION_GROUP);
         ParameterService.register(pluginParameters);