Rework of the designer UI (part4)

Rework of the designer UI (part4)
+ Modification of all Clamp configurations iin resource folder

Change-Id: I2adb7ad336c8d7decaed847cb167d1f125c10b0e
Issue-Id: CLAMP-1
Signed-off-by: Determe, Sebastien (sd378r) <sd378r@intl.att.com>
diff --git a/src/main/resources/META-INF/resources/icd/index.html b/src/main/resources/META-INF/resources/icd/index.html
index c79f30d..20c6c81 100644
--- a/src/main/resources/META-INF/resources/icd/index.html
+++ b/src/main/resources/META-INF/resources/icd/index.html
@@ -1,107 +1,107 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="UTF-8">
-  <title>Swagger UI</title>
-  <link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
-  <link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
-  <link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
-  <link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
-  <link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
-  <link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
-  <link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>
-  <script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
-  <script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
-  <script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
-  <script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
-  <script src='lib/handlebars-2.0.0.js' type='text/javascript'></script>
-  <script src='lib/js-yaml.min.js' type='text/javascript'></script>
-  <script src='lib/lodash.min.js' type='text/javascript'></script>
-  <script src='lib/backbone-min.js' type='text/javascript'></script>
-  <script src='swagger-ui.js' type='text/javascript'></script>
-  <script src='lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
-  <script src='lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>
-  <script src='lib/jsoneditor.min.js' type='text/javascript'></script>
-  <script src='lib/marked.js' type='text/javascript'></script>
-  <script src='lib/swagger-oauth.js' type='text/javascript'></script>
-
-  <!-- Some basic translations -->
-  <!-- <script src='lang/translator.js' type='text/javascript'></script> -->
-  <!-- <script src='lang/ru.js' type='text/javascript'></script> -->
-  <!-- <script src='lang/en.js' type='text/javascript'></script> -->
-
-  <script type="text/javascript">
-    $(function () {
-      var url = window.location.search.match(/url=([^&]+)/);
-      if (url && url.length > 1) {
-        url = decodeURIComponent(url[1]);
-      } else {
-	   url = "../swagger.json";
-        //url = "http://petstore.swagger.io/v2/swagger.json";
-      }
-
-      hljs.configure({
-        highlightSizeThreshold: 5000
-      });
-
-      // Pre load translate...
-      if(window.SwaggerTranslator) {
-        window.SwaggerTranslator.translate();
-      }
-      window.swaggerUi = new SwaggerUi({
-        url: url,
-		validatorUrl: null,
-        dom_id: "swagger-ui-container",
-        supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
-        onComplete: function(swaggerApi, swaggerUi){
-          if(typeof initOAuth == "function") {
-            initOAuth({
-              clientId: "your-client-id",
-              clientSecret: "your-client-secret-if-required",
-              realm: "your-realms",
-              appName: "your-app-name",
-              scopeSeparator: ",",
-              additionalQueryStringParams: {}
-            });
-          }
-
-          if(window.SwaggerTranslator) {
-            window.SwaggerTranslator.translate();
-          }
-        },
-        onFailure: function(data) {
-          log("Unable to Load SwaggerUI");
-        },
-        docExpansion: "none",
-        jsonEditor: false,
-        defaultModelRendering: 'schema',
-        showRequestHeaders: false
-      });
-
-      window.swaggerUi.load();
-
-      function log() {
-        if ('console' in window) {
-          console.log.apply(console, arguments);
-        }
-      }
-  });
-  </script>
-</head>
-
-<body class="swagger-section">
-<div id='header'>
-  <div class="swagger-ui-wrap">
-    <a id="logo" href="http://swagger.io"><img class="logo__img" alt="swagger" height="30" width="30" src="images/logo_small.png" /><span class="logo__title">swagger</span></a>
-    <form id='api_selector'>
-      <div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
-      <div id='auth_container'></div>
-      <div class='input'><a id="explore" class="header__btn" href="#" data-sw-translate>Explore</a></div>
-    </form>
-  </div>
-</div>
-
-<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
-<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
-</body>
-</html>
+<!DOCTYPE html>

+<html>

+<head>

+  <meta charset="UTF-8">

+  <title>Swagger UI</title>

+  <link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />

+  <link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />

+  <link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>

+  <link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>

+  <link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>

+  <link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>

+  <link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>

+  <script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>

+  <script src='lib/jquery.slideto.min.js' type='text/javascript'></script>

+  <script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>

+  <script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>

+  <script src='lib/handlebars-2.0.0.js' type='text/javascript'></script>

+  <script src='lib/js-yaml.min.js' type='text/javascript'></script>

+  <script src='lib/lodash.min.js' type='text/javascript'></script>

+  <script src='lib/backbone-min.js' type='text/javascript'></script>

+  <script src='swagger-ui.js' type='text/javascript'></script>

+  <script src='lib/highlight.9.1.0.pack.js' type='text/javascript'></script>

+  <script src='lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>

+  <script src='lib/jsoneditor.min.js' type='text/javascript'></script>

+  <script src='lib/marked.js' type='text/javascript'></script>

+  <script src='lib/swagger-oauth.js' type='text/javascript'></script>

+

+  <!-- Some basic translations -->

+  <!-- <script src='lang/translator.js' type='text/javascript'></script> -->

+  <!-- <script src='lang/ru.js' type='text/javascript'></script> -->

+  <!-- <script src='lang/en.js' type='text/javascript'></script> -->

+

+  <script type="text/javascript">

+    $(function () {

+      var url = window.location.search.match(/url=([^&]+)/);

+      if (url && url.length > 1) {

+        url = decodeURIComponent(url[1]);

+      } else {

+	   url = "../swagger.json";

+        //url = "http://petstore.swagger.io/v2/swagger.json";

+      }

+

+      hljs.configure({

+        highlightSizeThreshold: 5000

+      });

+

+      // Pre load translate...

+      if(window.SwaggerTranslator) {

+        window.SwaggerTranslator.translate();

+      }

+      window.swaggerUi = new SwaggerUi({

+        url: url,

+		validatorUrl: null,

+        dom_id: "swagger-ui-container",

+        supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],

+        onComplete: function(swaggerApi, swaggerUi){

+          if(typeof initOAuth == "function") {

+            initOAuth({

+              clientId: "your-client-id",

+              clientSecret: "your-client-secret-if-required",

+              realm: "your-realms",

+              appName: "your-app-name",

+              scopeSeparator: ",",

+              additionalQueryStringParams: {}

+            });

+          }

+

+          if(window.SwaggerTranslator) {

+            window.SwaggerTranslator.translate();

+          }

+        },

+        onFailure: function(data) {

+          log("Unable to Load SwaggerUI");

+        },

+        docExpansion: "none",

+        jsonEditor: false,

+        defaultModelRendering: 'schema',

+        showRequestHeaders: false

+      });

+

+      window.swaggerUi.load();

+

+      function log() {

+        if ('console' in window) {

+          console.log.apply(console, arguments);

+        }

+      }

+  });

