You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by is...@apache.org on 2021/06/01 17:59:15 UTC

[airavata-data-lake] 32/46: data orchestrator api seerver

This is an automated email from the ASF dual-hosted git repository.

isjarana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-data-lake.git

commit 9971574e8e70cc07c8de201f15acb8e809e76ce4
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Sun May 16 18:22:08 2021 -0400

    data orchestrator api seerver
---
 airavata-data-lake.ipr                             | 687 ++++++++++++++++++++-
 airavata-data-lake.iws                             | 116 +++-
 .../datalake/orchestrator/api/Application.java     |  33 -
 .../api/controller/HookController.java             |  23 -
 .../api/controller/TransferController.java         |  48 --
 .../api/controller/remote/SFTPController.java      |  79 ---
 .../api/db/entity/SFTPCredentialEntity.java        | 140 -----
 .../api/db/entity/SFTPRemoteEntity.java            |  92 ---
 .../api/db/repo/SFTPCredentialRepository.java      |  26 -
 .../api/db/repo/SFTPRemoteRepository.java          |  26 -
 .../orchestrator/api/model/TransferEntry.java      |  75 ---
 .../api/model/remote/SFTPCredential.java           | 110 ----
 .../orchestrator/api/model/remote/SFTPRemote.java  |  73 ---
 .../data-orchestrator-clients-core/pom.xml         |   6 +-
 .../clients/core/AbstractListener.java             |  51 ++
 .../clients/core/EventPublisher.java               |  17 +
 .../clients/core/listener/AbstractListener.java    |  38 --
 .../clients/core/model/NotificationEvent.java      |  72 ---
 .../clients/core/processor/EventProcessor.java     |  25 -
 .../core/publisher/ClientEventsPublisher.java      |  23 -
 .../clients/core/publisher/PublisherCallback.java  |  16 -
 .../logs/airavata.log                              | 527 ++++++++++++++++
 .../data-orchestrator-file-event-listener/pom.xml  |  15 +
 .../file/client/FileClientInitializer.java         |  35 +-
 .../file/client/Listener/FileListener.java         |  34 +
 .../file/client/adaptor/FileAdaptor.java           |  27 -
 .../file/client/model/Configuration.java           |  84 +++
 .../file/client/model/FileEvent.java               |  16 +-
 .../file/client/publisher/FileEventPublisher.java  |  37 ++
 .../file/client/watcher/FileWatcher.java           | 134 ++--
 .../file/client/watcher/FileWatcherExecutor.java   |  37 ++
 .../src/main/resources/config.yml                  |   9 +
 .../src/main/resources/logback.xml                 |  45 --
 .../data-orchestrator-messaging/pom.xml            |   7 +
 .../dataorchestrator/messaging/Constants.java      |   7 +
 .../messaging/consumer/ConsumerCallback.java       |  10 +
 .../messaging/consumer/MessageConsumer.java        |  57 ++
 .../messaging/model/NotificationEvent.java         | 115 ++++
 .../model/NotificationEventDeserializer.java       |  39 ++
 .../model/NotificationEventSerializer.java         |  34 +
 .../messaging/model/NotificationMessage.java       |   4 -
 .../messaging/publisher/MessageProducer.java       |  41 ++
 .../data-orchestrator-api-server}/pom.xml          |  13 +-
 .../orchestrator/APIServerInitializer.java         |  84 +++
 .../datalake/orchestrator/Configuration.java       |  84 +++
 .../handlers/OrchestratorEventHandler.java         |  61 ++
 .../orchestrator/processor/EventProcessor.java     |  20 +
 .../src/main/resources/config.yml                  |   6 +
 .../data-orchestrator-service-core}/pom.xml        |   2 +-
 .../datalake/orchestrator/core}/AbstractTask.java  |   2 +-
 .../core/adaptors/OutboundAdaptor.java             |   5 +
 .../core/processor/MessageProcessor.java           |   8 +
 .../pom.xml                                        |  10 +-
 data-orchestrator/pom.xml                          |   5 +-
 .../drms-rest-proxy/src/main/resources/drms.pb     | Bin 102693 -> 104720 bytes
 .../drms-stubs/drms.pb                             | Bin 102693 -> 104720 bytes
 metadata-service/data-builders/data-builders.iml   |   2 +-
 pom.xml                                            |   4 +-
 58 files changed, 2288 insertions(+), 1108 deletions(-)

diff --git a/airavata-data-lake.ipr b/airavata-data-lake.ipr
index a04514a..bcd682a 100644
--- a/airavata-data-lake.ipr
+++ b/airavata-data-lake.ipr
@@ -13,13 +13,30 @@
         <sourceOutputDir name="target/generated-sources/annotations" />
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
         <outputRelativeToContentRoot value="true" />
+        <module name="data-orchestrator-service" />
+        <module name="data-orchestrator-messaging" />
+        <module name="data-orchestrator-file-event-listener" />
+        <module name="data-orchestrator-clients-core" />
       </profile>
     </annotationProcessing>
     <bytecodeTargetLevel>
       <module name="commons" target="11" />
+      <module name="data-orchestrator-clients" target="11" />
+      <module name="data-orchestrator-clients-core" target="11" />
+      <module name="data-orchestrator-file-event-listener" target="11" />
+      <module name="data-orchestrator-messaging" target="11" />
+      <module name="data-orchestrator-service" target="11" />
       <module name="drms-rest-proxy" target="11" />
     </bytecodeTargetLevel>
   </component>
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/src/main/resources" charset="UTF-8" />
+  </component>
   <component name="ExportToHTMLSettings">
     <option name="PRINT_LINE_NUMBERS" value="false" />
     <option name="OPEN_IN_BROWSER" value="false" />
@@ -67,6 +84,15 @@
     <option name="ADDITIONAL_OPTIONS_STRING" value="" />
     <option name="MAXIMUM_HEAP_SIZE" value="128" />
   </component>
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/pom.xml" />
+        <option value="$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/pom.xml" />
+        <option value="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/pom.xml" />
+      </list>
+    </option>
+  </component>
   <component name="Palette2">
     <group name="Swing">
       <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
@@ -190,20 +216,19 @@
   </component>
   <component name="ProjectModuleManager">
     <modules>
-      <module filepath="$PROJECT_DIR$/airavata-data-lake.iml" />
-      <module filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/data-orchestrator-api.iml" />
-      <module filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-core/data-orchestrator-core.iml" />
-      <module filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator.iml" />
-      <module filepath="$PROJECT_DIR$/metadata-service/db-service/client/client.iml" />
-      <module filepath="$PROJECT_DIR$/metadata-service/db-service/server/server.iml" />
-      <module filepath="$PROJECT_DIR$/metadata-service/db-service/stub/stub.iml" />
-      <module filepath="$PROJECT_DIR$/metadata-service/db-service/db-service.iml" />
-      <module filepath="$PROJECT_DIR$/metadata-service/data-builders/data-builders.iml" />
-      <module filepath="$PROJECT_DIR$/metadata-service/metadata-service.iml" />
-      <module filepath="$PROJECT_DIR$/data-resource-management-service/drms-stubs/drms-stubs.iml" />
-      <module filepath="$PROJECT_DIR$/data-resource-management-service/drms-core/drms-core.iml" />
-      <module filepath="$PROJECT_DIR$/data-resource-management-service/drms-api/drms-api.iml" />
-      <module filepath="$PROJECT_DIR$/data-resource-management-service/data-resource-management-service.iml" />
+      <module fileurl="file://$PROJECT_DIR$/airavata-data-lake.iml" filepath="$PROJECT_DIR$/airavata-data-lake.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator.iml" filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/data-orchestrator-api-server.iml" filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/data-orchestrator-api-server.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients.iml" filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/data-orchestrator-clients-core.iml" filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/data-orchestrator-clients-core.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/data-orchestrator-file-event-listener.iml" filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/data-orchestrator-file-event-listener.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/data-orchestrator-messaging.iml" filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/data-orchestrator-messaging.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-service.iml" filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-service.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/data-orchestrator-service-core.iml" filepath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/data-orchestrator-service-core.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-resource-management-service/data-resource-management-service.iml" filepath="$PROJECT_DIR$/data-resource-management-service/data-resource-management-service.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-resource-management-service/drms-api/drms-api.iml" filepath="$PROJECT_DIR$/data-resource-management-service/drms-api/drms-api.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-resource-management-service/drms-core/drms-core.iml" filepath="$PROJECT_DIR$/data-resource-management-service/drms-core/drms-core.iml" />
+      <module fileurl="file://$PROJECT_DIR$/data-resource-management-service/drms-stubs/drms-stubs.iml" filepath="$PROJECT_DIR$/data-resource-management-service/drms-stubs/drms-stubs.iml" />
     </modules>
   </component>
   <component name="ProjectRootManager" version="2" project-jdk-name="11." />
@@ -214,6 +239,11 @@
       <option name="url" value="https://repo.maven.apache.org/maven2" />
     </remote-repository>
     <remote-repository>
+      <option name="id" value="apache.snapshots" />
+      <option name="name" value="Apache Snapshot Repository" />
+      <option name="url" value="https://repository.apache.org/snapshots" />
+    </remote-repository>
+    <remote-repository>
       <option name="id" value="central" />
       <option name="name" value="Maven Central repository" />
       <option name="url" value="https://repo1.maven.org/maven2" />
@@ -228,4 +258,633 @@
     <mapping directory="$PROJECT_DIR$" vcs="Git" />
     <mapping directory="$PROJECT_DIR$/metadata-service/db-rest-proxy/googleapis" vcs="Git" />
   </component>
+  <component name="libraryTable">
+    <library name="Maven: ch.qos.logback:logback-classic:1.2.3">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: ch.qos.logback:logback-core:1.2.3">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.android:annotations:4.1.1.4">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.api.grpc:proto-google-common-protos:1.12.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.code.findbugs:jsr305:3.0.2">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.code.gson:gson:2.8.5">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.8.5/gson-2.8.5-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.8.5/gson-2.8.5-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.errorprone:error_prone_annotations:2.3.3">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.guava:failureaccess:1.0.1">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.guava:guava:28.1-android">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/28.1-android/guava-28.1-android.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/28.1-android/guava-28.1-android-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/28.1-android/guava-28.1-android-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.j2objc:j2objc-annotations:1.3">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.protobuf:protobuf-java-util:3.10.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java-util/3.10.0/protobuf-java-util-3.10.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java-util/3.10.0/protobuf-java-util-3.10.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java-util/3.10.0/protobuf-java-util-3.10.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: com.google.protobuf:protobuf-java:3.10.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.github.lognet:grpc-spring-boot-starter:3.5.1">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/github/lognet/grpc-spring-boot-starter/3.5.1/grpc-spring-boot-starter-3.5.1.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/github/lognet/grpc-spring-boot-starter/3.5.1/grpc-spring-boot-starter-3.5.1-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/github/lognet/grpc-spring-boot-starter/3.5.1/grpc-spring-boot-starter-3.5.1-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.grpc:grpc-api:1.25.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-api/1.25.0/grpc-api-1.25.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-api/1.25.0/grpc-api-1.25.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-api/1.25.0/grpc-api-1.25.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.grpc:grpc-context:1.25.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-context/1.25.0/grpc-context-1.25.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-context/1.25.0/grpc-context-1.25.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-context/1.25.0/grpc-context-1.25.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.grpc:grpc-core:1.25.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-core/1.25.0/grpc-core-1.25.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-core/1.25.0/grpc-core-1.25.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-core/1.25.0/grpc-core-1.25.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.grpc:grpc-netty:1.25.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-netty/1.25.0/grpc-netty-1.25.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-netty/1.25.0/grpc-netty-1.25.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-netty/1.25.0/grpc-netty-1.25.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.grpc:grpc-protobuf-lite:1.25.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf-lite/1.25.0/grpc-protobuf-lite-1.25.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf-lite/1.25.0/grpc-protobuf-lite-1.25.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf-lite/1.25.0/grpc-protobuf-lite-1.25.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.grpc:grpc-protobuf:1.25.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf/1.25.0/grpc-protobuf-1.25.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf/1.25.0/grpc-protobuf-1.25.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf/1.25.0/grpc-protobuf-1.25.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.grpc:grpc-services:1.25.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-services/1.25.0/grpc-services-1.25.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-services/1.25.0/grpc-services-1.25.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-services/1.25.0/grpc-services-1.25.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.grpc:grpc-stub:1.25.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-stub/1.25.0/grpc-stub-1.25.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-stub/1.25.0/grpc-stub-1.25.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-stub/1.25.0/grpc-stub-1.25.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-buffer:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-buffer/4.1.42.Final/netty-buffer-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-buffer/4.1.42.Final/netty-buffer-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-buffer/4.1.42.Final/netty-buffer-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-codec-http2:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-codec-http:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-http/4.1.42.Final/netty-codec-http-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-http/4.1.42.Final/netty-codec-http-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-http/4.1.42.Final/netty-codec-http-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-codec-socks:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-socks/4.1.42.Final/netty-codec-socks-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-socks/4.1.42.Final/netty-codec-socks-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec-socks/4.1.42.Final/netty-codec-socks-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-codec:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec/4.1.42.Final/netty-codec-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec/4.1.42.Final/netty-codec-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-codec/4.1.42.Final/netty-codec-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-common:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-common/4.1.42.Final/netty-common-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-common/4.1.42.Final/netty-common-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-common/4.1.42.Final/netty-common-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-handler-proxy:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-handler-proxy/4.1.42.Final/netty-handler-proxy-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-handler-proxy/4.1.42.Final/netty-handler-proxy-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-handler-proxy/4.1.42.Final/netty-handler-proxy-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-handler:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-handler/4.1.42.Final/netty-handler-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-handler/4.1.42.Final/netty-handler-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-handler/4.1.42.Final/netty-handler-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-resolver:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-resolver/4.1.42.Final/netty-resolver-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-resolver/4.1.42.Final/netty-resolver-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-resolver/4.1.42.Final/netty-resolver-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-tcnative-boringssl-static:2.0.25.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-tcnative-boringssl-static/2.0.25.Final/netty-tcnative-boringssl-static-2.0.25.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-tcnative-boringssl-static/2.0.25.Final/netty-tcnative-boringssl-static-2.0.25.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-tcnative-boringssl-static/2.0.25.Final/netty-tcnative-boringssl-static-2.0.25.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.netty:netty-transport:4.1.42.Final">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-transport/4.1.42.Final/netty-transport-4.1.42.Final.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-transport/4.1.42.Final/netty-transport-4.1.42.Final-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/netty/netty-transport/4.1.42.Final/netty-transport-4.1.42.Final-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.opencensus:opencensus-api:0.21.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-api/0.21.0/opencensus-api-0.21.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-api/0.21.0/opencensus-api-0.21.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-api/0.21.0/opencensus-api-0.21.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.opencensus:opencensus-contrib-grpc-metrics:0.21.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-contrib-grpc-metrics/0.21.0/opencensus-contrib-grpc-metrics-0.21.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-contrib-grpc-metrics/0.21.0/opencensus-contrib-grpc-metrics-0.21.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-contrib-grpc-metrics/0.21.0/opencensus-contrib-grpc-metrics-0.21.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: io.perfmark:perfmark-api:0.19.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.apache.kafka:kafka-clients:1.0.0">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/kafka/kafka-clients/1.0.0/kafka-clients-1.0.0.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/kafka/kafka-clients/1.0.0/kafka-clients-1.0.0-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/kafka/kafka-clients/1.0.0/kafka-clients-1.0.0-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.apache.logging.log4j:log4j-api:2.12.1">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.checkerframework:checker-compat-qual:2.5.5">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.17">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.lz4:lz4-java:1.4">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/lz4/lz4-java/1.4/lz4-java-1.4.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/lz4/lz4-java/1.4/lz4-java-1.4-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/lz4/lz4-java/1.4/lz4-java-1.4-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.slf4j:jul-to-slf4j:1.7.29">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.29/jul-to-slf4j-1.7.29.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.29/jul-to-slf4j-1.7.29-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.29/jul-to-slf4j-1.7.29-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.slf4j:slf4j-api:1.7.25">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/2.2.1.RELEASE/spring-boot-autoconfigure-2.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/2.2.1.RELEASE/spring-boot-autoconfigure-2.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/2.2.1.RELEASE/spring-boot-autoconfigure-2.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/2.2.1.RELEASE/spring-boot-starter-logging-2.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/2.2.1.RELEASE/spring-boot-starter-logging-2.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/2.2.1.RELEASE/spring-boot-starter-logging-2.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework.boot:spring-boot-starter:2.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/2.2.1.RELEASE/spring-boot-starter-2.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/2.2.1.RELEASE/spring-boot-starter-2.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/2.2.1.RELEASE/spring-boot-starter-2.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework.boot:spring-boot:2.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/2.2.1.RELEASE/spring-boot-2.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/2.2.1.RELEASE/spring-boot-2.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/2.2.1.RELEASE/spring-boot-2.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework:spring-aop:5.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.2.1.RELEASE/spring-aop-5.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.2.1.RELEASE/spring-aop-5.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.2.1.RELEASE/spring-aop-5.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework:spring-beans:5.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.2.1.RELEASE/spring-beans-5.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.2.1.RELEASE/spring-beans-5.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.2.1.RELEASE/spring-beans-5.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework:spring-context:5.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.2.1.RELEASE/spring-context-5.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.2.1.RELEASE/spring-context-5.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.2.1.RELEASE/spring-context-5.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework:spring-core:5.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.2.1.RELEASE/spring-core-5.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.2.1.RELEASE/spring-core-5.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.2.1.RELEASE/spring-core-5.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework:spring-expression:5.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.2.1.RELEASE/spring-expression-5.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.2.1.RELEASE/spring-expression-5.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.2.1.RELEASE/spring-expression-5.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.springframework:spring-jcl:5.2.1.RELEASE">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.2.1.RELEASE/spring-jcl-5.2.1.RELEASE.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.2.1.RELEASE/spring-jcl-5.2.1.RELEASE-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.2.1.RELEASE/spring-jcl-5.2.1.RELEASE-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.xerial.snappy:snappy-java:1.1.4">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/xerial/snappy/snappy-java/1.1.4/snappy-java-1.1.4.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/xerial/snappy/snappy-java/1.1.4/snappy-java-1.1.4-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/xerial/snappy/snappy-java/1.1.4/snappy-java-1.1.4-sources.jar!/" />
+      </SOURCES>
+    </library>
+    <library name="Maven: org.yaml:snakeyaml:1.15">
+      <CLASSES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.15/snakeyaml-1.15.jar!/" />
+      </CLASSES>
+      <JAVADOC>
+        <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.15/snakeyaml-1.15-javadoc.jar!/" />
+      </JAVADOC>
+      <SOURCES>
+        <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.15/snakeyaml-1.15-sources.jar!/" />
+      </SOURCES>
+    </library>
+  </component>
 </project>
