<parent>
         <groupId>org.onap.policy.distribution</groupId>
         <artifactId>packages</artifactId>
-        <version>2.0.1-SNAPSHOT</version>
+        <version>2.1.0-SNAPSHOT</version>
     </parent>
 
     <packaging>pom</packaging>
 
 JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
 POLICY_DISTRIBUTION_HOME=/opt/app/policy/distribution
 
-CONFIG_FILE=$1
+if [ "$#" -eq 1 ]; then
+    CONFIG_FILE=$1
+else
+    CONFIG_FILE=${CONFIG_FILE}
+fi
+
 if [ -z "$CONFIG_FILE" ]
   then
-    CONFIG_FILE=$POLICY_DISTRIBUTION_HOME/etc/defaultConfig.json
+    CONFIG_FILE="$POLICY_DISTRIBUTION_HOME/etc/defaultConfig.json"
 fi
 
+echo "Policy distribution config file: $CONFIG_FILE"
+
 $JAVA_HOME/bin/java -cp "$POLICY_DISTRIBUTION_HOME/etc:$POLICY_DISTRIBUTION_HOME/lib/*" org.onap.policy.distribution.main.startstop.Main -c $CONFIG_FILE
 
     <parent>
         <groupId>org.onap.policy.distribution</groupId>
         <artifactId>packages</artifactId>
-        <version>2.0.1-SNAPSHOT</version>
+        <version>2.1.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>policy-distribution-tarball</artifactId>
 