+  </script>

+</head>

+

+<body class="swagger-section">

+<div id='header'>

+  <div class="swagger-ui-wrap">

+    <a id="logo" href="http://swagger.io"><img class="logo__img" alt="swagger" height="30" width="30" src="images/logo_small.png" /><span class="logo__title">swagger</span></a>

+    <form id='api_selector'>

+      <div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>

+      <div id='auth_container'></div>

+      <div class='input'><a id="explore" class="header__btn" href="#" data-sw-translate>Explore</a></div>

+    </form>

+  </div>

+</div>

+

+<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>

+<div id="swagger-ui-container" class="swagger-ui-wrap"></div>

+</body>

+</html>

diff --git a/src/main/resources/META-INF/resources/icd/o2c.html b/src/main/resources/META-INF/resources/icd/o2c.html
index 88e8bf1..064fdd3 100644
--- a/src/main/resources/META-INF/resources/icd/o2c.html
+++ b/src/main/resources/META-INF/resources/icd/o2c.html
@@ -1,20 +1,20 @@
-<script>
-var qp = null;
-if(window.location.hash) {
-  qp = location.hash.substring(1);
-}
-else {
-  qp = location.search.substring(1);
-}
-qp = qp ? JSON.parse('{"' + qp.replace(/&/g, '","').replace(/=/g,'":"') + '"}',
-  function(key, value) {
-    return key===""?value:decodeURIComponent(value) }
-  ):{}
-
-if (window.opener.swaggerUi.tokenUrl)
-    window.opener.processOAuthCode(qp);
-else
-    window.opener.onOAuthComplete(qp);
-
-window.close();
+<script>

+var qp = null;

+if(window.location.hash) {

+  qp = location.hash.substring(1);

+}

+else {

+  qp = location.search.substring(1);

+}

+qp = qp ? JSON.parse('{"' + qp.replace(/&/g, '","').replace(/=/g,'":"') + '"}',

+  function(key, value) {

+    return key===""?value:decodeURIComponent(value) }

+  ):{}

+

+if (window.opener.swaggerUi.tokenUrl)

+    window.opener.processOAuthCode(qp);

+else

+    window.opener.onOAuthComplete(qp);

+

+window.close();

 </script>
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 2f68096..fd908c8 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -30,7 +30,7 @@
 server.contextPath=/
 #Modified engine-rest applicationpath
 spring.jersey.application-path=/engine-rest
-spring.profiles.active=clamp-default
+spring.profiles.active=clamp-default,clamp-spring-authentication
 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
 
 #The max number of active threads in this pool
@@ -62,39 +62,40 @@
 #server.port=0
 
 #Camunda Process Engine DataSource connection Details
-spring.datasource.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true
-spring.datasource.username=camunda
-spring.datasource.password=ndMSpw4CAM
-spring.datasource.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.camunda.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true
+spring.datasource.camunda.username=camunda
+spring.datasource.camunda.password=ndMSpw4CAM
+spring.datasource.camunda.driverClassName=com.mysql.jdbc.Driver
+spring.datasource.camunda.validationQuery=SELECT 1
+spring.datasource.camunda.validationQueryTimeout=20000
+spring.datasource.camunda.validationInterval=60000
+spring.datasource.camunda.testWhileIdle = true
+# Automatically test whether a connection provided is good or not
+spring.datasource.camunda.testOnBorrow=true
 
 #Camunda application properties
 #Camunda history level
 camunda.bpm.history-level=auto
 
 #clds datasource connection details
-spring.cldsdatasource.driver-class-name=com.mysql.jdbc.Driver
-spring.cldsdatasource.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true
-spring.cldsdatasource.username=clds
-spring.cldsdatasource.password=sidnnd83K
-spring.cldsdatasource.poolinitialsize=1
-spring.cldsdatasource.poolmaxactive=5
-spring.cldsdatasource.poolmaxwait=5000
-spring.cldsdatasource.pooltestonborrow=true
-spring.cldsdatasource.poolvalidationquery=SELECT 1
-spring.cldsdatasource.poolvalidationquerytimeout=5000
+spring.datasource.cldsdb.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.cldsdb.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true
+spring.datasource.cldsdb.username=clds
+spring.datasource.cldsdb.password=sidnnd83K
+spring.datasource.cldsdb.driverClassName=com.mysql.jdbc.Driver
+spring.datasource.cldsdb.validationQuery=SELECT 1
+spring.datasource.cldsdb.validationQueryTimeout=20000
+spring.datasource.cldsdb.validationInterval=60000
+spring.datasource.cldsdb.testWhileIdle = true
+# Automatically test whether a connection provided is good or not
+spring.datasource.cldsdb.testOnBorrow=true
 
 #Async Executor default Parameters
 async.core.pool.size=10
 async.max.pool.size=20
 async.queue.capacity=500
 
-#CSI Logging Queue
-JMS_WMQ_PROVIDER_URL=aftdsc://AFTUAT/34.07/-84.28
-JMS_WMQ_CONNECTION_FACTORY_NAME=aftdsc://AFTUAT/?service=CSILOG,version=4.0,bindingType=fusionBus,envContext=Q,Q30A=YES
-JMS_WMQ_INITIAL_CONNECTION_FACTORY_NAME=com.att.aft.jms.FusionCtxFactory
-JMS_WMQ_AUDIT_DESTINATION_NAME=queue:///CSILOGQL.M2E.DASHBOARD01.NOT.Q30A
-JMS_WMQ_PERF_DESTINATION_NAME=queue:///CSILOGQL.M2E.PERFORMANCE01.NOT.Q30A
-csiEnable=true
+org.onap.clamp.config.dcae.url=http://localhost:9000/closedloop-dcae-services
 
 #GRM Edge endpoint details
 service.name=ajsc6camundademo
@@ -105,4 +106,14 @@
 
 org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties
 org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties
-org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.properties
+org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
+org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties
+
+#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case ! 
+CLDS_PERMISSION_TYPE_CL=permission-type-cl
+CLDS_PERMISSION_TYPE_CL_MANAGE=permission-type-cl-manage
+CLDS_PERMISSION_TYPE_CL_EVENT=permission-type-cl-event
+CLDS_PERMISSION_TYPE_FILTER_VF=permission-type-filter-vf
+CLDS_PERMISSION_TYPE_TEMPLATE=permission-type-template
+#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties
+CLDS_PERMISSION_INSTANCE=dev
\ No newline at end of file
diff --git a/src/main/resources/bpmn/clds-process-action.bpmn b/src/main/resources/bpmn/clds-process-action.bpmn
index eb28ea3..d9f8619 100644
--- a/src/main/resources/bpmn/clds-process-action.bpmn
+++ b/src/main/resources/bpmn/clds-process-action.bpmn
@@ -28,9 +28,11 @@
       </bpmn2:lane>
       <bpmn2:lane id="Lane_6" name="Stop">
         <bpmn2:flowNodeRef>sendOpPolicyReqStop</bpmn2:flowNodeRef>
+        <bpmn2:flowNodeRef>ServiceTask_0d5zgbw</bpmn2:flowNodeRef>
       </bpmn2:lane>
       <bpmn2:lane id="Lane_7" name="Restart">
         <bpmn2:flowNodeRef>sendOpPolicyReqRestart</bpmn2:flowNodeRef>
+        <bpmn2:flowNodeRef>ServiceTask_04d5jlr</bpmn2:flowNodeRef>
       </bpmn2:lane>
     </bpmn2:laneSet>
     <bpmn2:exclusiveGateway id="ExclusiveGateway_2">
@@ -83,18 +85,18 @@
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="SequenceFlow_28" name="" sourceRef="sendOpPolicyReqUpdate" targetRef="ExclusiveGateway_3" />
     <bpmn2:serviceTask id="sendOpPolicyReqStop" name="Send Operation Policy Request [Stop]" camunda:delegateExpression="${operationalPolicyDeleteDelegate}">
-      <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_17snsdc</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing>
     </bpmn2:serviceTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="ExclusiveGateway_2" targetRef="sendOpPolicyReqStop">
+    <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="ExclusiveGateway_2" targetRef="ServiceTask_0d5zgbw">
       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[${ actionCd == 'STOP' }]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="SequenceFlow_30" name="" sourceRef="sendOpPolicyReqStop" targetRef="ExclusiveGateway_3" />
     <bpmn2:serviceTask id="sendOpPolicyReqRestart" name="Send Operation Policy Request [Restart]" camunda:delegateExpression="${operationalPolicyDelegate}">
-      <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming>
+      <bpmn2:incoming>SequenceFlow_188n2z7</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_32</bpmn2:outgoing>
     </bpmn2:serviceTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_31" name="" sourceRef="ExclusiveGateway_2" targetRef="sendOpPolicyReqRestart">
+    <bpmn2:sequenceFlow id="SequenceFlow_31" name="" sourceRef="ExclusiveGateway_2" targetRef="ServiceTask_04d5jlr">
       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[${ actionCd == 'RESTART' }]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="SequenceFlow_32" name="" sourceRef="sendOpPolicyReqRestart" targetRef="ExclusiveGateway_3" />
@@ -120,6 +122,16 @@
       <bpmn2:incoming>SequenceFlow_1xlfq66</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_0w39hon</bpmn2:outgoing>
     </bpmn2:serviceTask>
+    <bpmn2:sequenceFlow id="SequenceFlow_188n2z7" sourceRef="ServiceTask_04d5jlr" targetRef="sendOpPolicyReqRestart" />
+    <bpmn2:serviceTask id="ServiceTask_04d5jlr" name="Send HighlandPark  Service request to Policy[Restart]" camunda:delegateExpression="${highlandParkPolicyDelegate}">
+      <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_188n2z7</bpmn2:outgoing>
+    </bpmn2:serviceTask>
+    <bpmn2:sequenceFlow id="SequenceFlow_17snsdc" sourceRef="ServiceTask_0d5zgbw" targetRef="sendOpPolicyReqStop" />
+    <bpmn2:serviceTask id="ServiceTask_0d5zgbw" name="Send HighlandPark  Service request to Policy[Stop]" camunda:delegateExpression="${highlandParkPolicyDelegate}">
+      <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_17snsdc</bpmn2:outgoing>
+    </bpmn2:serviceTask>
     <bpmn2:serviceTask id="sendStringMatchingReqDistribute" name="Send String Match Micro Service request to Policy [Submit]" camunda:delegateExpression="${stringMatchPolicyDelegate}">
       <bpmn2:incoming>SequenceFlow_0w39hon</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
@@ -285,10 +297,11 @@
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ExclusiveGateway_3" targetElement="_BPMNShape_ServiceTask_16">
         <di:waypoint xsi:type="dc:Point" x="169" y="262" />
-        <di:waypoint xsi:type="dc:Point" x="169" y="659" />
-        <di:waypoint xsi:type="dc:Point" x="912" y="659" />
+        <di:waypoint xsi:type="dc:Point" x="169" y="658" />
+        <di:waypoint xsi:type="dc:Point" x="553" y="659" />
+        <di:waypoint xsi:type="dc:Point" x="615" y="659" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="139" y="457.5" width="90" height="6" />
+          <dc:Bounds x="344" y="658" width="6" height="6" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ServiceTask_16" targetElement="_BPMNShape_ExclusiveGateway_4">
@@ -309,9 +322,9 @@
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ExclusiveGateway_3" targetElement="_BPMNShape_ServiceTask_17">
         <di:waypoint xsi:type="dc:Point" x="169" y="262" />
         <di:waypoint xsi:type="dc:Point" x="169" y="775" />
-        <di:waypoint xsi:type="dc:Point" x="912" y="775" />
+        <di:waypoint xsi:type="dc:Point" x="615" y="775" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="139" y="515.5" width="90" height="6" />
+          <dc:Bounds x="285" y="775" width="6" height="6" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_32" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_ServiceTask_17" targetElement="_BPMNShape_ExclusiveGateway_4">
@@ -349,6 +362,26 @@
           <dc:Bounds x="184" y="170.5" width="0" height="0" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_188n2z7_di" bpmnElement="SequenceFlow_188n2z7">
+        <di:waypoint xsi:type="dc:Point" x="715" y="775" />
+        <di:waypoint xsi:type="dc:Point" x="912" y="775" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="768" y="750" width="90" height="20" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_04d5jlr_di" bpmnElement="ServiceTask_04d5jlr">
+        <dc:Bounds x="615" y="735" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_17snsdc_di" bpmnElement="SequenceFlow_17snsdc">
+        <di:waypoint xsi:type="dc:Point" x="715" y="659" />
+        <di:waypoint xsi:type="dc:Point" x="912" y="659" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="768.5" y="634" width="90" height="20" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_0d5zgbw_di" bpmnElement="ServiceTask_0d5zgbw">
+        <dc:Bounds x="615" y="619" width="100" height="80" />
+      </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1rga27p_di" bpmnElement="SequenceFlow_1rga27p">
         <di:waypoint xsi:type="dc:Point" x="861" y="129" />
         <di:waypoint xsi:type="dc:Point" x="912" y="129" />