\ No newline at end of file
diff --git a/airavata-data-lake.iws b/airavata-data-lake.iws
index 16dcad0..adc85d9 100644
--- a/airavata-data-lake.iws
+++ b/airavata-data-lake.iws
@@ -5,23 +5,47 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="1d1ef003-bfaa-49fa-837e-dc14d1daa977" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/AbstractListener.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/publisher/MessageProducer.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/pom.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/APIServerInitializer.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/pom.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/AbstractTask.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/airavata-data-lake.ipr" beforeDir="false" afterPath="$PROJECT_DIR$/airavata-data-lake.ipr" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/airavata-data-lake.iws" beforeDir="false" afterPath="$PROJECT_DIR$/airavata-data-lake.iws" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/resources/application.properties" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/pom.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/Application.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/HookController.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/TransferController.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/remote/SFTPController.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/entity/SFTPCredentialEntity.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/entity/SFTPRemoteEntity.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/repo/SFTPCredentialRepository.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/repo/SFTPRemoteRepository.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/TransferEntry.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/remote/SFTPCredential.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/remote/SFTPRemote.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/pom.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/listener/AbstractListener.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/model/NotificationEvent.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEvent.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/processor/EventProcessor.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/EventPublisher.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/publisher/ClientEventsPublisher.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/publisher/PublisherCallback.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/pom.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/FileClientInitializer.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/FileClientInitializer.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/adaptor/FileAdaptor.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/Listener/FileListener.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/FileEvent.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/FileEvent.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcher.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcher.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/logback.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-core/pom.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/task/AbstractTask.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/pom.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationMessage.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-orchestrator/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/data-orchestrator/pom.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/metadata-service/db-service/client/src/main/java/org/apache/airavata/datalake/metadata/clients/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/client/src/main/java/org/apache/airavata/datalake/metadata/clients/Test.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/Service.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/Service.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Entity.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Entity.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Resource.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Resource.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/User.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/User.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-stubs/drms.pb" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-stubs/drms.pb" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/metadata-service/data-builders/data-builders.iml" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/data-builders/data-builders.iml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -192,14 +216,22 @@
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
-        <option value="Class" />
         <option value="Interface" />
+        <option value="Class" />
       </list>
     </option>
   </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
+  <component name="GitSEFilterConfiguration">
+    <file-type-list>
+      <filtered-out-file-type name="LOCAL_BRANCH" />
+      <filtered-out-file-type name="REMOTE_BRANCH" />
+      <filtered-out-file-type name="TAG" />
+      <filtered-out-file-type name="COMMIT_BY_MESSAGE" />
+    </file-type-list>
+  </component>
   <component name="HierarchyBrowserManager">
     <option name="SHOW_PACKAGES" value="false" />
     <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
@@ -275,22 +307,24 @@
     <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources" />
     <property name="nodejs_package_manager_path" value="npm" />
   </component>
   <component name="RecentsManager">
     <key name="CopyFile.RECENT_KEYS">
+      <recent name="$PROJECT_DIR$/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources" />
       <recent name="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources" />
       <recent name="$PROJECT_DIR$/commons/src/main/java/org/apache/airavata/datalake/commons" />
       <recent name="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/interceptors" />
       <recent name="$PROJECT_DIR$/metadata-service" />
     </key>
     <key name="MoveFile.RECENT_KEYS">
+      <recent name="$PROJECT_DIR$/data-orchestrator/data-orchestrator-service" />
       <recent name="$PROJECT_DIR$/metadata-service/db-rest-proxy/src/main/resources" />
       <recent name="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources" />
     </key>
   </component>
-  <component name="RunManager" selected="Application.Client">
+  <component name="RunManager" selected="Spring Boot.APIServerInitializer">
     <configuration selected="false" default="true" type="Applet" factoryName="Applet">
       <module name="" />
       <option name="MAIN_CLASS_NAME" />
@@ -335,13 +369,15 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
+    <configuration default="true" type="ArquillianTestNG" factoryName="" nameIsGenerated="true">
       <option name="arquillianRunConfiguration">
         <value>
           <option name="containerStateName" value="" />
         </value>
       </option>
-      <option name="TEST_OBJECT" value="class" />
+      <option name="TEST_OBJECT" value="CLASS" />
+      <properties />
+      <listeners />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -357,6 +393,19 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
+    <configuration name="APIServerInitializer" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" temporary="true" nameIsGenerated="true">
+      <module name="data-orchestrator-api-server" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="org.apache.airavata.datalake.orchestrator.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.airavata.datalake.orchestrator.APIServerInitializer" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
     <configuration name="DRMSApiRunner" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" temporary="true" nameIsGenerated="true">
       <module name="drms-api" />
       <extension name="coverage">
@@ -370,25 +419,41 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration name="Neo4JServiceInitializer" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" temporary="true" nameIsGenerated="true">
-      <module name="server" />
+    <configuration name="FileClientInitializer" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" temporary="true" nameIsGenerated="true">
+      <module name="data-orchestrator-file-event-listener" />
       <extension name="coverage">
         <pattern>
-          <option name="PATTERN" value="org.apache.airavata.datalake.metadata.*" />
+          <option name="PATTERN" value="org.apache.airavata.dataorchestrator.file.client.*" />
           <option name="ENABLED" value="true" />
         </pattern>
       </extension>
-      <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.airavata.datalake.metadata.Neo4JServiceInitializer" />
+      <option name="SPRING_BOOT_MAIN_CLASS" value="org.apache.airavata.dataorchestrator.file.client.FileClientInitializer" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <additionalParameters>
+        <param>
+          <option name="enabled" value="true" />
+          <option name="name" value="config" />
+          <option name="value" value="$PROJECT_DIR$/../../texts" />
+        </param>
+      </additionalParameters>
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
     </configuration>
+    <list>
+      <item itemvalue="Application.Client" />
+      <item itemvalue="Application.Test" />
+      <item itemvalue="Spring Boot.DRMSApiRunner" />
+      <item itemvalue="Spring Boot.FileClientInitializer" />
+      <item itemvalue="Spring Boot.APIServerInitializer" />
+    </list>
     <recent_temporary>
       <list>
+        <item itemvalue="Spring Boot.APIServerInitializer" />
+        <item itemvalue="Spring Boot.FileClientInitializer" />
         <item itemvalue="Application.Client" />
         <item itemvalue="Spring Boot.DRMSApiRunner" />
         <item itemvalue="Application.Test" />
-        <item itemvalue="Spring Boot.Neo4JServiceInitializer" />
       </list>
     </recent_temporary>
   </component>
@@ -439,6 +504,7 @@
       <workItem from="1617717367883" duration="16718000" />
       <workItem from="1619528905307" duration="115000" />
       <workItem from="1620245029118" duration="11436000" />