--- /dev/null
+{
+    "name":"SDCDistributionGroup",
+    "restServerParameters":{
+        "host":"0.0.0.0",
+        "port":6969,
+        "userName":"healthcheck",
+        "password":"zb!XztG34"
+    },
+    "receptionHandlerParameters":{
+        "S3PReceptionHandler":{
+            "receptionHandlerType":"S3P",
+            "receptionHandlerClassName":"org.onap.policy.distribution.reception.handling.sdc.FileSystemReceptionHandler",
+            "receptionHandlerConfigurationName":"fileConfiguration",
+            "pluginHandlerParameters":{
+                "policyDecoders":{
+                    "CsarDecoder":{
+                        "decoderType":"CsarDecoder",
+                        "decoderClassName":"org.onap.policy.distribution.reception.decoding.pdpx.PolicyDecoderCsarPdpx",
+                        "decoderConfigurationName": "csarToOptimizationPolicyConfiguration"
+                    }
+                },
+                "policyForwarders":{
+                    "PAPEngineForwarder":{
+                        "forwarderType":"PAPEngine",
+                        "forwarderClassName":"org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarder",
+                        "forwarderConfigurationName": "xacmlPdpConfiguration"
+                    }
+                }
+            }
+        }
+    },
+    "receptionHandlerConfigurationParameters":{
+        "fileConfiguration":{
+            "parameterClassName":"org.onap.policy.distribution.reception.handling.sdc.FileSystemReceptionHandlerConfigurationParameterGroup",
+            "parameters":{
+                "watchPath": "/tmp/policy_distribution/csar/"
+            }
+        }
+    },
+    "policyDecoderConfigurationParameters":{
+        "csarToOptimizationPolicyConfiguration":{
+            "parameterClassName":"org.onap.policy.distribution.reception.decoding.pdpx.PolicyDecoderCsarPdpxConfigurationParameterGroup",
+            "parameters":{
+                "policyNamePrefix": "oofCasablanca",
+                "onapName": "OOF",
+                "version": "1.0",
+                "priority": "3",
+                "riskType": "Test",
+                "riskLevel": "2"
+            }
+        }
+    },
+    "policyForwarderConfigurationParameters":{
+        "xacmlPdpConfiguration":{
+            "parameterClassName":"org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarderParameterGroup",
+            "parameters":{
+                "useHttps": true,
+                "hostname": "pdp",
+                "port": 8081,
+                "userName": "testpdp",
+                "password": "alpha123",
+                "clientAuth": "cHl0aG9uOnRlc3Q=",
+                "isManaged": true,
+                "pdpGroup": "default"
+            }
+        }
+    }
+}
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2018 Intel Corp. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.reception.handling.sdc;
+
+import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
+
+import java.io.IOException;
+import java.io.File;
+import java.nio.file.FileSystems;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.WatchEvent;
+import java.nio.file.WatchKey;
+import java.nio.file.WatchService;
+
+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.model.Csar;
+import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
+import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
+
+/**
+ * Handles reception of inputs from File System which can be used to decode policies.
+ */
+public class FileSystemReceptionHandler extends AbstractReceptionHandler {
+    private boolean running = true;
+    private static final Logger LOGGER = FlexLogger.getLogger(FileSystemReceptionHandler.class);
+
+    @Override
+    protected void initializeReception(final String parameterGroupName) {
+        LOGGER.debug("FileSystemReceptionHandler init...");
+        try {
+            final FileSystemReceptionHandlerConfigurationParameterGroup handlerParameters =
+                                    ParameterService.get(parameterGroupName);
+            main(handlerParameters.getWatchPath());
+        } catch (final PolicyDecodingException ex) {
+            ex.printStackTrace();
+        }
+    }
+
+    @Override
+    public void destroy() {
+        // Tear down subscription etc
+        running = false;
+    }
+
+    @SuppressWarnings("unchecked")
+    public void main(String watchPath) throws PolicyDecodingException {
+        try {
+            final WatchService watcher = FileSystems.getDefault().newWatchService();
+            final Path dir = Paths.get(watchPath);
+
+            dir.register(watcher, ENTRY_CREATE);
+            LOGGER.debug("Watch Service registered for dir: " + dir.getFileName());
+            while (running) {
+                WatchKey key;
+                try {
+                    key = watcher.take();
+                } catch (final InterruptedException ex) {
+                    ex.printStackTrace();
+                    return;
+                }
+                for (final WatchEvent<?> event : key.pollEvents()) {
+                    final WatchEvent.Kind<?> kind = event.kind();
+                    final WatchEvent<Path> ev = (WatchEvent<Path>) event;
+                    final Path fileName = ev.context();
+                    LOGGER.debug("new CSAR found: " + kind.name() + ": " + fileName);
+                    createPolicyInputAndCallHandler(dir.toString() + File.separator + fileName.toString());
+                    LOGGER.debug("CSAR complete: " + kind.name() + ": " + fileName);
+                }
+                final boolean valid = key.reset();
+                if (!valid) {
+                    break;
+                }
+            }
+        } catch (final Exception ex) {
+            LOGGER.error(ex);
+        }
+    }
+
+    private void createPolicyInputAndCallHandler(final String fileName) throws PolicyDecodingException {
+        final Csar csarObject = new Csar(fileName);
+        inputReceived(csarObject);
+    }
+}
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2018 Intel Corp. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.reception.handling.sdc;
+
+import java.util.List;
+
+/**
+ * This class builds an instance of {@link FileSystemReceptionHandlerConfigurationParameterGroup} class.
+ *
+ */
+public class FileSystemReceptionHandlerConfigurationParameterBuilder {
+
+    private String watchPath;
+
+    /**
+     * Set watchPath to this {@link FileSystemReceptionHandlerConfigurationParameterBuilder} instance.
+     *
+     * @param watchPath the watchPath
+     */
+    public FileSystemReceptionHandlerConfigurationParameterBuilder setWatchPath(final String watchPath) {
+        this.watchPath = watchPath;
+        return this;
+    }
+
+
+    /**
+     * Returns the watchPath of this {@link FileSystemReceptionHandlerConfigurationParameterBuilder} instance.
+     *
+     * @return the watchPath
+     */
+    public String getWatchPath() {
+        return watchPath;
+    }
+}
+
+
 
--- /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.handling.sdc;
+
+import java.io.File;
+
+import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationStatus;
+import org.onap.policy.distribution.reception.parameters.ReceptionHandlerConfigurationParameterGroup;
+
+/**
+ * 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 FileSystemReceptionHandlerConfigurationParameterGroup extends ReceptionHandlerConfigurationParameterGroup {
+
+    private String watchPath;
+
+    /**
+     * The constructor for instantiating {@link FileSystemReceptionHandlerConfigurationParameterGroup} class.
+     *
+     * @param builder the SDC configuration builder
+     */
+    public FileSystemReceptionHandlerConfigurationParameterGroup(
+            final FileSystemReceptionHandlerConfigurationParameterBuilder builder) {
+        watchPath = builder.getWatchPath();
+    }
+
+    public String getWatchPath() {
+        return watchPath;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public GroupValidationResult validate() {
+        final GroupValidationResult validationResult = new GroupValidationResult(this);
+        validatePathElement(validationResult, watchPath, "watchPath");
+        return validationResult;
+    }
+
+
+    /**
+     * 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 validatePathElement(final GroupValidationResult validationResult, final String element,
+            final String elementName) {
+        File f = new File(element);
+        if (!(f.exists() && f.isDirectory())) {
+            validationResult.setResult(elementName, ValidationStatus.INVALID,
+                    elementName + " must be a valid directory");
+        }
+    }
+}
+