diff --git a/src/main/resources/bpmn/log-message.bpmn b/src/main/resources/bpmn/log-message.bpmn
index 621e7e3..f38f254 100644
--- a/src/main/resources/bpmn/log-message.bpmn
+++ b/src/main/resources/bpmn/log-message.bpmn
@@ -1,50 +1,50 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.5.1">
-  <bpmn:process id="log-message-wf" name="Log Message Workflow" isExecutable="true">
-    <bpmn:startEvent id="StartEvent_1" name="Start">
-      <bpmn:outgoing>SequenceFlow_0k87nxp</bpmn:outgoing>
-    </bpmn:startEvent>
-    <bpmn:endEvent id="EndEvent_0udg3bj" name="End">
-      <bpmn:incoming>SequenceFlow_0zjfjoh</bpmn:incoming>
-    </bpmn:endEvent>
-    <bpmn:sequenceFlow id="SequenceFlow_0k87nxp" sourceRef="StartEvent_1" targetRef="Task_1q1b38a" />
-    <bpmn:sequenceFlow id="SequenceFlow_0zjfjoh" sourceRef="Task_1q1b38a" targetRef="EndEvent_0udg3bj" />
-    <bpmn:serviceTask id="Task_1q1b38a" name="Display Log Message" camunda:class="org.onap.clamp.clds.workflow.LogMessageDelegate">
-      <bpmn:incoming>SequenceFlow_0k87nxp</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_0zjfjoh</bpmn:outgoing>
-    </bpmn:serviceTask>
-  </bpmn:process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="log-message-wf">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
-        <dc:Bounds x="617" y="283" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="623" y="319" width="23" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="EndEvent_0udg3bj_di" bpmnElement="EndEvent_0udg3bj">
-        <dc:Bounds x="961" y="283" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="969" y="319" width="19" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0k87nxp_di" bpmnElement="SequenceFlow_0k87nxp">
-        <di:waypoint xsi:type="dc:Point" x="653" y="301" />
-        <di:waypoint xsi:type="dc:Point" x="758" y="301" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="706" y="286" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0zjfjoh_di" bpmnElement="SequenceFlow_0zjfjoh">
-        <di:waypoint xsi:type="dc:Point" x="858" y="301" />
-        <di:waypoint xsi:type="dc:Point" x="961" y="301" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="910" y="286" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="ServiceTask_1o14w9n_di" bpmnElement="Task_1q1b38a">
-        <dc:Bounds x="758" y="261" width="100" height="80" />
-      </bpmndi:BPMNShape>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn:definitions>
+<?xml version="1.0" encoding="UTF-8"?>

+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.5.1">

+  <bpmn:process id="log-message-wf" name="Log Message Workflow" isExecutable="true">

+    <bpmn:startEvent id="StartEvent_1" name="Start">

+      <bpmn:outgoing>SequenceFlow_0k87nxp</bpmn:outgoing>

+    </bpmn:startEvent>

+    <bpmn:endEvent id="EndEvent_0udg3bj" name="End">

+      <bpmn:incoming>SequenceFlow_0zjfjoh</bpmn:incoming>

+    </bpmn:endEvent>

+    <bpmn:sequenceFlow id="SequenceFlow_0k87nxp" sourceRef="StartEvent_1" targetRef="Task_1q1b38a" />

+    <bpmn:sequenceFlow id="SequenceFlow_0zjfjoh" sourceRef="Task_1q1b38a" targetRef="EndEvent_0udg3bj" />

+    <bpmn:serviceTask id="Task_1q1b38a" name="Display Log Message" camunda:class="org.onap.clamp.clds.workflow.LogMessageDelegate">

+      <bpmn:incoming>SequenceFlow_0k87nxp</bpmn:incoming>

+      <bpmn:outgoing>SequenceFlow_0zjfjoh</bpmn:outgoing>

+    </bpmn:serviceTask>

+  </bpmn:process>

+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">

+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="log-message-wf">

+      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">

+        <dc:Bounds x="617" y="283" width="36" height="36" />

+        <bpmndi:BPMNLabel>

+          <dc:Bounds x="623" y="319" width="23" height="12" />

+        </bpmndi:BPMNLabel>

+      </bpmndi:BPMNShape>

+      <bpmndi:BPMNShape id="EndEvent_0udg3bj_di" bpmnElement="EndEvent_0udg3bj">

+        <dc:Bounds x="961" y="283" width="36" height="36" />

+        <bpmndi:BPMNLabel>

+          <dc:Bounds x="969" y="319" width="19" height="12" />

+        </bpmndi:BPMNLabel>

+      </bpmndi:BPMNShape>

+      <bpmndi:BPMNEdge id="SequenceFlow_0k87nxp_di" bpmnElement="SequenceFlow_0k87nxp">

+        <di:waypoint xsi:type="dc:Point" x="653" y="301" />

+        <di:waypoint xsi:type="dc:Point" x="758" y="301" />

+        <bpmndi:BPMNLabel>

+          <dc:Bounds x="706" y="286" width="0" height="0" />

+        </bpmndi:BPMNLabel>

+      </bpmndi:BPMNEdge>

+      <bpmndi:BPMNEdge id="SequenceFlow_0zjfjoh_di" bpmnElement="SequenceFlow_0zjfjoh">

+        <di:waypoint xsi:type="dc:Point" x="858" y="301" />

+        <di:waypoint xsi:type="dc:Point" x="961" y="301" />

+        <bpmndi:BPMNLabel>

+          <dc:Bounds x="910" y="286" width="0" height="0" />

+        </bpmndi:BPMNLabel>

+      </bpmndi:BPMNEdge>

+      <bpmndi:BPMNShape id="ServiceTask_1o14w9n_di" bpmnElement="Task_1q1b38a">

+        <dc:Bounds x="758" y="261" width="100" height="80" />

+      </bpmndi:BPMNShape>

+    </bpmndi:BPMNPlane>

+  </bpmndi:BPMNDiagram>

+</bpmn:definitions>