+      <workItem from="1620909178858" duration="61118000" />
     </task>
     <servers />
   </component>
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/Application.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/Application.java
deleted file mode 100644
index df78fc2..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/Application.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * TODO: Spring Boot API
- */
-@SpringBootApplication
-public class Application {
-    public static void main(String[] args) {
-        SpringApplication.run(Application.class, args);
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/HookController.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/HookController.java
deleted file mode 100644
index c171681..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/HookController.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.controller;
-
-public class HookController {
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/TransferController.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/TransferController.java
deleted file mode 100644
index 5e5b04c..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/TransferController.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.controller;
-
-import org.apache.airavata.datalake.orchestrator.api.model.TransferEntry;
-import org.springframework.web.bind.annotation.*;
-
-@RestController
-@RequestMapping(path = "/transfer")
-public class TransferController {
-
-    @PostMapping(path = "")
-    public String createTransfer(@RequestBody TransferEntry transferEntry) {
-        return "transfer-id";
-    }
-
-    @GetMapping(path = "/start/{transferId}")
-    public String startTransfer(@PathVariable(name = "transferId") String transferId) {
-        return "trackingId";
-    }
-
-    @GetMapping(path = "/track/{trackingId}")
-    public String trackTransfer(@PathVariable(name = "trackingId") String trackingId) {
-        return "RUNNING";
-    }
-
-    @GetMapping(path = "/cancel/{trackingId}")
-    public String cancelTransfer(@PathVariable(name = "trackingId") String trackingId) {
-        return "CANCELLED";
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/remote/SFTPController.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/remote/SFTPController.java
deleted file mode 100644
index e7bced6..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/controller/remote/SFTPController.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.controller.remote;
-
-import org.apache.airavata.datalake.orchestrator.api.db.entity.SFTPRemoteEntity;
-import org.apache.airavata.datalake.orchestrator.api.db.repo.SFTPRemoteRepository;
-import org.apache.airavata.datalake.orchestrator.api.model.remote.SFTPRemote;
-import org.dozer.DozerBeanMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.server.ResponseStatusException;
-
-import java.util.Optional;
-
-@RestController
-@RequestMapping(path = "/remotes/sftp")
-public class SFTPController {
-
-    @Autowired
-    private SFTPRemoteRepository sftpRemoteRepository;
-
-    @GetMapping(value = "/{remoteId}", produces = "application/json")
-    public SFTPRemote fetchSFTPRemote(@PathVariable(name = "remoteId") String remoteId) {
-
-        Optional<SFTPRemoteEntity> entityOp = sftpRemoteRepository.findById(remoteId);
-        SFTPRemoteEntity sftpRemoteEntity = entityOp.orElseThrow(
-                                        () -> new ResponseStatusException(HttpStatus.NOT_FOUND, remoteId + " not found"));
-        DozerBeanMapper mapper = new DozerBeanMapper();
-        return mapper.map(sftpRemoteEntity, SFTPRemote.class);
-    }
-
-    @PostMapping(value = "")
-    public String createSFTPRemote(@RequestBody SFTPRemote sftpRemote) {
-
-        DozerBeanMapper mapper = new DozerBeanMapper();
-        SFTPRemoteEntity sftpRemoteEntity = mapper.map(sftpRemote, SFTPRemoteEntity.class);
-        SFTPRemoteEntity saved = sftpRemoteRepository.save(sftpRemoteEntity);
-        return saved.getId();
-    }
-
-    @PutMapping(value = "/{remoteId}")
-    public String updateSFTPRemote(@RequestBody SFTPRemote sftpRemote,
-                                   @PathVariable(name = "remoteId") String remoteId) {
-
-        DozerBeanMapper mapper = new DozerBeanMapper();
-        SFTPRemoteEntity sftpRemoteEntity = mapper.map(sftpRemote, SFTPRemoteEntity.class);
-        sftpRemoteEntity.setId(remoteId);
-        SFTPRemoteEntity saved = sftpRemoteRepository.save(sftpRemoteEntity);
-        return saved.getId();
-    }
-
-    @DeleteMapping(value = "/{remoteId}")
-    public String removeSFTPRemote(@PathVariable(name = "remoteId") String remoteId) {
-
-        if (! sftpRemoteRepository.existsById(remoteId)) {
-            throw new ResponseStatusException(HttpStatus.NOT_FOUND, remoteId + " not found");
-        }
-        sftpRemoteRepository.deleteById(remoteId);
-        return "Success";
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/entity/SFTPCredentialEntity.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/entity/SFTPCredentialEntity.java
deleted file mode 100644
index 6b5a294..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/entity/SFTPCredentialEntity.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.db.entity;
-
-import org.hibernate.annotations.GenericGenerator;
-
-import javax.persistence.*;
-import java.util.List;
-
-@Entity
-public class SFTPCredentialEntity {
-
-    @Id
-    @GeneratedValue(generator = "uuid")
-    @GenericGenerator(name = "uuid", strategy = "uuid2")
-    @Column(name = "ID")
-    private String id;
-
-    @Column(name = "USER_NAME")
-    private String userName;
-
-    @Column(name = "EXISTING_KEY_ID")
-    private String existingKeyId;
-
-    @Column(name = "PUBLIC_KEY")
-    private String publicKey;
-
-    @Column(name = "PRIVATE_KEY")
-    private String privateKey;
-
-    @Column(name = "PASSPHRASE")
-    private String passphrase;
-
-    @Column(name = "PASSWORD")
-    private String password;
-
-    @Column(name = "AUTH_METHOD")
-    private String authMethod;
-
-    @OneToMany(mappedBy = "credential", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
-    private List<SFTPRemoteEntity> sftpRemotes;
-
-    public String getId() {
-        return id;
-    }
-
-    public SFTPCredentialEntity setId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public String getUserName() {
-        return userName;
-    }
-
-    public SFTPCredentialEntity setUserName(String userName) {
-        this.userName = userName;
-        return this;
-    }
-
-    public String getExistingKeyId() {
-        return existingKeyId;
-    }
-
-    public SFTPCredentialEntity setExistingKeyId(String existingKeyId) {
-        this.existingKeyId = existingKeyId;
-        return this;
-    }
-
-    public String getPublicKey() {
-        return publicKey;
-    }
-
-    public SFTPCredentialEntity setPublicKey(String publicKey) {
-        this.publicKey = publicKey;
-        return this;
-    }
-
-    public String getPrivateKey() {
-        return privateKey;
-    }
-
-    public SFTPCredentialEntity setPrivateKey(String privateKey) {
-        this.privateKey = privateKey;
-        return this;
-    }
-
-    public String getPassphrase() {
-        return passphrase;
-    }
-
-    public SFTPCredentialEntity setPassphrase(String passphrase) {
-        this.passphrase = passphrase;
-        return this;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public SFTPCredentialEntity setPassword(String password) {
-        this.password = password;
-        return this;
-    }
-
-    public String getAuthMethod() {
-        return authMethod;
-    }
-
-    public SFTPCredentialEntity setAuthMethod(String authMethod) {
-        this.authMethod = authMethod;
-        return this;
-    }
-
-    public List<SFTPRemoteEntity> getSftpRemotes() {
-        return sftpRemotes;
-    }
-
-    public SFTPCredentialEntity setSftpRemotes(List<SFTPRemoteEntity> sftpRemotes) {
-        this.sftpRemotes = sftpRemotes;
-        return this;
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/entity/SFTPRemoteEntity.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/entity/SFTPRemoteEntity.java
deleted file mode 100644
index 2ab128b..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/entity/SFTPRemoteEntity.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.db.entity;
-
-import org.hibernate.annotations.GenericGenerator;
-
-import javax.persistence.*;
-
-@Entity
-public class SFTPRemoteEntity {
-
-    @Id
-    @GeneratedValue(generator = "uuid")
-    @GenericGenerator(name = "uuid", strategy = "uuid2")
-    @Column(name = "ID")
-    private String id;
-
-    @Column(name = "NAME")
-    private String name;
-
-    @Column(name = "HOST")
-    private String host;
-
-    @Column(name = "PORT")
-    private Integer port;
-
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
-    @JoinColumn(name = "CREDENTIAL_ID")
-    private SFTPCredentialEntity credential;
-
-    public String getId() {
-        return id;
-    }
-
-    public SFTPRemoteEntity setId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public SFTPRemoteEntity setName(String name) {
-        this.name = name;
-        return this;
-    }
-
-    public String getHost() {
-        return host;
-    }
-
-    public SFTPRemoteEntity setHost(String host) {
-        this.host = host;
-        return this;
-    }
-
-    public Integer getPort() {
-        return port;
-    }
-
-    public SFTPRemoteEntity setPort(Integer port) {
-        this.port = port;
-        return this;
-    }
-
-    public SFTPCredentialEntity getCredential() {
-        return credential;
-    }
-
-    public SFTPRemoteEntity setCredential(SFTPCredentialEntity credential) {
-        this.credential = credential;
-        return this;
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/repo/SFTPCredentialRepository.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/repo/SFTPCredentialRepository.java
deleted file mode 100644
index 7548008..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/repo/SFTPCredentialRepository.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.db.repo;
-
-import org.apache.airavata.datalake.orchestrator.api.db.entity.SFTPCredentialEntity;
-import org.springframework.data.repository.CrudRepository;
-
-public interface SFTPCredentialRepository extends CrudRepository<SFTPCredentialEntity, String> {
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/repo/SFTPRemoteRepository.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/repo/SFTPRemoteRepository.java
deleted file mode 100644
index 04aa5bb..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/db/repo/SFTPRemoteRepository.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.db.repo;
-
-import org.apache.airavata.datalake.orchestrator.api.db.entity.SFTPRemoteEntity;
-import org.springframework.data.repository.CrudRepository;
-
-public interface SFTPRemoteRepository extends CrudRepository<SFTPRemoteEntity, String> {
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/TransferEntry.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/TransferEntry.java
deleted file mode 100644
index a597836..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/TransferEntry.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.model;
-
-public class TransferEntry {
-
-    private String id;
-    private String sourceRemoteId;
-    private String sourcePath;
-
-    private String destRemoteId;
-    private String destPath;
-
-    public String getId() {
-        return id;
-    }
-
-    public TransferEntry setId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public String getSourceRemoteId() {
-        return sourceRemoteId;
-    }
-
-    public TransferEntry setSourceRemoteId(String sourceRemoteId) {
-        this.sourceRemoteId = sourceRemoteId;
-        return this;
-    }
-
-    public String getSourcePath() {
-        return sourcePath;
-    }
-
-    public TransferEntry setSourcePath(String sourcePath) {
-        this.sourcePath = sourcePath;
-        return this;
-    }
-
-    public String getDestRemoteId() {
-        return destRemoteId;
-    }
-
-    public TransferEntry setDestRemoteId(String destRemoteId) {
-        this.destRemoteId = destRemoteId;
-        return this;
-    }
-
-    public String getDestPath() {
-        return destPath;
-    }
-
-    public TransferEntry setDestPath(String destPath) {
-        this.destPath = destPath;
-        return this;
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/remote/SFTPCredential.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/remote/SFTPCredential.java
deleted file mode 100644
index ee9a91c..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/remote/SFTPCredential.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.model.remote;
-
-public class SFTPCredential {
-
-    public enum AuthMethod {SSH_KEY, PASSWORD}
-    private String id;
-
-    private String userName;
-
-    private String existingKeyId;
-
-    private String publicKey;
-    private String privateKey;
-    private String passphrase;
-
-    private String password;
-
-    private AuthMethod authMethod;
-
-    public String getId() {
-        return id;
-    }
-
-    public SFTPCredential setId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public String getUserName() {
-        return userName;
-    }
-
-    public SFTPCredential setUserName(String userName) {
-        this.userName = userName;
-        return this;
-    }
-
-    public String getExistingKeyId() {
-        return existingKeyId;
-    }
-
-    public SFTPCredential setExistingKeyId(String existingKeyId) {
-        this.existingKeyId = existingKeyId;
-        return this;
-    }
-
-    public String getPublicKey() {
-        return publicKey;
-    }
-
-    public SFTPCredential setPublicKey(String publicKey) {
-        this.publicKey = publicKey;
-        return this;
-    }
-
-    public String getPrivateKey() {
-        return privateKey;
-    }
-
-    public SFTPCredential setPrivateKey(String privateKey) {
-        this.privateKey = privateKey;
-        return this;
-    }
-
-    public String getPassphrase() {
-        return passphrase;
-    }
-
-    public SFTPCredential setPassphrase(String passphrase) {
-        this.passphrase = passphrase;
-        return this;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public SFTPCredential setPassword(String password) {
-        this.password = password;
-        return this;
-    }
-
-    public AuthMethod getAuthMethod() {
-        return authMethod;
-    }
-
-    public SFTPCredential setAuthMethod(AuthMethod authMethod) {
-        this.authMethod = authMethod;
-        return this;
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/remote/SFTPRemote.java b/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/remote/SFTPRemote.java
deleted file mode 100644
index 68d6578..0000000
--- a/data-orchestrator/data-orchestrator-api/src/main/java/org/apache/airavata/datalake/orchestrator/api/model/remote/SFTPRemote.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.airavata.datalake.orchestrator.api.model.remote;
-
-public class SFTPRemote {
-    private String id;
-    private String name;
-    private String host;
-    private Integer port;
-    private SFTPCredential credential;
-
-    public String getId() {
-        return id;
-    }
-
-    public SFTPRemote setId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public SFTPRemote setName(String name) {
-        this.name = name;
-        return this;
-    }
-
-    public String getHost() {
-        return host;
-    }
-
-    public SFTPRemote setHost(String host) {
-        this.host = host;
-        return this;
-    }
-
-    public Integer getPort() {
-        return port;
-    }
-
-    public SFTPRemote setPort(Integer port) {
-        this.port = port;
-        return this;
-    }
-
-    public SFTPCredential getCredential() {
-        return credential;
-    }
-
-    public SFTPRemote setCredential(SFTPCredential credential) {
-        this.credential = credential;
-        return this;
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/pom.xml b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/pom.xml
index 6178750..6ec8b80 100644
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/pom.xml
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/pom.xml
@@ -22,11 +22,7 @@
             <artifactId>data-orchestrator-messaging</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.kafka</groupId>
-            <artifactId>kafka-clients</artifactId>
-            <version>${kafka-clients.version}</version>
-        </dependency>
+
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/AbstractListener.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/AbstractListener.java
new file mode 100644
index 0000000..fbadc62
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/AbstractListener.java
@@ -0,0 +1,51 @@
+package org.apache.airavata.dataorchestrator.clients.core;
+
+import org.apache.airavata.dataorchestrator.messaging.MessagingEvents;
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.EventListener;
+
+/**
+ * Abstract class for data orchestrator clients event listeners.
+ */
+public abstract class AbstractListener implements EventListener {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(AbstractListener.class);
+
+    private EventPublisher eventPublisher;
+
+    public AbstractListener(EventPublisher eventPublisher) {
+        this.eventPublisher = eventPublisher;
+    }
+
+    public void onRegistered(NotificationEvent event) throws Exception {
+        LOGGER.info(" Registration event received for path " + event.getResourcePath());
+        eventPublisher.publish(event, MessagingEvents.REGISTER);
+
+    }
+
+    public void onCreated(NotificationEvent event) throws Exception {
+        LOGGER.info(event.getResourceType() + " " +
+                event.getResourcePath() + ":" + event.getResourceName() + " Created");
+        eventPublisher.publish(event, MessagingEvents.CREATE);
+
+    }
+
+    public void onModified(NotificationEvent event) throws Exception {
+        LOGGER.info(event.getResourceType() + " " +
+                event.getResourcePath() + ":" + event.getResourceName() + " Created");
+        eventPublisher.publish(event, MessagingEvents.MODIFIED);
+
+    }
+
+    public void onDeleted(NotificationEvent event) throws Exception {
+        LOGGER.info(event.getResourceType() + " " +
+                event.getResourcePath() + ":" + event.getResourceName() + " Created");
+        eventPublisher.publish(event, MessagingEvents.DELETE);
+
+    }
+
+
+}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/EventPublisher.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/EventPublisher.java
new file mode 100644
index 0000000..53b40c9
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/EventPublisher.java
@@ -0,0 +1,17 @@
+package org.apache.airavata.dataorchestrator.clients.core;
+
+import org.apache.airavata.dataorchestrator.messaging.MessagingEvents;
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
+
+import java.util.concurrent.ExecutionException;
+
+/**
+ * A class responsible for process incoming notification events, callbacks from kafka producer, message replays
+ */
+public interface EventPublisher {
+
+
+    public void publish(NotificationEvent notificationEvent, MessagingEvents event) throws Exception;
+
+
+}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/listener/AbstractListener.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/listener/AbstractListener.java
deleted file mode 100644
index b226b5b..0000000
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/listener/AbstractListener.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.airavata.dataorchestrator.clients.core.listener;
-
-import org.apache.airavata.dataorchestrator.clients.core.model.NotificationEvent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.EventListener;
-
-/**
- * Abstract class for data orchestrator clients event listeners.
- */
-public abstract class AbstractListener implements EventListener {
-
-    private static final Logger LOGGER = LoggerFactory.getLogger(AbstractListener.class);
-
-
-    public void onRegistered(NotificationEvent event) {
-        LOGGER.info("Calling register method ");
-
-    }
-
-    public void onCreated(NotificationEvent event) {
-        LOGGER.info("Calling onCreated method ");
-
-    }
-
-    public void onModified(NotificationEvent event) {
-        LOGGER.info("Calling onModified method ");
-
-    }
-
-    public void onDeleted(NotificationEvent event) {
-        LOGGER.info("Calling onDeleted method ");
-
-    }
-
-
-}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/model/NotificationEvent.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/model/NotificationEvent.java
deleted file mode 100644
index 4808431..0000000
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/model/NotificationEvent.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.apache.airavata.dataorchestrator.clients.core.model;
-
-import java.util.EventObject;
-
-public abstract class NotificationEvent extends EventObject {
-
-    private String host;
-    private String port;
-    private String protocol;
-    private String resourcePath;
-    private String resourceName;
-    private String resourceType;
-
-
-    /**
-     * Constructs a prototypical Event.
-     *
-     * @param source the object on which the Event initially occurred
-     * @throws IllegalArgumentException if source is null
-     */
-    public NotificationEvent(Object source) {
-        super(source);
-    }
-
-    public String getHost() {
-        return host;
-    }
-
-    public void setHost(String host) {
-        this.host = host;
-    }
-
-    public String getPort() {
-        return port;
-    }
-
-    public void setPort(String port) {
-        this.port = port;
-    }
-
-    public String getProtocol() {
-        return protocol;
-    }
-
-    public void setProtocol(String protocol) {
-        this.protocol = protocol;
-    }
-
-    public String getResourcePath() {
-        return resourcePath;
-    }
-
-    public void setResourcePath(String resourcePath) {
-        this.resourcePath = resourcePath;
-    }
-
-    public String getResourceName() {
-        return resourceName;
-    }
-
-    public void setResourceName(String resourceName) {
-        this.resourceName = resourceName;
-    }
-
-    public String getResourceType() {
-        return resourceType;
-    }
-
-    public void setResourceType(String resourceType) {
-        this.resourceType = resourceType;
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/processor/EventProcessor.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/processor/EventProcessor.java
deleted file mode 100644
index abd6747..0000000
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/processor/EventProcessor.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.airavata.dataorchestrator.clients.core.processor;
-
-import org.apache.airavata.dataorchestrator.clients.core.model.NotificationEvent;
-import org.apache.airavata.dataorchestrator.messaging.MessagingEvents;
-
-/**
- * A class responsible for process incoming notification events, callbacks from kafka producer, message replays
- */
-public class EventProcessor {
-
-    public static EventProcessor eventProcessor = new EventProcessor();
-
-    private EventProcessor() {
-    }
-
-    public void publish(NotificationEvent notificationEvent, MessagingEvents event){
-
-    }
-
-
-    public static EventProcessor getEventProcessor() {
-        return eventProcessor;
-    }
-
-}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/publisher/ClientEventsPublisher.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/publisher/ClientEventsPublisher.java
deleted file mode 100644
index 28ab00e..0000000
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/publisher/ClientEventsPublisher.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.apache.airavata.dataorchestrator.clients.core.publisher;
-
-import org.apache.airavata.dataorchestrator.messaging.model.NotificationMessage;
-
-/**
- * Publish events to kafka queue that is listened by Kafka receiver
- */
-public class ClientEventsPublisher {
-
-    private static ClientEventsPublisher clientEventsPublisher = new ClientEventsPublisher();
-
-    private ClientEventsPublisher() {
-
-    }
-
-    public void publish(NotificationMessage notificationMessage, PublisherCallback callback) {
-
-    }
-
-    public static ClientEventsPublisher getClientEventsPublisher() {
-        return clientEventsPublisher;
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/publisher/PublisherCallback.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/publisher/PublisherCallback.java
deleted file mode 100644
index 1113c66..0000000
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-clients-core/src/main/java/org/apache/airavata/dataorchestrator/clients/core/publisher/PublisherCallback.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.apache.airavata.dataorchestrator.clients.core.publisher;
-
-import org.apache.kafka.clients.producer.RecordMetadata;
-
-@FunctionalInterface
-public interface PublisherCallback {
-
-    /**
-     * Handle response from Kafka producer
-     * @param recordMetadata
-     * @param exception
-     */
-    public void handleResponse(RecordMetadata recordMetadata, Exception exception);
-
-
-}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/logs/airavata.log b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/logs/airavata.log
new file mode 100644
index 0000000..f12965b
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/logs/airavata.log
@@ -0,0 +1,527 @@
+2021-05-14 10:09:07,423 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 33339 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:09:07,427 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:09:07,689 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.623 seconds (JVM running for 0.977) []
+2021-05-14 10:09:07,690 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:09:07,691 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:09:07,713 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+2021-05-14 10:09:07,714 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+2021-05-14 10:09:07,716 [main] ERROR o.s.boot.SpringApplication Application run failed []
+java.lang.IllegalStateException: Failed to execute CommandLineRunner
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:787)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:23)
+Caused by: java.lang.NullPointerException: null
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:40)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	... 5 common frames omitted
+2021-05-14 10:14:19,518 [main] WARN  o.s.boot.StartupInfoLogger InetAddress.getLocalHost().getHostName() took 205 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts). []
+2021-05-14 10:14:19,535 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 33387 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:14:19,535 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:14:19,769 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.639 seconds (JVM running for 1.013) []
+2021-05-14 10:14:19,770 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:14:19,770 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:14:19,771 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:14:19,788 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+2021-05-14 10:14:19,789 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path config.yml []
+2021-05-14 10:14:19,789 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+2021-05-14 10:14:19,792 [main] ERROR o.s.boot.SpringApplication Application run failed []
+java.lang.IllegalStateException: Failed to execute CommandLineRunner
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:787)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:23)
+Caused by: java.lang.NullPointerException: null
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:40)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	... 5 common frames omitted
+2021-05-14 10:16:07,433 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 33428 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:16:07,436 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:16:07,688 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.446 seconds (JVM running for 0.822) []
+2021-05-14 10:16:07,689 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:16:07,689 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:16:07,689 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:16:07,717 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+org.yaml.snakeyaml.error.YAMLException: java.io.IOException: Stream closed
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
+	at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60)
+	at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:444)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.loadConfig(FileClientInitializer.java:52)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer$$Lambda$183/000000000000000000.apply(Unknown Source)
+	at java.base/java.util.Optional.map(Optional.java:265)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:37)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:23)
+Caused by: java.io.IOException: Stream closed
+	at java.base/java.io.PushbackInputStream.ensureOpen(PushbackInputStream.java:75)
+	at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:163)
+	at org.yaml.snakeyaml.reader.UnicodeReader.init(UnicodeReader.java:90)
+	at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:122)
+	at java.base/java.io.Reader.read(Reader.java:229)
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
+	... 12 common frames omitted
+2021-05-14 10:16:07,718 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path config.yml []
+2021-05-14 10:16:07,718 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+org.yaml.snakeyaml.error.YAMLException: java.io.IOException: Stream closed
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
+	at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60)
+	at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:444)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.loadConfig(FileClientInitializer.java:52)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.lambda$run$0(FileClientInitializer.java:38)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer$$Lambda$184/000000000000000000.get(Unknown Source)
+	at java.base/java.util.Optional.orElseGet(Optional.java:369)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:38)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:23)
+Caused by: java.io.IOException: Stream closed
+	at java.base/java.io.PushbackInputStream.ensureOpen(PushbackInputStream.java:75)
+	at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:163)
+	at org.yaml.snakeyaml.reader.UnicodeReader.init(UnicodeReader.java:90)
+	at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:122)
+	at java.base/java.io.Reader.read(Reader.java:229)
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
+	... 13 common frames omitted
+2021-05-14 10:16:07,719 [main] ERROR o.s.boot.SpringApplication Application run failed []
+java.lang.IllegalStateException: Failed to execute CommandLineRunner
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:787)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:23)
+Caused by: java.lang.NullPointerException: null
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:40)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	... 5 common frames omitted
+2021-05-14 10:23:53,654 [main] WARN  o.s.boot.StartupInfoLogger InetAddress.getLocalHost().getHostName() took 209 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts). []
+2021-05-14 10:23:53,669 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 33575 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:23:53,669 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:23:53,911 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.622 seconds (JVM running for 0.923) []
+2021-05-14 10:23:53,912 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:23:53,912 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:23:53,913 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:23:53,936 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+org.yaml.snakeyaml.error.YAMLException: java.io.IOException: Stream closed
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
+	at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60)
+	at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:444)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.loadConfig(FileClientInitializer.java:52)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer$$Lambda$183/000000000000000000.apply(Unknown Source)
+	at java.base/java.util.Optional.map(Optional.java:265)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:37)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:23)
+Caused by: java.io.IOException: Stream closed
+	at java.base/java.io.PushbackInputStream.ensureOpen(PushbackInputStream.java:75)
+	at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:163)
+	at org.yaml.snakeyaml.reader.UnicodeReader.init(UnicodeReader.java:90)
+	at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:122)
+	at java.base/java.io.Reader.read(Reader.java:229)
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
+	... 12 common frames omitted
+2021-05-14 10:23:53,937 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path config.yml []
+2021-05-14 10:23:53,937 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+org.yaml.snakeyaml.error.YAMLException: java.io.IOException: Stream closed
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
+	at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60)
+	at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:444)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.loadConfig(FileClientInitializer.java:52)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.lambda$run$0(FileClientInitializer.java:38)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer$$Lambda$184/000000000000000000.get(Unknown Source)
+	at java.base/java.util.Optional.orElseGet(Optional.java:369)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:38)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:23)
+Caused by: java.io.IOException: Stream closed
+	at java.base/java.io.PushbackInputStream.ensureOpen(PushbackInputStream.java:75)
+	at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:163)
+	at org.yaml.snakeyaml.reader.UnicodeReader.init(UnicodeReader.java:90)
+	at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:122)
+	at java.base/java.io.Reader.read(Reader.java:229)
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
+	... 13 common frames omitted
+2021-05-14 10:23:53,939 [main] ERROR o.s.boot.SpringApplication Application run failed []
+java.lang.IllegalStateException: Failed to execute CommandLineRunner
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:787)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:23)
+Caused by: java.lang.NullPointerException: null
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:40)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	... 5 common frames omitted
+2021-05-14 10:41:37,286 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 33811 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:41:37,289 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:41:37,509 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.377 seconds (JVM running for 0.645) []
+2021-05-14 10:41:37,510 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:41:37,510 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:41:37,510 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:41:37,531 [main] ERROR o.a.a.d.f.c.FileClientInitializer Error loading config file []
+org.yaml.snakeyaml.error.YAMLException: java.io.IOException: Stream closed
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
+	at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60)
+	at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:444)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.loadConfig(FileClientInitializer.java:53)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:39)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:22)
+Caused by: java.io.IOException: Stream closed
+	at java.base/java.io.PushbackInputStream.ensureOpen(PushbackInputStream.java:75)
+	at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:163)
+	at org.yaml.snakeyaml.reader.UnicodeReader.init(UnicodeReader.java:90)
+	at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:122)
+	at java.base/java.io.Reader.read(Reader.java:229)
+	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
+	... 10 common frames omitted
+2021-05-14 10:41:37,532 [main] ERROR o.s.boot.SpringApplication Application run failed []
+java.lang.IllegalStateException: Failed to execute CommandLineRunner
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:787)
+	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
+	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.main(FileClientInitializer.java:22)
+Caused by: java.lang.NullPointerException: null
+	at org.apache.airavata.dataorchestrator.file.client.FileClientInitializer.run(FileClientInitializer.java:41)
+	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784)
+	... 5 common frames omitted
+2021-05-14 10:45:05,678 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 33869 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:45:05,681 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:45:05,908 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.563 seconds (JVM running for 0.898) []
+2021-05-14 10:45:05,909 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:45:05,909 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:45:05,909 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:45:05,947 [main] INFO  o.a.a.d.f.c.FileClientInitializer SFTP []
+2021-05-14 10:45:05,947 [main] INFO  o.a.a.d.f.c.FileClientInitializer SFTP []
+2021-05-14 10:45:05,948 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 10:45:05,948 [main] INFO  o.a.a.d.c.c.l.AbstractListener Calling register method for folder /Users/isururanawaka/Documents/texts []
+2021-05-14 10:45:05,948 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 10:46:33,239 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 33905 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:46:33,242 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:46:33,431 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.317 seconds (JVM running for 0.55) []
+2021-05-14 10:46:33,432 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:46:33,432 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:46:33,433 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:46:33,465 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 10:46:33,465 [main] INFO  o.a.a.d.c.c.l.AbstractListener Calling register method for folder /Users/isururanawaka/Documents/texts []
+2021-05-14 10:46:33,466 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 10:50:36,856 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 33975 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:50:36,858 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:50:37,042 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.47 seconds (JVM running for 0.708) []
+2021-05-14 10:50:37,043 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:50:37,043 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:50:37,044 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:50:37,073 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 10:50:37,073 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 10:50:37,074 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 10:51:07,081 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File FIle.txt Deleted  []
+2021-05-14 10:51:27,080 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File test2 Created []
+2021-05-14 10:51:27,081 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 10:51:27,081 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 10:51:27,082 [Thread-4] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/test2 []
+2021-05-14 10:51:57,083 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File test2 Modified  []
+2021-05-14 10:51:57,084 [Thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File FIle.test Created []
+2021-05-14 10:54:27,084 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File test2 Modified  []
+2021-05-14 10:54:27,087 [Thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File test Created []
+2021-05-14 10:54:27,088 [Thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File FIle.test Deleted  []
+2021-05-14 10:57:30,808 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 34024 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 10:57:30,811 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 10:57:31,069 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.579 seconds (JVM running for 0.912) []
+2021-05-14 10:57:31,069 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 10:57:31,069 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:57:31,070 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 10:57:31,104 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 10:57:31,104 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 10:57:31,105 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 10:58:01,109 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File test2 Modified  []
+2021-05-14 10:58:31,109 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File test2 Modified  []
+2021-05-14 10:59:51,111 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File sdf Created []
+2021-05-14 10:59:51,113 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 10:59:51,113 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 10:59:51,113 [Thread-4] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/sdf []
+2021-05-14 11:05:27,708 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 34080 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 11:05:27,711 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 11:05:27,950 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.549 seconds (JVM running for 0.863) []
+2021-05-14 11:05:27,950 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 11:05:27,951 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 11:05:27,951 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 11:05:27,990 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:05:27,991 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:05:27,991 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 11:05:58,001 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File ffg Created []
+2021-05-14 11:05:58,002 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:05:58,002 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:05:58,003 [Thread-4] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/ffg []
+2021-05-14 11:06:07,998 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File ffg Modified  []
+2021-05-14 11:06:08,005 [Thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File dcfvgbh Created []
+2021-05-14 11:06:08,005 [Thread-4] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:06:08,005 [Thread-4] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:06:08,006 [Thread-5] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/ffg/dcfvgbh []
+2021-05-14 11:06:28,005 [Thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File dcfvgbh Modified  []
+2021-05-14 11:06:28,008 [Thread-5] INFO  o.a.a.d.c.c.l.AbstractListener File sedrfv.txt Created []
+2021-05-14 11:07:07,999 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File sdf Modified  []
+2021-05-14 11:07:17,999 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File sdf Modified  []
+2021-05-14 11:30:05,217 [main] WARN  o.s.boot.StartupInfoLogger InetAddress.getLocalHost().getHostName() took 210 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts). []
+2021-05-14 11:30:05,234 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 34540 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 11:30:05,235 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 11:30:05,526 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.708 seconds (JVM running for 1.088) []
+2021-05-14 11:30:05,527 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 11:30:05,528 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 11:30:05,528 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 11:30:05,573 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:30:05,573 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:30:05,587 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 11:30:05,593 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:30:05,593 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:30:05,594 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:30:05,594 [Thread-4] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/sdf []
+2021-05-14 11:30:05,594 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:30:05,594 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:30:05,594 [Thread-5] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/ffg []
+2021-05-14 11:30:05,594 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:30:05,594 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:30:05,594 [Thread-6] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/ffg/dcfvgbh []
+2021-05-14 11:30:05,594 [Thread-5] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:30:05,594 [Thread-5] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:30:05,595 [Thread-7] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/ffg/dcfvgbh []
+2021-05-14 11:30:05,594 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:30:05,596 [Thread-8] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/test2 []
+2021-05-14 11:30:05,596 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:30:05,597 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:30:05,597 [Thread-8] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:30:05,597 [Thread-9] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/test2/sdf []
+2021-05-14 11:30:05,597 [Thread-8] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for null []
+2021-05-14 11:30:05,597 [Thread-10] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts/test2/sdf []
+2021-05-14 11:31:05,597 [Thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File RGTYH.txrt.back Created []
+2021-05-14 11:57:05,035 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 34868 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 11:57:05,037 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 11:57:05,269 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.405 seconds (JVM running for 0.737) []
+2021-05-14 11:57:05,270 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 11:57:05,270 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 11:57:05,271 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 11:57:05,309 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 11:57:05,310 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for /Users/isururanawaka/Documents/texts []
+2021-05-14 11:57:05,313 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 11:57:05,316 [Thread-3] ERROR o.a.a.d.f.c.w.FileWatcher Error occurred while watching  folder /Users/isururanawaka/Documents/texts []
+java.nio.file.ClosedWatchServiceException: null
+	at java.base/sun.nio.fs.PollingWatchService.register(PollingWatchService.java:137)
+	at java.base/sun.nio.fs.UnixPath.register(UnixPath.java:920)
+	at java.base/java.nio.file.Path.register(Path.java:894)
+	at org.apache.airavata.dataorchestrator.file.client.watcher.FileWatcher.run(FileWatcher.java:76)
+	at java.base/java.lang.Thread.run(Thread.java:836)
+2021-05-14 12:05:31,026 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 34982 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 12:05:31,029 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 12:05:31,355 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.76 seconds (JVM running for 1.193) []
+2021-05-14 12:05:31,355 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 12:05:31,356 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:05:31,356 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:05:31,403 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 12:05:31,403 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for /Users/isururanawaka/Documents/texts []
+2021-05-14 12:05:31,407 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 12:06:01,413 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File texts Created []
+2021-05-14 12:13:04,563 [main] WARN  o.s.boot.StartupInfoLogger InetAddress.getLocalHost().getHostName() took 224 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts). []
+2021-05-14 12:13:04,577 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 35123 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 12:13:04,578 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 12:13:04,792 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.597 seconds (JVM running for 0.99) []
+2021-05-14 12:13:04,792 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 12:13:04,792 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:13:04,793 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:13:04,826 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 12:13:04,827 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for /Users/isururanawaka/Documents/texts []
+2021-05-14 12:13:04,827 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 12:13:24,834 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File texts Created []
+2021-05-14 12:23:40,454 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 35249 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 12:23:40,456 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 12:23:40,639 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.457 seconds (JVM running for 0.697) []
+2021-05-14 12:23:40,640 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 12:23:40,640 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:23:40,641 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:23:40,668 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 12:23:40,668 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for /Users/isururanawaka/Documents/texts []
+2021-05-14 12:23:40,669 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 12:24:50,677 [Thread-3] INFO  o.a.a.d.c.c.l.AbstractListener File texts Created []
+2021-05-14 12:35:50,631 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 35390 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 12:35:50,633 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 12:35:50,920 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.623 seconds (JVM running for 0.987) []
+2021-05-14 12:35:50,921 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 12:35:50,921 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:35:50,922 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:35:50,969 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 12:35:50,969 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for /Users/isururanawaka/Documents/texts []
+2021-05-14 12:35:50,970 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 12:35:50,974 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts in watcher service []
+2021-05-14 12:35:50,977 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/sdf in watcher service []
+2021-05-14 12:35:50,978 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/ffg in watcher service []
+2021-05-14 12:35:50,978 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/ffg/dcfvgbh in watcher service []
+2021-05-14 12:35:50,978 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/test2 in watcher service []
+2021-05-14 12:35:50,978 [Thread-3] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/test2/sdf in watcher service []
+2021-05-14 12:40:06,249 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 35439 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 12:40:06,251 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 12:40:06,492 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.566 seconds (JVM running for 0.895) []
+2021-05-14 12:40:06,492 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 12:40:06,493 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:40:06,493 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:40:06,533 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 12:40:06,534 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for /Users/isururanawaka/Documents/texts []
+2021-05-14 12:40:06,534 [main] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 12:40:06,537 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts in watcher service []
+2021-05-14 12:40:06,541 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/sdf in watcher service []
+2021-05-14 12:40:06,542 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/ffg in watcher service []
+2021-05-14 12:40:06,543 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/ffg/dcfvgbh in watcher service []
+2021-05-14 12:40:06,543 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/test2 in watcher service []
+2021-05-14 12:40:06,544 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/test2/sdf in watcher service []
+2021-05-14 12:40:06,545 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher Running ...... []
+2021-05-14 12:47:35,792 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 35508 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 12:47:35,794 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 12:47:36,095 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.684 seconds (JVM running for 1.064) []
+2021-05-14 12:47:36,095 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 12:47:36,096 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:47:36,096 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 12:47:36,150 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 12:47:36,151 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for /Users/isururanawaka/Documents/texts []
+2021-05-14 12:47:36,151 [main] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 12:47:36,154 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts in watcher service []
+2021-05-14 12:47:36,182 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/sdf in watcher service []
+2021-05-14 12:47:36,183 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/ffg in watcher service []
+2021-05-14 12:47:36,184 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/ffg/dcfvgbh in watcher service []
+2021-05-14 12:47:36,184 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/test2 in watcher service []
+2021-05-14 12:47:36,185 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/test2/sdf in watcher service []
+2021-05-14 12:47:36,187 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher Running ...... []
+2021-05-14 13:00:43,700 [main] WARN  o.s.boot.StartupInfoLogger InetAddress.getLocalHost().getHostName() took 209 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts). []
+2021-05-14 13:00:43,720 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 35823 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 13:00:43,721 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 13:00:43,902 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.522 seconds (JVM running for 0.748) []
+2021-05-14 13:00:43,902 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 13:00:43,903 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 13:00:43,903 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 13:00:43,931 [main] INFO  o.a.a.d.f.c.w.FileWatcher Starting watcher service ... []
+2021-05-14 13:00:43,932 [main] INFO  o.a.a.d.c.c.l.AbstractListener Caught register event for /Users/isururanawaka/Documents/texts []
+2021-05-14 13:00:43,932 [main] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service started at /Users/isururanawaka/Documents/texts []
+2021-05-14 13:00:43,935 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts in watcher service []
+2021-05-14 13:00:43,938 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/sdf in watcher service []
+2021-05-14 13:00:43,940 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/ffg in watcher service []
+2021-05-14 13:00:43,941 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/ffg/dcfvgbh in watcher service []
+2021-05-14 13:00:43,941 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/test2 in watcher service []
+2021-05-14 13:00:43,942 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/test2/sdf in watcher service []
+2021-05-14 13:00:43,943 [main] INFO  o.a.a.d.f.c.w.FileWatcher registering /Users/isururanawaka/Documents/texts/asdadas in watcher service []
+2021-05-14 13:00:43,944 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher Running ...... []
+2021-05-14 13:45:04,466 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 36026 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 13:45:04,468 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 13:45:04,646 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.473 seconds (JVM running for 0.694) []
+2021-05-14 13:45:04,646 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 13:45:04,646 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 13:45:04,647 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 13:45:04,677 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts []
+2021-05-14 13:45:04,679 [pool-1-thread-2] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/ffg []
+2021-05-14 13:45:04,679 [pool-1-thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/ffg/dcfvgbh []
+2021-05-14 13:45:04,680 [pool-1-thread-4] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2 []
+2021-05-14 13:45:04,681 [pool-1-thread-5] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2/sdf []
+2021-05-14 13:45:04,681 [pool-1-thread-6] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/asdadas []
+2021-05-14 13:46:04,684 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File texts Created []
+2021-05-14 13:48:20,617 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 36065 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 13:48:20,619 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 13:48:20,799 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.45 seconds (JVM running for 0.664) []
+2021-05-14 13:48:20,800 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 13:48:20,800 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 13:48:20,802 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 13:48:20,832 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts []
+2021-05-14 13:48:20,833 [pool-1-thread-2] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/ffg []
+2021-05-14 13:48:20,833 [pool-1-thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/ffg/dcfvgbh []
+2021-05-14 13:48:20,835 [pool-1-thread-4] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2 []
+2021-05-14 13:48:20,835 [pool-1-thread-5] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2/sdf []
+2021-05-14 13:48:20,836 [pool-1-thread-6] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/asdadas []
+2021-05-14 13:48:50,838 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File SDFG.txt.back Created []
+2021-05-14 13:50:10,839 [pool-1-thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File test.1.txt Created []
+2021-05-14 13:50:40,840 [pool-1-thread-7] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2/ferferfe []
+2021-05-14 13:50:50,842 [pool-1-thread-7] INFO  o.a.a.d.c.c.l.AbstractListener File .asdasda.txt.swp Created []
+2021-05-14 13:51:00,841 [pool-1-thread-7] INFO  o.a.a.d.c.c.l.AbstractListener File asdasda.txt Created []
+2021-05-14 13:54:30,846 [pool-1-thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File .test.1.txt.swp Created []
+2021-05-14 13:54:40,846 [pool-1-thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File test.1.txt Modified  []
+2021-05-14 13:55:00,846 [pool-1-thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File .test.1.txt.swp Created []
+2021-05-14 13:55:10,846 [pool-1-thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File test.1.txt Modified  []
+2021-05-14 14:00:02,946 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 36153 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 14:00:02,948 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 14:00:03,133 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.481 seconds (JVM running for 0.717) []
+2021-05-14 14:00:03,133 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 14:00:03,134 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 14:00:03,134 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 14:00:03,164 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts []
+2021-05-14 14:00:03,165 [pool-1-thread-2] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/ffg []
+2021-05-14 14:00:03,165 [pool-1-thread-3] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/ffg/dcfvgbh []
+2021-05-14 14:00:03,166 [pool-1-thread-4] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2 []
+2021-05-14 14:00:03,167 [pool-1-thread-5] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2/sdf []
+2021-05-14 14:00:03,167 [pool-1-thread-6] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2/ferferfe []
+2021-05-14 14:00:03,167 [pool-1-thread-7] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/asdadas []
+2021-05-14 14:00:23,170 [pool-1-thread-5] INFO  o.a.a.d.c.c.l.AbstractListener File FILE.txt Deleted  []
+2021-05-14 14:00:53,169 [pool-1-thread-8] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts/test2/sdf/lsdf []
+2021-05-14 14:01:43,170 [pool-1-thread-4] INFO  o.a.a.d.c.c.l.AbstractListener File sdf Deleted  []
+2021-05-14 14:17:51,031 [main] INFO  o.a.a.d.f.c.FileClientInitializer Starting FileClientInitializer on Isurus-MacBook-Pro.local with PID 36205 (/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/target/data-orchestrator-file-event-listener-0.01-SNAPSHOT-jar-with-dependencies.jar started by isururanawaka in /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orches [...]
+2021-05-14 14:17:51,033 [main] INFO  o.a.a.d.f.c.FileClientInitializer No active profile set, falling back to default profiles: default []
+2021-05-14 14:17:51,211 [main] INFO  o.a.a.d.f.c.FileClientInitializer Started FileClientInitializer in 0.477 seconds (JVM running for 0.701) []
+2021-05-14 14:17:51,212 [main] INFO  o.a.a.d.f.c.FileClientInitializer Initializing File watcher service ... []
+2021-05-14 14:17:51,212 [main] INFO  o.a.a.d.f.c.FileClientInitializer Listening to file path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 14:17:51,213 [main] INFO  o.a.a.d.f.c.FileClientInitializer File path /Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml []
+2021-05-14 14:17:51,240 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher Watcher service starting at /Users/isururanawaka/Documents/texts []
+2021-05-14 14:17:51,241 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher registering: /Users/isururanawaka/Documents/texts []
+2021-05-14 14:17:51,244 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher registering: /Users/isururanawaka/Documents/texts/ffg []
+2021-05-14 14:17:51,246 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher registering: /Users/isururanawaka/Documents/texts/ffg/dcfvgbh []
+2021-05-14 14:17:51,246 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher registering: /Users/isururanawaka/Documents/texts/test2 []
+2021-05-14 14:17:51,246 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher registering: /Users/isururanawaka/Documents/texts/test2/ferferfe []
+2021-05-14 14:17:51,247 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher registering: /Users/isururanawaka/Documents/texts/asdadas []
+2021-05-14 14:18:11,248 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File test2 Modified  []
+2021-05-14 14:18:11,248 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File .EDFCVGB.txt.swp Created []
+2021-05-14 14:18:21,246 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File test2 Modified  []
+2021-05-14 14:18:21,247 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File EDFCVGB.txt Created []
+2021-05-14 14:18:21,248 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File .EDFCVGB.txt.swp Deleted  []
+2021-05-14 14:18:51,247 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File dcfvg Created []
+2021-05-14 14:18:51,247 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher registering: /Users/isururanawaka/Documents/texts/dcfvg []
+2021-05-14 14:19:11,248 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File dcfvg Modified  []
+2021-05-14 14:19:11,248 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File RFGTYH.txt Created []
+2021-05-14 15:07:56,936 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File ffg Modified  []
+2021-05-14 15:07:56,937 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Created []
+2021-05-14 15:07:56,937 [pool-1-thread-1] INFO  o.a.a.d.f.c.w.FileWatcher registering: /Users/isururanawaka/Documents/texts/ffg/fvgh []
+2021-05-14 15:08:06,940 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Modified  []
+2021-05-14 15:08:06,942 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File ASXDC.txt Created []
+2021-05-14 15:08:06,942 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File .ASXDC.txt.swp Deleted  []
+2021-05-14 15:08:46,945 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Modified  []
+2021-05-14 15:08:46,946 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File ASXDC.txt Deleted  []
+2021-05-15 13:22:42,216 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Modified  []
+2021-05-15 13:22:42,250 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File WSED.txt Created []
+2021-05-16 08:50:37,427 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Modified  []
+2021-05-16 08:50:37,435 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File .WSED.txt.swp Created []
+2021-05-16 08:50:47,422 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Modified  []
+2021-05-16 08:50:47,423 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File WSED.txt Modified  []
+2021-05-16 08:50:47,423 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File .WSED.txt.swp Deleted  []
+2021-05-16 14:04:04,017 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Modified  []
+2021-05-16 14:04:04,023 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File .WSED.txt.swp Created []
+2021-05-16 14:04:13,987 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Modified  []
+2021-05-16 14:04:13,989 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File WSED.txt Modified  []
+2021-05-16 14:04:13,992 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File .WSED.txt.swp Deleted  []
+2021-05-16 14:07:43,990 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File fvgh Modified  []
+2021-05-16 14:07:43,993 [pool-1-thread-1] INFO  o.a.a.d.c.c.l.AbstractListener File WSED.txt Modified  []
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/pom.xml b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/pom.xml
index 2a613c7..e8880bd 100644
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/pom.xml
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/pom.xml
@@ -38,6 +38,21 @@
             <artifactId>data-orchestrator-clients-core</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.airavata.data.lake</groupId>
+            <artifactId>data-orchestrator-messaging</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.yaml</groupId>
+            <artifactId>snakeyaml</artifactId>
+            <version>${snakeyaml.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.kafka</groupId>
+            <artifactId>kafka-clients</artifactId>
+            <version>${kafka-clients.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/FileClientInitializer.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/FileClientInitializer.java
index 6b10964..97f5473 100644
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/FileClientInitializer.java
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/FileClientInitializer.java
@@ -1,14 +1,17 @@
 package org.apache.airavata.dataorchestrator.file.client;
 
-import org.apache.airavata.dataorchestrator.file.client.adaptor.FileAdaptor;
-import org.apache.airavata.dataorchestrator.file.client.watcher.FileWatcher;
+import org.apache.airavata.dataorchestrator.file.client.model.Configuration;
+import org.apache.airavata.dataorchestrator.file.client.watcher.FileWatcherExecutor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.yaml.snakeyaml.Yaml;
 
-import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.Optional;
 
 @SpringBootApplication
 public class FileClientInitializer implements CommandLineRunner {
@@ -23,10 +26,26 @@ public class FileClientInitializer implements CommandLineRunner {
     @Override
     public void run(String... args) throws Exception {
         LOGGER.info("Initializing File watcher service ...");
-        LOGGER.info("Listening to file path " + args[0]);
-        String path = args[0];
-        File folder = new File(path);
-        FileWatcher watcher = new FileWatcher(folder);
-        watcher.addListener(new FileAdaptor()).watch();
+        String filePath = null;
+        if (args.length > 0) {
+            filePath = args[0];
+        }
+
+        Configuration configuration = Optional.ofNullable(filePath).
+                map(this::loadConfig)
+                .orElseGet(() -> this.loadConfig("/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml"));
+        FileWatcherExecutor.startRecursiveWatching(configuration);
+    }
+
+
+    private Configuration loadConfig(String filePath) {
+        LOGGER.info("File path " + filePath);
+        try (InputStream in = new FileInputStream(filePath)) {
+            Yaml yaml = new Yaml();
+            return yaml.loadAs(in, Configuration.class);
+        } catch (Exception exception) {
+            LOGGER.error("Error loading config file", exception);
+        }
+        return null;
     }
 }
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/Listener/FileListener.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/Listener/FileListener.java
new file mode 100644
index 0000000..c204b52
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/Listener/FileListener.java
@@ -0,0 +1,34 @@
+package org.apache.airavata.dataorchestrator.file.client.Listener;
+
+import org.apache.airavata.dataorchestrator.clients.core.AbstractListener;
+import org.apache.airavata.dataorchestrator.clients.core.EventPublisher;
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
+
+public class FileListener extends AbstractListener {
+
+
+    public FileListener(EventPublisher eventPublisher) {
+        super(eventPublisher);
+    }
+
+    @Override
+    public void onRegistered(NotificationEvent event) throws Exception {
+        super.onRegistered(event);
+    }
+
+    @Override
+    public void onCreated(NotificationEvent event) throws Exception {
+        super.onCreated(event);
+    }
+
+    @Override
+    public void onModified(NotificationEvent event) throws Exception {
+        super.onModified(event);
+    }
+
+    @Override
+    public void onDeleted(NotificationEvent event) throws Exception {
+        super.onDeleted(event);
+    }
+
+}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/adaptor/FileAdaptor.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/adaptor/FileAdaptor.java
deleted file mode 100644
index 4b27a29..0000000
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/adaptor/FileAdaptor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.airavata.dataorchestrator.file.client.adaptor;
-
-import org.apache.airavata.dataorchestrator.clients.core.listener.AbstractListener;
-import org.apache.airavata.dataorchestrator.clients.core.model.NotificationEvent;
-
-public class FileAdaptor extends AbstractListener {
-
-    @Override
-    public void onRegistered(NotificationEvent event) {
-        super.onRegistered(event);
-    }
-
-    @Override
-    public void onCreated(NotificationEvent event) {
-        super.onCreated(event);
-    }
-
-    @Override
-    public void onModified(NotificationEvent event) {
-        super.onModified(event);
-    }
-
-    @Override
-    public void onDeleted(NotificationEvent event) {
-        super.onDeleted(event);
-    }
-}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/Configuration.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/Configuration.java
new file mode 100644
index 0000000..2771160
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/Configuration.java
@@ -0,0 +1,84 @@
+package org.apache.airavata.dataorchestrator.file.client.model;
+
+public class Configuration {
+    private String fileServerHost;
+    private int fileServerPort;
+    private String fileServerProtocol;
+    private String listeningPath;
+
+    private Producer producer;
+
+    public Configuration() {
+    }
+
+
+    public String getFileServerHost() {
+        return fileServerHost;
+    }
+
+    public void setFileServerHost(String fileServerHost) {
+        this.fileServerHost = fileServerHost;
+    }
+
+    public int getFileServerPort() {
+        return fileServerPort;
+    }
+
+    public void setFileServerPort(int fileServerPort) {
+        this.fileServerPort = fileServerPort;
+    }
+
+    public String getFileServerProtocol() {
+        return fileServerProtocol;
+    }
+
+    public void setFileServerProtocol(String fileServerProtocol) {
+        this.fileServerProtocol = fileServerProtocol;
+    }
+
+    public String getListeningPath() {
+        return listeningPath;
+    }
+
+    public void setListeningPath(String listeningPath) {
+        this.listeningPath = listeningPath;
+    }
+
+    public Producer getProducer() {
+        return producer;
+    }
+
+    public void setProducer(Producer producer) {
+        this.producer = producer;
+    }
+
+    public static class Producer {
+        private String brokerURL;
+        private String publisherId;
+        private String publisherTopic;
+
+        public String getBrokerURL() {
+            return brokerURL;
+        }
+
+        public void setBrokerURL(String brokerURL) {
+            this.brokerURL = brokerURL;
+        }
+
+        public String getPublisherId() {
+            return publisherId;
+        }
+
+        public void setPublisherId(String publisherId) {
+            this.publisherId = publisherId;
+        }
+
+        public String getPublisherTopic() {
+            return publisherTopic;
+        }
+
+        public void setPublisherTopic(String publisherTopic) {
+            this.publisherTopic = publisherTopic;
+        }
+    }
+}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/FileEvent.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/FileEvent.java
index b03f92d..e13498e 100644
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/FileEvent.java
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/model/FileEvent.java
@@ -1,24 +1,10 @@
 package org.apache.airavata.dataorchestrator.file.client.model;
 
-import org.apache.airavata.dataorchestrator.clients.core.model.NotificationEvent;
-
-import java.io.File;
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
 
 /**
  * A class representing a file
  */
 public class FileEvent extends NotificationEvent {
-    /**
-     * Constructs a prototypical Event.
-     *
-     * @param source the object on which the Event initially occurred
-     * @throws IllegalArgumentException if source is null
-     */
-    public FileEvent(File file) {
-        super(file);
-    }
 
-    public File getFile() {
-        return (File) getSource();
-    }
 }
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/publisher/FileEventPublisher.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/publisher/FileEventPublisher.java
new file mode 100644
index 0000000..82b8199
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/publisher/FileEventPublisher.java
@@ -0,0 +1,37 @@
+package org.apache.airavata.dataorchestrator.file.client.publisher;
+
+import org.apache.airavata.dataorchestrator.clients.core.EventPublisher;
+import org.apache.airavata.dataorchestrator.file.client.model.Configuration;
+import org.apache.airavata.dataorchestrator.messaging.MessagingEvents;
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
+import org.apache.airavata.dataorchestrator.messaging.publisher.MessageProducer;
+import org.apache.kafka.clients.producer.Callback;
+import org.apache.kafka.clients.producer.RecordMetadata;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.concurrent.ExecutionException;
+
+public class FileEventPublisher implements EventPublisher {
+    private static final Logger LOGGER = LoggerFactory.getLogger(FileEventPublisher.class);
+
+    private Configuration configuration;
+    private MessageProducer messageProducer;
+
+    public FileEventPublisher(Configuration configuration) {
+        this.configuration = configuration;
+        this.messageProducer = new MessageProducer(configuration.getProducer().getBrokerURL(),
+                configuration.getProducer().getPublisherId());
+    }
+
+    @Override
+    public void publish(NotificationEvent notificationEvent, MessagingEvents event) throws ExecutionException, InterruptedException {
+        notificationEvent.getContext().setEvent(event);
+        messageProducer.publish(configuration.getProducer().getPublisherTopic(), notificationEvent, new Callback() {
+            @Override
+            public void onCompletion(RecordMetadata recordMetadata, Exception e) {
+             LOGGER.info(" Complete message publishing");
+            }
+        });
+    }
+}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcher.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcher.java
index 8b2e09f..306345f 100644
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcher.java
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcher.java
@@ -1,7 +1,10 @@
 package org.apache.airavata.dataorchestrator.file.client.watcher;
 
-import org.apache.airavata.dataorchestrator.clients.core.listener.AbstractListener;
+import org.apache.airavata.dataorchestrator.clients.core.AbstractListener;
+import org.apache.airavata.dataorchestrator.file.client.model.Configuration;
 import org.apache.airavata.dataorchestrator.file.client.model.FileEvent;
+import org.apache.airavata.dataorchestrator.messaging.Constants;
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -9,8 +12,9 @@ import java.io.File;
 import java.io.IOException;
 import java.nio.file.*;
 import java.util.ArrayList;
-import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import static java.nio.file.StandardWatchEventKinds.*;
 
@@ -19,58 +23,35 @@ import static java.nio.file.StandardWatchEventKinds.*;
  */
 public class FileWatcher implements Runnable {
     private static final Logger LOGGER = LoggerFactory.getLogger(FileWatcher.class);
-    protected List<AbstractListener> listeners = new ArrayList<>();
+    private List<AbstractListener> listeners = new ArrayList<>();
 
-    protected final File folder;
+    private final File rootFolder;
 
-    protected static final List<WatchService> watchServices = new ArrayList<>();
+    private static Map<WatchKey, Path> keyPathMap = new HashMap<>();
 
+    private Configuration configuration;
 
-    public FileWatcher(File folder) {
-
-        this.folder = folder;
 
+    public FileWatcher(File rootFolder, Configuration configuration) throws IOException {
+        this.rootFolder = rootFolder;
+        this.configuration = configuration;
     }
 
-    public void watch() {
-
-        if (folder.exists()) {
-            LOGGER.info("Starting watcher thread ...");
-            for (AbstractListener listener : listeners) {
-                listener.onRegistered(new FileEvent(folder));
-            }
-
-            Thread thread = new Thread(this);
-
-//            thread.setDaemon(true);
-
-            thread.start();
-
-        }
-    }
 
     @Override
 
     public void run() {
 
-        LOGGER.info("FileWatcher started at " + folder.getAbsolutePath());
+        LOGGER.info("Watcher service starting at " + rootFolder.getAbsolutePath());
         try (WatchService watchService = FileSystems.getDefault().newWatchService()) {
-
-            Path path = Paths.get(folder.getAbsolutePath());
-
-            path.register(watchService, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE);
-
-            watchServices.add(watchService);
-
-            boolean poll = true;
-            while (poll) {
-
-                poll = pollEvents(watchService);
-
+            Path path = Paths.get(rootFolder.getAbsolutePath());
+            registerDir(path, watchService);
+            while (true) {
+                pollEvents(watchService);
             }
 
-        } catch (IOException | InterruptedException | ClosedWatchServiceException e) {
-            LOGGER.error("Error occurred while watching  folders ", e);
+        } catch (Exception e) {
+            LOGGER.error("Error occurred while watching  folder " + rootFolder.getAbsolutePath(), e);
             Thread.currentThread().interrupt();
 
         }
@@ -78,39 +59,41 @@ public class FileWatcher implements Runnable {
     }
 
 
-    protected boolean pollEvents(WatchService watchService) throws InterruptedException {
+    protected void pollEvents(WatchService watchService) throws Exception {
 
         WatchKey key = watchService.take();
 
-        Path path = (Path) key.watchable();
-
         for (WatchEvent<?> event : key.pollEvents()) {
-
-            notifyListeners(event.kind(), path.resolve((Path) event.context()).toFile());
-
+            notifyListeners(watchService, event.kind(), event, key);
         }
 
-        return key.reset();
+        if (!key.reset()) {
+            keyPathMap.remove(key);
+        }
+        if (keyPathMap.isEmpty()) {
+            return;
+        }
 
     }
 
 
-    protected void notifyListeners(WatchEvent.Kind<?> kind, File file) {
+    protected void notifyListeners(WatchService watchService, WatchEvent.Kind<?> kind, WatchEvent keyEvent, WatchKey key) throws Exception {
+        Path path = (Path) keyEvent.context();
+
+        Path parentPath = keyPathMap.get(key);
 
-        FileEvent event = new FileEvent(file);
+        path = parentPath.resolve(path);
+        File file = path.toFile();
+        FileEvent event = getFileEvent(file);
 
         if (kind == ENTRY_CREATE) {
 
             for (AbstractListener listener : listeners) {
-
                 listener.onCreated(event);
-
             }
 
             if (file.isDirectory()) {
-
-                new FileWatcher(file).setListeners(listeners).watch();
-
+                registerDir(path, watchService);
             }
 
         } else if (kind == ENTRY_MODIFY) {
@@ -124,9 +107,7 @@ public class FileWatcher implements Runnable {
         } else if (kind == ENTRY_DELETE) {
 
             for (AbstractListener listener : listeners) {
-
                 listener.onDeleted(event);
-
             }
 
         }
@@ -168,11 +149,50 @@ public class FileWatcher implements Runnable {
     }
 
 
-    public static List<WatchService> getWatchServices() {
+    /**
+     * Register the given directory and all its sub-directories with the WatchService.
+     */
 
-        return Collections.unmodifiableList(watchServices);
 
+    protected FileEvent getFileEvent(File file) {
+        FileEvent event = new FileEvent();
+        if (file.isDirectory()) {
+            event.setResourceType(Constants.FOLDER);
+        } else {
+            event.setResourceType(Constants.FILE);
+        }
+        event.setResourceName(file.getName());
+        event.setResourcePath(file.getAbsolutePath());
+        event.setHost(configuration.getFileServerHost());
+        event.setPort(configuration.getFileServerPort());
+        event.setProtocol(configuration.getFileServerProtocol());
+        NotificationEvent.Context context = new NotificationEvent.Context();
+        context.setOccuredTime(System.currentTimeMillis());
+        event.setContext(context);
+        return event;
     }
 
+    private static void registerDir(Path path, WatchService watchService) throws
+            IOException {
+
+
+        if (!Files.isDirectory(path, LinkOption.NOFOLLOW_LINKS)) {
+            return;
+        }
+
+        LOGGER.info("registering path: " + path);
+
+
+        WatchKey key = path.register(watchService,
+                StandardWatchEventKinds.ENTRY_CREATE,
+                StandardWatchEventKinds.ENTRY_MODIFY,
+                StandardWatchEventKinds.ENTRY_DELETE);
+        keyPathMap.put(key, path);
+
+
+        for (File f : path.toFile().listFiles()) {
+            registerDir(f.toPath(), watchService);
+        }
+    }
 
 }
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcherExecutor.java b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcherExecutor.java
new file mode 100644
index 0000000..8352844
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/java/org/apache/airavata/dataorchestrator/file/client/watcher/FileWatcherExecutor.java
@@ -0,0 +1,37 @@
+package org.apache.airavata.dataorchestrator.file.client.watcher;
+
+import org.apache.airavata.dataorchestrator.clients.core.AbstractListener;
+import org.apache.airavata.dataorchestrator.file.client.Listener.FileListener;
+import org.apache.airavata.dataorchestrator.file.client.model.Configuration;
+import org.apache.airavata.dataorchestrator.file.client.publisher.FileEventPublisher;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+public class FileWatcherExecutor {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(FileWatcherExecutor.class);
+    private static ExecutorService executorService = Executors.newSingleThreadExecutor();
+
+    public static void startRecursiveWatching(Configuration configuration) throws IOException {
+        File folder = new File(configuration.getListeningPath());
+        if (folder.exists()) {
+            FileWatcher watcher = new FileWatcher(folder, configuration);
+
+            AbstractListener listener = new FileListener(new FileEventPublisher(configuration));
+            watcher.addListener(listener);
+            submit(watcher);
+        } else {
+            LOGGER.error("File not found " + folder.getAbsolutePath());
+        }
+    }
+
+    public static void submit(FileWatcher fileWatcher) {
+        executorService.submit(fileWatcher);
+    }
+
+}
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml
new file mode 100644
index 0000000..7b6fe35
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/config.yml
@@ -0,0 +1,9 @@
+fileServerHost: "apidev.scigap.org"
+fileServerPort: 3124
+fileServerProtocol: "SFTP"
+listeningPath: "/Users/isururanawaka/Documents/texts"
+
+producer:
+  brokerURL: "localhost:9092"
+  publisherId: "DataOrchestratorProducer"
+  publisherTopic: "quickstart-events"
\ No newline at end of file
diff --git a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/logback.xml b/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/logback.xml
deleted file mode 100644
index 05f7681..0000000
--- a/data-orchestrator/data-orchestrator-clients/data-orchestrator-file-event-listener/src/main/resources/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you 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.
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>logs/filewatcher.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
\ No newline at end of file
diff --git a/data-orchestrator/data-orchestrator-messaging/pom.xml b/data-orchestrator/data-orchestrator-messaging/pom.xml
index d86d1b2..1e1b6ad 100644
--- a/data-orchestrator/data-orchestrator-messaging/pom.xml
+++ b/data-orchestrator/data-orchestrator-messaging/pom.xml
@@ -14,5 +14,12 @@
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
     </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.kafka</groupId>
+            <artifactId>kafka-clients</artifactId>
+            <version>${kafka-clients.version}</version>
+        </dependency>
+    </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/Constants.java b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/Constants.java
new file mode 100644
index 0000000..e802e8e
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/Constants.java
@@ -0,0 +1,7 @@
+package org.apache.airavata.dataorchestrator.messaging;
+
+public class Constants {
+    public static final String FILE = "FILE";
+    public static final String FOLDER = "FOLDER";
+
+}
diff --git a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/consumer/ConsumerCallback.java b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/consumer/ConsumerCallback.java
new file mode 100644
index 0000000..e2a2a23
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/consumer/ConsumerCallback.java
@@ -0,0 +1,10 @@
+package org.apache.airavata.dataorchestrator.messaging.consumer;
+
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
+
+@FunctionalInterface
+public interface ConsumerCallback {
+
+    void process(NotificationEvent notificationEvent);
+
+}
diff --git a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/consumer/MessageConsumer.java b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/consumer/MessageConsumer.java
new file mode 100644
index 0000000..3d96f9d
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/consumer/MessageConsumer.java
@@ -0,0 +1,57 @@
+package org.apache.airavata.dataorchestrator.messaging.consumer;
+
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEventDeserializer;
+import org.apache.kafka.clients.consumer.*;
+import org.apache.kafka.common.TopicPartition;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * Kafka consumer
+ */
+public class MessageConsumer {
+    private static final Logger LOGGER = LoggerFactory.getLogger(MessageConsumer.class);
+
+    private final Consumer<String, NotificationEvent> consumer;
+
+    public MessageConsumer(String borkerURL, String consumerGroup, int maxPollRecordsConfig, String topic) {
+        final Properties props = new Properties();
+        props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, borkerURL);
+        props.put(ConsumerConfig.GROUP_ID_CONFIG, consumerGroup);
+        props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
+        props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, NotificationEventDeserializer.class.getName());
+        props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false");
+        props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, maxPollRecordsConfig);
+
+        consumer = new KafkaConsumer<>(props);
+        consumer.subscribe(Collections.singletonList(topic));
+    }
+
+    public void consume(ConsumerCallback callback) {
+        new Thread(() -> {
+
+            while (true) {
+
+                final ConsumerRecords<String, NotificationEvent> consumerRecords = consumer.poll(Long.MAX_VALUE);
+                for (TopicPartition partition : consumerRecords.partitions()) {
+                    List<ConsumerRecord<String, NotificationEvent>> partitionRecords = consumerRecords.records(partition);
+                    LOGGER.info("Received data orchestrator records {}", partitionRecords.size());
+
+                    for (ConsumerRecord<String, NotificationEvent> record : partitionRecords) {
+
+
+                        callback.process(record.value());
+
+                        consumer.commitSync(Collections.singletonMap(partition, new OffsetAndMetadata(record.offset() + 1)));
+                    }
+                }
+            }
+        }).start();
+    }
+}
diff --git a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEvent.java b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEvent.java
new file mode 100644
index 0000000..7f1955a
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEvent.java
@@ -0,0 +1,115 @@
+package org.apache.airavata.dataorchestrator.messaging.model;
+
+import org.apache.airavata.dataorchestrator.messaging.MessagingEvents;
+
+import java.io.Serializable;
+import java.util.UUID;
+
+/**
+ * Notification event represents triggering messages
+ */
+public class NotificationEvent {
+
+    private String host;
+    private int port;
+    private String protocol;
+    private String resourcePath;
+    private String resourceName;
+    private String resourceType;
+    private Context context;
+    private String id;
+
+    public NotificationEvent() {
+        this.id = UUID.randomUUID().toString();
+
+    }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public int getPort() {
+        return port;
+    }
+
+    public void setPort(int port) {
+        this.port = port;
+    }
+
+    public String getProtocol() {
+        return protocol;
+    }
+
+    public void setProtocol(String protocol) {
+        this.protocol = protocol;
+    }
+
+    public String getResourcePath() {
+        return resourcePath;
+    }
+
+    public void setResourcePath(String resourcePath) {
+        this.resourcePath = resourcePath;
+    }
+
+    public String getResourceName() {
+        return resourceName;
+    }
+
+    public void setResourceName(String resourceName) {
+        this.resourceName = resourceName;
+    }
+
+    public String getResourceType() {
+        return resourceType;
+    }
+
+    public void setResourceType(String resourceType) {
+        this.resourceType = resourceType;
+    }
+
+    public Context getContext() {
+        return context;
+    }
+
+    public void setContext(Context context) {
+        this.context = context;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public static class Context implements Serializable {
+
+        private MessagingEvents event;
+        private Long occuredTime;
+
+
+        public MessagingEvents getEvent() {
+            return event;
+        }
+
+        public void setEvent(MessagingEvents event) {
+            this.event = event;
+        }
+
+        public Long getOccuredTime() {
+            return occuredTime;
+        }
+
+        public void setOccuredTime(Long occuredTime) {
+            this.occuredTime = occuredTime;
+        }
+    }
+
+
+}
diff --git a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEventDeserializer.java b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEventDeserializer.java
new file mode 100644
index 0000000..e4d4f4a
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEventDeserializer.java
@@ -0,0 +1,39 @@
+package org.apache.airavata.dataorchestrator.messaging.model;
+
+import org.apache.airavata.dataorchestrator.messaging.MessagingEvents;
+import org.apache.kafka.common.serialization.Deserializer;
+
+import java.util.Map;
+
+/**
+ * Notification event deserializer
+ */
+public class NotificationEventDeserializer implements Deserializer<NotificationEvent> {
+    @Override
+    public void configure(Map<String, ?> map, boolean b) {
+
+    }
+
+    @Override
+    public NotificationEvent deserialize(String topic, byte[] bytes) {
+        String deserialized = new String(bytes);
+        String parts[] = deserialized.split(",");
+        NotificationEvent event = new NotificationEvent();
+        NotificationEvent.Context context = new NotificationEvent.Context();
+        event.setId(parts[0]);
+        context.setEvent(MessagingEvents.valueOf(parts[1]));
+        context.setOccuredTime(Long.valueOf(parts[2]));
+        event.setHost(parts[3]);
+        event.setPort(Integer.parseInt(parts[4]));
+        event.setProtocol(parts[5]);
+        event.setResourcePath(parts[6]);
+        event.setResourceType(parts[7]);
+        event.setResourceName(parts[8]);
+        return event;
+    }
+
+    @Override
+    public void close() {
+
+    }
+}
diff --git a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEventSerializer.java b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEventSerializer.java
new file mode 100644
index 0000000..90e2a87
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationEventSerializer.java
@@ -0,0 +1,34 @@
+package org.apache.airavata.dataorchestrator.messaging.model;
+
+import org.apache.kafka.common.serialization.Serializer;
+
+import java.util.Map;
+
+/**
+ * Notification event serializer
+ */
+public class NotificationEventSerializer implements Serializer<NotificationEvent> {
+    @Override
+    public void configure(Map<String, ?> map, boolean b) {
+
+    }
+
+    @Override
+    public byte[] serialize(String s, NotificationEvent notificationEvent) {
+        String serializedData = notificationEvent.getId() + "," +
+                notificationEvent.getContext().getEvent().name() + "," +
+                notificationEvent.getContext().getOccuredTime() + "," +
+                notificationEvent.getHost() + "," +
+                notificationEvent.getPort() + "," +
+                notificationEvent.getProtocol() + "," +
+                notificationEvent.getResourcePath() + "," +
+                notificationEvent.getResourceType() + "," +
+                notificationEvent.getResourceName();
+        return serializedData.getBytes();
+    }
+
+    @Override
+    public void close() {
+
+    }
+}
diff --git a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationMessage.java b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationMessage.java
deleted file mode 100644
index 6aeac4d..0000000
--- a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/model/NotificationMessage.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package org.apache.airavata.dataorchestrator.messaging.model;
-
-public class NotificationMessage {
-}
diff --git a/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/publisher/MessageProducer.java b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/publisher/MessageProducer.java
new file mode 100644
index 0000000..e4aa253
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-messaging/src/main/java/org/apache/airavata/dataorchestrator/messaging/publisher/MessageProducer.java
@@ -0,0 +1,41 @@
+package org.apache.airavata.dataorchestrator.messaging.publisher;
+
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEvent;
+import org.apache.airavata.dataorchestrator.messaging.model.NotificationEventSerializer;
+import org.apache.kafka.clients.producer.*;
+import org.apache.kafka.common.serialization.StringSerializer;
+
+import java.util.Properties;
+import java.util.concurrent.ExecutionException;
+
+/**
+ * Publish events to kafka queue that is listened by Kafka receiver
+ */
+public class MessageProducer {
+
+    private final Producer<String, NotificationEvent> producer;
+
+    public MessageProducer(String borkerURL, String publisherId) {
+        Properties props = new Properties();
+        props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, borkerURL);
+        props.put(ProducerConfig.CLIENT_ID_CONFIG, publisherId);
+        props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
+                StringSerializer.class.getName());
+        props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, NotificationEventSerializer.class.getName());
+        this.producer = new KafkaProducer<String, NotificationEvent>(props);
+
+
+    }
+
+    public void publish(String topic, NotificationEvent notificationMessage, Callback callback) throws ExecutionException, InterruptedException {
+        try {
+            final ProducerRecord<String, NotificationEvent> record = new ProducerRecord<>(topic,
+                    notificationMessage.getId(),
+                    notificationMessage);
+            producer.send(record, callback).get();
+        } finally {
+            producer.flush();
+        }
+    }
+
+}
diff --git a/data-orchestrator/data-orchestrator-api/pom.xml b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/pom.xml
similarity index 84%
rename from data-orchestrator/data-orchestrator-api/pom.xml
rename to data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/pom.xml
index e6433cb..43bb23c 100644
--- a/data-orchestrator/data-orchestrator-api/pom.xml
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/pom.xml
@@ -24,7 +24,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>data-orchestrator</artifactId>
+        <artifactId>data-orchestrator-service</artifactId>
         <groupId>org.apache.airavata.data.lake</groupId>
         <version>0.01-SNAPSHOT</version>
     </parent>
@@ -50,6 +50,17 @@
             <artifactId>dozer</artifactId>
             <version>5.5.1</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.airavata.data.lake</groupId>
+            <artifactId>data-orchestrator-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.airavata.data.lake</groupId>
+            <artifactId>data-orchestrator-messaging</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
         <dependency>
             <groupId>com.h2database</groupId>
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/APIServerInitializer.java b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/APIServerInitializer.java
new file mode 100644
index 0000000..fe48c20
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/APIServerInitializer.java
@@ -0,0 +1,84 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+package org.apache.airavata.datalake.orchestrator;
+
+import org.apache.airavata.datalake.orchestrator.handlers.OrchestratorEventHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.yaml.snakeyaml.Yaml;
+
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.Optional;
+
+/**
+ * TODO: Spring Boot API
+ */
+@SpringBootApplication
+public class APIServerInitializer implements CommandLineRunner {
+    private static final Logger LOGGER = LoggerFactory.getLogger(APIServerInitializer.class);
+
+    @Autowired
+    private OrchestratorEventHandler orchestratorEventHandler;
+
+    public static void main(String[] args) {
+        SpringApplication.run(APIServerInitializer.class, args);
+    }
+
+    @Override
+    public void run(String... args) throws Exception {
+        LOGGER.info("Starting Data orchestrator API Server ...");
+        String filePath = null;
+        if (args.length > 0) {
+            filePath = args[0];
+        }
+
+        LOGGER.info("Loading configuration ...");
+        Configuration configuration = Optional.ofNullable(filePath).
+                map(this::loadConfig)
+                .orElseGet(() -> this.loadConfig(
+                        "/Users/isururanawaka/Documents/Airavata_Repository/airavata-data-lake" +
+                                "/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server" +
+                                "/src/main/resources/config.yml"));
+
+        LOGGER.info("Registering Orchestration even handler " + OrchestratorEventHandler.class.getName() + " ...");
+        orchestratorEventHandler.init(configuration);
+        LOGGER.info("Data orchestrator start accepting  events ....");
+        orchestratorEventHandler.startProcessing();
+
+    }
+
+
+    private Configuration loadConfig(String filePath) {
+        LOGGER.info("File path " + filePath);
+        try (InputStream in = new FileInputStream(filePath)) {
+            Yaml yaml = new Yaml();
+            return yaml.loadAs(in, Configuration.class);
+        } catch (Exception exception) {
+            LOGGER.error("Error loading config file", exception);
+        }
+        return null;
+    }
+
+}
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/Configuration.java b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/Configuration.java
new file mode 100644
index 0000000..6fbf520
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/Configuration.java
@@ -0,0 +1,84 @@
+package org.apache.airavata.datalake.orchestrator;
+
+public class Configuration {
+
+    private int eventProcessorWorkers;
+
+    private Consumer consumer;
+
+    public Configuration() {
+
+    }
+
+    public Configuration(int eventProcessorWorkers) {
+        this.eventProcessorWorkers = eventProcessorWorkers;
+    }
+
+    public int getEventProcessorWorkers() {
+        return eventProcessorWorkers;
+    }
+
+    public void setEventProcessorWorkers(int eventProcessorWorkers) {
+        this.eventProcessorWorkers = eventProcessorWorkers;
+    }
+
+    public Consumer getConsumer() {
+        return consumer;
+    }
+
+    public void setConsumer(Consumer consumer) {
+        this.consumer = consumer;
+    }
+
+    public static class Consumer {
+
+        private String brokerURL;
+        private String consumerGroup;
+        private String topic;
+        private int maxPollRecordsConfig;
+
+        public Consumer(String brokerURL, String consumerGroup, String topic) {
+            this.brokerURL = brokerURL;
+            this.consumerGroup = consumerGroup;
+            this.topic = topic;
+        }
+
+        public Consumer() {
+
+        }
+
+        public String getBrokerURL() {
+            return brokerURL;
+        }
+
+        public void setBrokerURL(String brokerURL) {
+            this.brokerURL = brokerURL;
+        }
+
+        public String getConsumerGroup() {
+            return consumerGroup;
+        }
+
+        public void setConsumerGroup(String consumerGroup) {
+            this.consumerGroup = consumerGroup;
+        }
+
+        public String getTopic() {
+            return topic;
+        }
+
+        public void setTopic(String topic) {
+            this.topic = topic;
+        }
+
+        public int getMaxPollRecordsConfig() {
+            return maxPollRecordsConfig;
+        }
+
+        public void setMaxPollRecordsConfig(int maxPollRecordsConfig) {
+            this.maxPollRecordsConfig = maxPollRecordsConfig;
+        }
+    }
+
+
+}
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/handlers/OrchestratorEventHandler.java b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/handlers/OrchestratorEventHandler.java
new file mode 100644
index 0000000..7eb58f0
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/handlers/OrchestratorEventHandler.java
@@ -0,0 +1,61 @@
+package org.apache.airavata.datalake.orchestrator.handlers;
+
+import org.apache.airavata.datalake.orchestrator.Configuration;
+import org.apache.airavata.datalake.orchestrator.core.processor.MessageProcessor;
+import org.apache.airavata.datalake.orchestrator.processor.EventProcessor;
+import org.apache.airavata.dataorchestrator.messaging.consumer.MessageConsumer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * Orchestrator event handler
+ */
+@Component
+public class OrchestratorEventHandler {
+    private static final Logger LOGGER = LoggerFactory.getLogger(OrchestratorEventHandler.class);
+
+    private Configuration configuration;
+
+    private ExecutorService executorService;
+    private MessageProcessor messageProcessor;
+    private MessageConsumer messageConsumer;
+
+
+    public OrchestratorEventHandler() {
+    }
+
+    public void init(Configuration configuration) {
+        this.configuration = configuration;
+        this.executorService = Executors.newFixedThreadPool(configuration.getEventProcessorWorkers());
+        this.messageProcessor = new EventProcessor();
+        this.messageProcessor.init();
+        messageConsumer = new MessageConsumer(configuration.getConsumer().getBrokerURL(),
+                configuration.getConsumer().getConsumerGroup(),
+                configuration.getConsumer().getMaxPollRecordsConfig(),
+                configuration.getConsumer().getTopic());
+    }
+
+    public void startProcessing() {
+        messageConsumer.consume((notificationEvent -> {
+            LOGGER.info("Message received " + notificationEvent.getResourceName());
+            LOGGER.info("Submitting {} to process in thread pool", notificationEvent.getId());
+
+        }));
+
+
+    }
+
+    public Configuration getConfiguration() {
+        return configuration;
+    }
+
+    public void setConfiguration(Configuration configuration) {
+        this.configuration = configuration;
+    }
+
+
+}
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/processor/EventProcessor.java b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/processor/EventProcessor.java
new file mode 100644
index 0000000..43c62bf
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/processor/EventProcessor.java
@@ -0,0 +1,20 @@
+package org.apache.airavata.datalake.orchestrator.processor;
+
+import org.apache.airavata.datalake.orchestrator.core.processor.MessageProcessor;
+import org.apache.airavata.dataorchestrator.messaging.consumer.MessageConsumer;
+
+public class EventProcessor implements MessageProcessor {
+
+    private MessageConsumer messageConsumer;
+
+    @Override
+    public void init() {
+
+    }
+
+    @Override
+    public void run() {
+
+
+    }
+}
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/resources/config.yml b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/resources/config.yml
new file mode 100644
index 0000000..7815149
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/resources/config.yml
@@ -0,0 +1,6 @@
+eventProcessorWorkers: 10
+consumer:
+  brokerURL: "localhost:9092"
+  consumerGroup: "DataOrchestratorGroup"
+  topic: "quickstart-events"
+  maxPollRecordsConfig: 10
\ No newline at end of file
diff --git a/data-orchestrator/data-orchestrator-core/pom.xml b/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/pom.xml
similarity index 87%
rename from data-orchestrator/data-orchestrator-core/pom.xml
rename to data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/pom.xml
index 583e58a..a4a8712 100644
--- a/data-orchestrator/data-orchestrator-core/pom.xml
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>data-orchestrator</artifactId>
+        <artifactId>data-orchestrator-service</artifactId>
         <groupId>org.apache.airavata.data.lake</groupId>
         <version>0.01-SNAPSHOT</version>
     </parent>
diff --git a/data-orchestrator/data-orchestrator-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/task/AbstractTask.java b/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/AbstractTask.java
similarity index 93%
rename from data-orchestrator/data-orchestrator-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/task/AbstractTask.java
rename to data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/AbstractTask.java
index 1072614..91f6e59 100644
--- a/data-orchestrator/data-orchestrator-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/task/AbstractTask.java
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/AbstractTask.java
@@ -17,7 +17,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.airavata.datalake.orchestrator.core.task;
+package org.apache.airavata.datalake.orchestrator.core;
 
 /**
  * TODO: Task framework implementation
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/adaptors/OutboundAdaptor.java b/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/adaptors/OutboundAdaptor.java
new file mode 100644
index 0000000..644558a
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/adaptors/OutboundAdaptor.java
@@ -0,0 +1,5 @@
+package org.apache.airavata.datalake.orchestrator.core.adaptors;
+
+public interface OutboundAdaptor {
+
+}
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/processor/MessageProcessor.java b/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/processor/MessageProcessor.java
new file mode 100644
index 0000000..393f432
--- /dev/null
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-service-core/src/main/java/org/apache/airavata/datalake/orchestrator/core/processor/MessageProcessor.java
@@ -0,0 +1,8 @@
+package org.apache.airavata.datalake.orchestrator.core.processor;
+
+public interface MessageProcessor extends Runnable{
+
+     void init();
+
+
+}
diff --git a/data-orchestrator/data-orchestrator-messaging/pom.xml b/data-orchestrator/data-orchestrator-service/pom.xml
similarity index 72%
copy from data-orchestrator/data-orchestrator-messaging/pom.xml
copy to data-orchestrator/data-orchestrator-service/pom.xml
index d86d1b2..d09e145 100644
--- a/data-orchestrator/data-orchestrator-messaging/pom.xml
+++ b/data-orchestrator/data-orchestrator-service/pom.xml
@@ -2,17 +2,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
     <parent>
         <artifactId>data-orchestrator</artifactId>
         <groupId>org.apache.airavata.data.lake</groupId>
         <version>0.01-SNAPSHOT</version>
     </parent>
-    <artifactId>data-orchestrator-messaging</artifactId>
-    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>data-orchestrator-service</artifactId>
+    <packaging>pom</packaging>
 
     <properties>
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
     </properties>
+    <modules>
+        <module>data-orchestrator-api-server</module>
+        <module>data-orchestrator-service-core</module>
+    </modules>
 
 </project>
\ No newline at end of file
diff --git a/data-orchestrator/pom.xml b/data-orchestrator/pom.xml
index 2d3ee54..1247f30 100644
--- a/data-orchestrator/pom.xml
+++ b/data-orchestrator/pom.xml
@@ -33,8 +33,9 @@
     <artifactId>data-orchestrator</artifactId>
     <packaging>pom</packaging>
     <modules>
-        <module>data-orchestrator-api</module>
-        <module>data-orchestrator-core</module>
+        <module>data-orchestrator-service</module>
+        <module>data-orchestrator-clients</module>
+        <module>data-orchestrator-messaging</module>
     </modules>
 
 
diff --git a/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb b/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb
index 528ff35..c36c421 100644
Binary files a/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb and b/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb differ
diff --git a/data-resource-management-service/drms-stubs/drms.pb b/data-resource-management-service/drms-stubs/drms.pb
index 528ff35..c36c421 100644
Binary files a/data-resource-management-service/drms-stubs/drms.pb and b/data-resource-management-service/drms-stubs/drms.pb differ
diff --git a/metadata-service/data-builders/data-builders.iml b/metadata-service/data-builders/data-builders.iml
index e09a31d..4cc8d1a 100644
--- a/metadata-service/data-builders/data-builders.iml
+++ b/metadata-service/data-builders/data-builders.iml
@@ -18,8 +18,8 @@
     <output url="file://$MODULE_DIR$/target/classes" />
     <output-test url="file://$MODULE_DIR$/target/test-classes" />
     <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/target/maven-shared-archive-resources" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/target/maven-shared-archive-resources" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/target/maven-shared-archive-resources" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/target/classes" />
       <excludeFolder url="file://$MODULE_DIR$/target/maven-archiver" />
       <excludeFolder url="file://$MODULE_DIR$/target/test-classes" />
diff --git a/pom.xml b/pom.xml
index 69205f7..cff3d19 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
     </prerequisites>
     <modules>
         <module>data-orchestrator</module>
-        <module>metadata-service</module>
+<!--        <module>metadata-service</module>-->
         <module>data-resource-management-service</module>
     </modules>
 
@@ -147,6 +147,8 @@
         <neo4j.version>3.4.6</neo4j.version>
         <io.grpc.version>1.25.0</io.grpc.version>
         <spring-security.version>5.3.4.RELEASE</spring-security.version>
+        <kafka-clients.version>1.0.0</kafka-clients.version>
+        <snakeyaml.version>1.15</snakeyaml.version>
 
     </properties>