diff --git a/src/main/resources/clds/clds-policy-config.properties b/src/main/resources/clds/clds-policy-config.properties
index 8b1d4b7..9694107 100644
--- a/src/main/resources/clds/clds-policy-config.properties
+++ b/src/main/resources/clds/clds-policy-config.properties
@@ -1,14 +1,36 @@
+###
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                             reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License"); 
+# you may not use this file except in compliance with the License. 
+# You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+# See the License for the specific language governing permissions and 
+# limitations under the License.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+###
 # Configuration Settings for Policy Engine Components
 PDP_URL1=https://localhost:8081/pdp/ , testpdp, alpha123
 PDP_URL2=https://localhost:8081/pdp/ , testpdp, alpha456
 PAP_URL=https://localhost:8081/pap/ , testpap, alpha123
 NOTIFICATION_TYPE=websocket
 NOTIFICATION_UEB_SERVERS=localhost
-
+NOTIFICATION_TOPIC=
 CLIENT_ID=myclientid
 # base64 encoding
 CLIENT_KEY=ChlakDuk
 #DEVL for development
 #TEST for Test environments
 #PROD for prod environments
-ENVIRONMENT=DEVL
\ No newline at end of file
+ENVIRONMENT=TEST
\ No newline at end of file
diff --git a/src/main/resources/clds/clds-reference.properties b/src/main/resources/clds/clds-reference.properties
index 2626470..e9718e4 100644
--- a/src/main/resources/clds/clds-reference.properties
+++ b/src/main/resources/clds/clds-reference.properties
@@ -1,3 +1,26 @@
+###
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                             reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License"); 
+# you may not use this file except in compliance with the License. 
+# You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+# See the License for the specific language governing permissions and 
+# limitations under the License.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+###
+
 # 
 # Poperties for CLDS
 #
@@ -7,10 +30,10 @@
 dcae.template={"properties":{"service_name":"","service_ids":[],"vnf_ids":[],"location_ids":[]},"template":{"string_matching":{"dcae":{"inputTopic":"","outputTopic":"","closedLoopControlName":"","closedLoopEventClient":"configuration.dcae.microservice.stringmatcher.xml","policyName":"","policyScope":"service=vSCP;resource=F5;type=configuration","policyVersion":"v0.0.1","serviceConfigurations":{}}}}}
 dcae.decode.service_ids={"vUSP":["vUSP - vCTS"],"Trinity":["ASBGv TLS VNF","ASBGv No TLS","ASBGv (NO TLS) VNF","ASBGv TLS","NSBGv VNF","NSBGv"],"vSCP":["AKRON_vSCP_F5_FW-SVC/vSCP_F5_FW 1","ALLEN_vSCP_F5_FW-SVC/vSCP_F5_FW 1"],"vProbes":["vProbes - FW"]}
 #
-# ASDC request blueprint properties
+# SDC request blueprint properties
 #
-asdc.template={}
-asdc.decode.service_ids={}
+sdc.template={}
+sdc.decode.service_ids={}
 # 
 #
 # General Policy request properties
@@ -49,21 +72,31 @@
 op.operationTopic=APPC-CL
 op.notificationTopic=POLICY-CL-MGT
 op.controller=1610-vUSP
+op.policy.appc=APPC
 # by service: vSCP
 op.templateName.vSCP=ClosedLoopTemplate
 op.controller.vSCP=1607-f5fw
+op.eNodeB.templateName=CLeNodeB
+op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00
+op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL
+op.eNodeB.controller=ClosedLoop-eNodeB
+op.eNodeB.recipe={"eNodeBRecipes":[{"Actor":"AOTS","Recipe":"checkENodeBTicketHours","ParentPolicy":"","PPConditions":"","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkEquipmentStatus","ParentPolicy":"checkENodeBTicketHours","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkEimStatus","ParentPolicy":"checkEquipmentStatus","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkMaintenanceWindow","ParentPolicy":"checkEimStatus","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"SDNR","Recipe":"Reset","ParentPolicy":"checkMaintenanceWindow","PPConditions":"Success","Retry":"","TimeLimit":""}]}
+op.eNodeB.timeWindow=35
+op.eNodeB.limit=2
+op.eNodeB.period=10s
 #
-# Asdc service properties
-asdc.catalog.url=http://127.0.0.1:8080/asdc/v1/catalog/
-asdc.hostUrl=http://127.0.0.1:8080
-asdc.serviceUrl=http://127.0.0.1:8080/asdc/v1/catalog/services
-asdc.serviceUsername=test
-asdc.servicePassword=123456
-asdc.artifactLabel=blueprintclampcockpit
-asdc.asdcX-ECOMP-InstanceID=CLAMP
-asdc.artifactType=DCAE_INVENTORY_BLUEPRINT
-asdc.locationArtifactLabel=locationclampcockpit
-asdc.locationArtifactType=DCAE_INVENTORY_JSON
+# Sdc service properties
+sdc.catalog.url=http://127.0.0.1:8080/sdc/v1/catalog/
+sdc.hostUrl=http://127.0.0.1:8080
+sdc.serviceUrl=http://127.0.0.1:8080/sdc/v1/catalog/services
+sdc.serviceUsername=test
+sdc.servicePassword=123456
+sdc.artifactLabel=blueprintclampcockpit
+sdc.sdcX-InstanceID=CLAMP
+sdc.artifactType=DCAE_INVENTORY_BLUEPRINT
+sdc.locationArtifactLabel=locationclampcockpit
+sdc.locationArtifactType=DCAE_INVENTORY_JSON
+sdc.InstanceID=X-ONAP-InstanceID
 #
 #
 #
@@ -74,5 +107,11 @@
 action.test.override=false
 # if action.insert.test.event is true, then insert event even if the action is set to test
 action.insert.test.event=false
-CLDS_SERVICE_CACHE_MAX_SECONDS=72000
+CLDS_SERVICE_CACHE_MAX_SECONDS=5
+
+#DCAE Inventory Url Properties
+DCAE_INVENTORY_URL = https://127.0.0.1:8080
+
+#DCAE Dispatcher Url Properties
+DCAE_DISPATCHER_URL = https://127.0.0.1:8443
 
diff --git a/src/main/resources/clds/globalClds.properties b/src/main/resources/clds/globalClds.properties
index 7c3e10e..3402db3 100644
--- a/src/main/resources/clds/globalClds.properties
+++ b/src/main/resources/clds/globalClds.properties
@@ -1 +1,24 @@
-globalCldsProps ={"collector":{"topicPublishes":{"DCAE-COLLECTOR-UCSNMP":"DCAE-COLLECTOR-UCSNMP"}},"string_match":{"topicPublishes":{"DCAE-CL-EVENT":"DCAE-CL-EVENT"},"aaiMatchingFields":{"cloud-region.identity-url":"cloud-region.identity-url","complex.city":"complex.city","complex.physical-location-id":"complex.physical-location-id","complex.state":"complex.state","generic-vnf.service-id":"generic-vnf.service-id","generic-vnf.vnf-name":"generic-vnf.vnf-name","generic-vnf.vnf-type":"generic-vnf.vnf-type","tenant.tenant-id":"tenant.tenant-id","vserver.in-maint":"vserver.in-maint","vserver.is-closed-loop-disabled":"vserver.is-closed-loop-disabled","vserver.l-interface.interface-name":"vserver.l-interface.interface-name","vserver.l-interface.l3-interface-ipv4-address-list.l3-inteface-ipv4-address":"vserver.l-interface.l3-interface-ipv4-address-list.l3-inteface-ipv4-address","vserver.l-interface.l3-interface-ipv6-address-list.l3-inteface-ipv6-address":"vserver.l-interface.l3-interface-ipv6-address-list.l3-inteface-ipv6-address","vserver.l-interface.network-name":"vserver.l-interface.network-name","vserver.prov-status":"vserver.prov-status","vserver.selflink":"vserver.selflink","vserver.vserver-id":"vserver.vserver-id","vserver.vserver-name":"vserver.vserver-name"},"aaiSendFields":{"cloud-region.identity-url":"cloud-region.identity-url","complex.city":"complex.city","complex.physical-location-id":"complex.physical-location-id","complex.state":"complex.state","generic-vnf.service-id":"generic-vnf.service-id","generic-vnf.vnf-name":"generic-vnf.vnf-name","generic-vnf.vnf-type":"generic-vnf.vnf-type","tenant.tenant-id":"tenant.tenant-id","vserver.in-maint":"vserver.in-maint","vserver.is-closed-loop-disabled":"vserver.is-closed-loop-disabled","vserver.l-interface.interface-name":"vserver.l-interface.interface-name","vserver.l-interface.l3-interface-ipv4-address-list.l3-inteface-ipv4-address":"vserver.l-interface.l3-interface-ipv4-address-list.l3-inteface-ipv4-address","vserver.l-interface.l3-interface-ipv6-address-list.l3-inteface-ipv6-address":"vserver.l-interface.l3-interface-ipv6-address-list.l3-inteface-ipv6-address","vserver.l-interface.network-name":"vserver.l-interface.network-name","vserver.prov-status":"vserver.prov-status","vserver.selflink":"vserver.selflink","vserver.vserver-id":"vserver.vserver-id","vserver.vserver-name":"vserver.vserver-name"},"eventSourceType":{"f5BigIP":"f5BigIP","vSBG_Alarms":"vSBG_Alarms","vCTS_Alarms":"vCTS_Alarms"},"eventSeverity":{"NORMAL":"NORMAL","not-NORMAL":"not-NORMAL","OK":"OK","WARNING":"WARNING","MINOR":"MINOR","MAJOR":"MAJOR","CRITICAL":"CRITICAL"},"timeWindow":0,"ageLimit":1600,"outputEventName":{"":"","ONSET":"ONSET","ABATED":"ABATED"},"createClosedLoopEventId":{"Initial":"Initial","Close":"Close"}},"tca":{"tname":"New_Set","tcaInt":"1","tcaVio":"1","tcaSev":{"Normal":"Normal","Critical":"Critical","Major":"Major","Minor":"Minor","Warning":"Warning"},"fieldPath":{"FIELDPATH_test_1":"FIELDPATH_test_1","FIELDPATH_test_2":"FIELDPATH_test_2"},"operator":{">":"GREATER THAN","=":"EQUAL","<":"LESS THAN"},"opsPolicy":{"POLICY_test_X":"POLICY_test_X","POLICY_test_Y":"POLICY_test_Y"}},"global":{"location":{"SNDGCA64":"San Diego SAN3","ALPRGAED":"Alpharetta PDK1","LSLEILAA":"Lisle DPA3","MDTWNJC1":"FTL_C_location1","MDTWNJC2":"FTL_C_location2","MDTWNJ21":"FTL_L_location1","MDTWNJ22":"FTL_L_location2","RDM2WAGPLCP":"ISTFTL_location","RDM3":"RDM3WAGPLCP"}},"policy":{"pname":"0","timeout":345,"recipe":{"":"","restart":"Restart","rebuild":"Rebuild","migrate":"Migrate","healthCheck":"Health Check"},"maxRetries":"3","retryTimeLimit":180,"resource":{"vCTS":"vCTS","v3CDB":"v3CDB","vUDR":"vUDR","vCOM":"vCOM","vRAR":"vRAR","vLCS":"vLCS","vUDR-BE":"vUDR-BE","vDBE":"vDBE"},"parentPolicyConditions":{"Failure_Retries":"Failure: Max Retries Exceeded","Failure_Timeout":"Failure: Time Limit Exceeded","Failure_Exception":"Failure: Exception","Failure":"Failure: Other","Success":"Success"}},"shared":{"byService":{"":{"vf":{"":""},"location":{"":""},"alarmCondition":{"":""}}},"byVf":{"":{"vfc":{"":""}}}}}}
+###
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                             reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License"); 
+# you may not use this file except in compliance with the License. 
+# You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+# See the License for the specific language governing permissions and 
+# limitations under the License.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+###
+
+globalCldsProps ={"collector":{"topicPublishes":{"DCAE-COLLECTOR-UCSNMP":"DCAE-COLLECTOR-UCSNMP"}},"string_match":{"topicPublishes":{"DCAE-CL-EVENT":"DCAE-CL-EVENT"},"aaiMatchingFields":{"cloud-region.identity-url":"cloud-region.identity-url","complex.city":"complex.city","complex.physical-location-id":"complex.physical-location-id","complex.state":"complex.state","generic-vnf.service-id":"generic-vnf.service-id","generic-vnf.vnf-name":"generic-vnf.vnf-name","generic-vnf.vnf-type":"generic-vnf.vnf-type","tenant.tenant-id":"tenant.tenant-id","vserver.in-maint":"vserver.in-maint","vserver.is-closed-loop-disabled":"vserver.is-closed-loop-disabled","vserver.l-interface.interface-name":"vserver.l-interface.interface-name","vserver.l-interface.l3-interface-ipv4-address-list.l3-inteface-ipv4-address":"vserver.l-interface.l3-interface-ipv4-address-list.l3-inteface-ipv4-address","vserver.l-interface.l3-interface-ipv6-address-list.l3-inteface-ipv6-address":"vserver.l-interface.l3-interface-ipv6-address-list.l3-inteface-ipv6-address","vserver.l-interface.network-name":"vserver.l-interface.network-name","vserver.prov-status":"vserver.prov-status","vserver.selflink":"vserver.selflink","vserver.vserver-id":"vserver.vserver-id","vserver.vserver-name":"vserver.vserver-name"},"aaiSendFields":{"cloud-region.identity-url":"cloud-region.identity-url","complex.city":"complex.city","complex.physical-location-id":"complex.physical-location-id","complex.state":"complex.state","generic-vnf.service-id":"generic-vnf.service-id","generic-vnf.vnf-name":"generic-vnf.vnf-name","generic-vnf.vnf-type":"generic-vnf.vnf-type","tenant.tenant-id":"tenant.tenant-id","vserver.in-maint":"vserver.in-maint","vserver.is-closed-loop-disabled":"vserver.is-closed-loop-disabled","vserver.l-interface.interface-name":"vserver.l-interface.interface-name","vserver.l-interface.l3-interface-ipv4-address-list.l3-inteface-ipv4-address":"vserver.l-interface.l3-interface-ipv4-address-list.l3-inteface-ipv4-address","vserver.l-interface.l3-interface-ipv6-address-list.l3-inteface-ipv6-address":"vserver.l-interface.l3-interface-ipv6-address-list.l3-inteface-ipv6-address","vserver.l-interface.network-name":"vserver.l-interface.network-name","vserver.prov-status":"vserver.prov-status","vserver.selflink":"vserver.selflink","vserver.vserver-id":"vserver.vserver-id","vserver.vserver-name":"vserver.vserver-name"},"eventSourceType":{"f5BigIP":"f5BigIP","vSBG_Alarms":"vSBG_Alarms","vCTS_Alarms":"vCTS_Alarms"},"eventSeverity":{"NORMAL":"NORMAL","not-NORMAL":"not-NORMAL","OK":"OK","WARNING":"WARNING","MINOR":"MINOR","MAJOR":"MAJOR","CRITICAL":"CRITICAL"},"timeWindow":0,"ageLimit":1600,"outputEventName":{"":"","ONSET":"ONSET","ABATED":"ABATED"},"createClosedLoopEventId":{"Initial":"Initial","Close":"Close"}},"tca":{"tname":"New_Set","tcaInt":"1","tcaVio":"1","tcaSev":{"Normal":"Normal","Critical":"Critical","Major":"Major","Minor":"Minor","Warning":"Warning"},"fieldPath":{"FIELDPATH_test_1":"FIELDPATH_test_1","FIELDPATH_test_2":"FIELDPATH_test_2"},"operator":{">":"GREATER","=":"EQUAL","<":"LESS"},"opsPolicy":{"POLICY_test_X":"POLICY_test_X","POLICY_test_Y":"POLICY_test_Y"}},"global":{"actionSet":{"vnfRecipe":"VNF", "enbRecipe":"eNodeB"},"location":{"SNDGCA64":"San Diego SAN3","ALPRGAED":"Alpharetta PDK1","LSLEILAA":"Lisle DPA3","MDTWNJC1":"FTL_C_location1","MDTWNJC2":"FTL_C_location2","MDTWNJ21":"FTL_L_location1","MDTWNJ22":"FTL_L_location2","RDM2WAGPLCP":"ISTFTL_location","RDM3":"RDM3WAGPLCP"}},"policy":{"pname":"0","timeout":345,"vnfRecipe":{"":"","restart":"Restart","rebuild":"Rebuild","migrate":"Migrate","healthCheck":"Health Check"},"enbRecipe":{"":"","reset":"Reset"},"maxRetries":"3","retryTimeLimit":180,"resource":{"vCTS":"vCTS","v3CDB":"v3CDB","vUDR":"vUDR","vCOM":"vCOM","vRAR":"vRAR","vLCS":"vLCS","vUDR-BE":"vUDR-BE","vDBE":"vDBE"},"parentPolicyConditions":{"Failure_Retries":"Failure: Max Retries Exceeded","Failure_Timeout":"Failure: Time Limit Exceeded","Failure_Guard":"Failure: Guard","Failure_Exception":"Failure: Exception","Failure":"Failure: Other","Success":"Success"}},"shared":{"byService":{"":{"vf":{"":""},"location":{"":""},"alarmCondition":{"":""}}},"byVf":{"":{"vfc":{"":""}}}}}
\ No newline at end of file
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
index 05149dc..178ca23 100644
--- a/src/main/resources/logback.xml
+++ b/src/main/resources/logback.xml
@@ -1,29 +1,216 @@
 <configuration scan="true" scanPeriod="3 seconds" debug="false">
+	<contextName>${module.ajsc.namespace.name}</contextName>
+	<jmxConfigurator />
+	<property name="logDirectory" value="log" />
+	<!-- Example evaluator filter applied against console appender -->
+	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+		<!-- filter class="ch.qos.logback.classic.filter.LevelFilter">
+			<level>ERROR</level>
+			<onMatch>ACCEPT</onMatch>
+			<onMismatch>DENY</onMismatch>
+		</filter -->
+		<!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+			<level>INFO</level>
+		</filter>
+		<encoder>
+			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+			</pattern>
+		</encoder>
+	</appender>
+  
+	<appender name="ERROR"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+			<level>WARN</level>
+		</filter>
+    	<file>${logDirectory}/CLAMP/error.log</file>
+    <append>true</append>
+    <encoder>
+      <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC}|%X{RequestId}|%.20thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDescription}|%msg%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <maxIndex>10</maxIndex>
+      <FileNamePattern>${logDirectory}/CLAMP/error.%i.log.zip</FileNamePattern>
+    </rollingPolicy>
+    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>10MB</maxFileSize>
+    </triggeringPolicy>
+  </appender>
+  
+  <appender name="DEBUG"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+    	<file>${logDirectory}/CLAMP/debug.log</file>
+    <append>true</append>
+    <encoder>
+      <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC}|%X{RequestId}|%.20thread|%.-5level|%logger{36}|%msg%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <maxIndex>10</maxIndex>
+      <FileNamePattern>${logDirectory}/CLAMP/debug.%i.log.zip</FileNamePattern>
+    </rollingPolicy>
+    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>10MB</maxFileSize>
+    </triggeringPolicy>
+  </appender>
 
-    <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
+  <appender name="AUDIT"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+    	<file>${logDirectory}/CLAMP/audit.log</file>
+    <append>true</append>
+    <encoder>
+      <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <maxIndex>10</maxIndex>
+      <FileNamePattern>${logDirectory}/CLAMP/audit.%i.log.zip</FileNamePattern>
+    </rollingPolicy>
+    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>10MB</maxFileSize>
+    </triggeringPolicy>
+  </appender>
+  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="AUDIT" />
+  </appender>
+  
+  <appender name="METRIC"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+    	<file>${logDirectory}/CLAMP/metric.log</file>
+    <append>true</append>
+    <encoder>
+      <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <maxIndex>10</maxIndex>
+      <FileNamePattern>${logDirectory}/CLAMP/metric.%i.log.zip</FileNamePattern>
+    </rollingPolicy>
+    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>10MB</maxFileSize>
+    </triggeringPolicy>
+  </appender>
+  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="METRIC"/>
+  </appender>
 
-    <property resource="application.properties"/>
+	<!-- CLDS related loggers -->
+	<logger name="com.att.ajsc.clds" level="INFO" />
+	
+	<!-- EELF related loggers -->
+	<logger name="com.att.eelf.audit" level="INFO" additivity="false">
+    	<appender-ref ref="asyncEELFAudit" />
+  	</logger>
+  	<logger name="com.att.eelf.metrics" level="DEBUG" additivity="false">
+    	<appender-ref ref="asyncEELFMetrics" />
+  	</logger>
+  	
 
-    <property name="defaultPattern"
-              value="%d{yyyy-MM-dd HH:mm:ss.SSS} $ threadId: {PID:- } %-5level  namespace:${namespace} %logger{20} [ hostname: %X{hostname} serviceName: %X{serviceName} version: %X{version} transactionId: %X{transactionId} requestTimeStamp: %X{requestTimestamp}  responseTimeStamp: %X{responseTimestamp} duration: %X{duration}] %m%n"/>
+	<!-- Spring related loggers -->
+	<logger name="org.springframework" level="WARN" />
+	<logger name="org.springframework.beans" level="WARN" />
+	<logger name="org.springframework.web" level="WARN" />
+	<logger name="com.blog.spring.jms" level="WARN" />
 
-    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
-        <file>root.log</file>
-        <append>false</append>
-        <encoder>
-            <pattern>${defaultPattern}</pattern>
-        </encoder>
-    </appender>
+	<!-- AJSC Services (bootstrap services) -->
+	<logger name="ajsc" level="WARN" />
+	<logger name="ajsc.RouteMgmtService" level="INFO" />
+	<logger name="ajsc.ComputeService" level="INFO" />
+	<logger name="ajsc.VandelayService" level="WARN" />
+	<logger name="ajsc.FilePersistenceService" level="WARN" />
+	<logger name="ajsc.UserDefinedJarService" level="WARN" />
+	<logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+	<logger name="ajsc.LoggingConfigurationService" level="WARN" />
 
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>${defaultPattern}</pattern>
-        </encoder>
-    </appender>
+	<!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet 
+		logging) -->
+	<logger name="ajsc.utils" level="WARN" />
+	<logger name="ajsc.utils.DME2Helper" level="INFO" />
+	<logger name="ajsc.filters" level="DEBUG" />
+	<logger name="ajsc.beans.interceptors" level="DEBUG" />
+	<logger name="ajsc.restlet" level="DEBUG" />
+	<logger name="ajsc.servlet" level="DEBUG" />
+	<logger name="com.att" level="WARN" />
+	<logger name="com.att.ajsc.csi.logging" level="DEBUG" />
+	<logger name="com.att.ajsc.filemonitor" level="WARN" />
+	<logger name="com.att.ajsc.introscope" level="info" />
 
-    <root level="INFO">
-        <appender-ref ref="STDOUT"/>
-        <appender-ref ref="FILE"/>
-    </root>
+	<!-- Other Loggers that may help troubleshoot -->
+	<logger name="net.sf" level="WARN" />
+	<logger name="org.apache.commons.httpclient" level="WARN" />
+	<logger name="org.apache.commons" level="WARN" />
+	<logger name="org.apache.coyote" level="WARN" />
+	<logger name="org.apache.jasper" level="WARN" />
 
-</configuration>
+	<!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
+		May aid in troubleshooting) -->
+	<logger name="org.apache.camel" level="WARN" />
+	<logger name="org.apache.cxf" level="WARN" />
+	<logger name="org.apache.camel.processor.interceptor" level="WARN" />
+	<logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+	<logger name="org.apache.cxf.service" level="WARN" />
+	<logger name="org.restlet" level="DEBUG" />
+	<logger name="org.apache.camel.component.restlet" level="DEBUG" />
+
+	<!-- logback internals logging -->
+	<logger name="ch.qos.logback.classic" level="INFO" />
+	<logger name="ch.qos.logback.core" level="INFO" />
+
+	<!-- logback jms appenders & loggers definition starts here -->
+	<!-- logback jms appenders & loggers definition starts here -->
+	<appender name="auditLogs"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+		</filter>
+		<file>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+			<fileNamePattern>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+			</fileNamePattern>
+			<minIndex>1</minIndex>
+			<maxIndex>9</maxIndex>
+		</rollingPolicy>
+		<triggeringPolicy
+			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+			<maxFileSize>5MB</maxFileSize>
+		</triggeringPolicy>
+		<encoder>
+			<pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+		</encoder>
+	</appender>
+	<appender name="perfLogs"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+		</filter>
+		<file>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+			<fileNamePattern>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+			</fileNamePattern>
+			<minIndex>1</minIndex>
+			<maxIndex>9</maxIndex>
+		</rollingPolicy>
+		<triggeringPolicy
+			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+			<maxFileSize>5MB</maxFileSize>
+		</triggeringPolicy>
+		<encoder>
+			<pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+		</encoder>
+	</appender>
+	<logger name="AuditRecord" level="INFO" additivity="FALSE">
+		<appender-ref ref="auditLogs" />
+	</logger>
+	<logger name="AuditRecord_DirectCall" level="INFO" additivity="FALSE">
+		<appender-ref ref="auditLogs" />
+	</logger>
+	<logger name="PerfTrackerRecord" level="INFO" additivity="FALSE">
+		<appender-ref ref="perfLogs" />
+	</logger>
+	<!-- logback jms appenders & loggers definition ends here -->
+ 
+	<root level="WARN">
+		<appender-ref ref="DEBUG" />
+		<appender-ref ref="ERROR" />
+		<appender-ref ref="STDOUT" />
+	</root>
+
+</configuration>
\ No newline at end of file
diff --git a/src/main/resources/system.properties b/src/main/resources/system.properties
index 2570824..9d6386f 100644
--- a/src/main/resources/system.properties
+++ b/src/main/resources/system.properties
@@ -29,9 +29,9 @@
 com.att.eelf.logging.path=./
 logging.config=classpath:/logback.xml
 
-
-#csiEnable value is false by default. If csiEnable property is set to true, audit and performance logs are send to the WMQ Queue
-csiEnable=true
-com.ibm.mq.cfg.useIBMCipherMappings=false
-
 com.att.ajsc.app.prop.path=./
+
+#
+# JVM SSL/TLS properties
+jdk.tls.client.protocols=TLSv1.1,TLSv1.2 
+https.protocols=TLSv1.1,TLSv1.2