-/*-\r
+/*-
  * ============LICENSE_START=======================================================
  * org.openecomp.aai
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
+ * 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=========================================================\r
- */\r
-\r
-package org.openecomp.aai.dmaap;\r
-\r
-import java.io.FileNotFoundException;\r
-import java.io.IOException;\r
-import java.util.List;\r
-import java.util.concurrent.TimeUnit;\r
-\r
-import org.json.JSONObject;\r
-\r
-import com.att.nsa.mr.client.MRBatchingPublisher;\r
-import com.att.nsa.mr.client.MRClientFactory;\r
-import com.att.nsa.mr.client.MRPublisher.message;\r
-\r
-public class AAIDmaapPublisher {\r
-       private String publisherPropertyFile;\r
-\r
-       private MRBatchingPublisher pub = null;\r
-\r
-       public AAIDmaapPublisher(String publisherPropertyFile) throws FileNotFoundException, IOException {\r
-               this.publisherPropertyFile = publisherPropertyFile;\r
-               this.pub = MRClientFactory.createBatchingPublisher(this.publisherPropertyFile);\r
-\r
-       }\r
-\r
-       public List<message> publishAndClose(JSONObject payload) throws IOException, InterruptedException {\r
-               this.pub.send(payload.toString());\r
-               return pub.close(60, TimeUnit.SECONDS);\r
-       }\r
-       \r
-       public MRBatchingPublisher getMRBatchingPublisher() {\r
-               return this.pub;\r
-       }\r
-\r
-}\r
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.dmaap;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import org.json.JSONObject;
+
+import com.att.nsa.mr.client.MRBatchingPublisher;
+import com.att.nsa.mr.client.MRClientFactory;
+import com.att.nsa.mr.client.MRPublisher.message;
+
+public class AAIDmaapPublisher {
+       private String publisherPropertyFile;
+
+       private MRBatchingPublisher pub = null;
+
+       public AAIDmaapPublisher(String publisherPropertyFile) throws FileNotFoundException, IOException {
+               this.publisherPropertyFile = publisherPropertyFile;
+               this.pub = MRClientFactory.createBatchingPublisher(this.publisherPropertyFile);
+
+       }
+
+       public List<message> publishAndClose(JSONObject payload) throws IOException, InterruptedException {
+               this.pub.send(payload.toString());
+               return pub.close(60, TimeUnit.SECONDS);
+       }
+       
+       public MRBatchingPublisher getMRBatchingPublisher() {
+               return this.pub;
+       }
+
+}
 
-/*-\r
+/*-
  * ============LICENSE_START=======================================================
  * org.openecomp.aai
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
+ * 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=========================================================\r
- */\r
-\r
-package org.openecomp.aai.dmaap.aaiWorkload.consumer;\r
-\r
-import java.io.File;\r
-import java.io.FileNotFoundException;\r
-import java.io.IOException;\r
-import java.net.UnknownHostException;\r
-import java.util.UUID;\r
-import java.util.logging.Level;\r
-\r
-import org.apache.commons.configuration.ConfigurationException;\r
-import org.apache.commons.configuration.PropertiesConfiguration;\r
-import org.openecomp.aai.logging.AAILogger;\r
-import org.openecomp.aai.logging.ErrorLogHelper;\r
-import org.openecomp.aai.logging.ErrorObject;\r
-import org.openecomp.aai.logging.LogLine;\r
-import org.openecomp.aai.util.AAIConfig;\r
-import org.openecomp.aai.util.AAIConstants;\r
-\r
-import com.att.aft.dme2.api.DME2Exception;\r
-import com.att.nsa.mr.client.MRClientFactory;\r
-import com.att.nsa.mr.client.MRConsumer;\r
-\r
-public class AAIWorkloadConsumer {\r
-\r
-       private static String fromAppId = "AAIWorkloadConsumerScheduledTask";\r
-       private static String COMPONENT = "DMAAP-AAI-WORKLOAD";\r
-       private AAILogger aaiLogger = new AAILogger(AAIWorkloadConsumer.class.getName());\r
-\r
-       private String preferredRouterFilePath;\r
-       private String aaiWorkloadConsumerPropertiesFile;\r
-       private String aaiWorkloadStatusPublisherPropertiesFile;\r
-       private String aaiWorkloadPublisherPropertiesFile;\r
-       private String dmaapPropertyHome = "";\r
-       private String dmaapConusmerId = "";\r
-\r
-       private MRConsumer aaiWorkloadConsumer;\r
-\r
-       public AAIWorkloadConsumer() throws Exception {\r
-\r
-               LogLine logline = new LogLine();\r
-               logline.init(COMPONENT, "N/A", fromAppId, "AAIWorkloadConsumer");\r
-               aaiLogger.debug(logline, "Initalize the AAIWorkloadConsumer");\r
-\r
-               this.dmaapPropertyHome = AAIConstants.AAI_HOME_ETC_APP_PROPERTIES;\r
-               if (this.dmaapPropertyHome == null) {\r
-                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Property AAI_HOME_ETC_APP_PROPERTIES is not set. Stopping AAIWorkloadConsumer.");\r
-                       aaiLogger.error(errorObject, logline, null);\r
-                       throw new Exception("Property AAI_HOME_ETC_APP_PROPERTIES is not set. Stopping AAIWorkloadConsumer.");\r
-               }\r
-\r
-               if (System.getProperty("lrmHost") != null && !System.getProperty("lrmHost").isEmpty()) {\r
-                       this.dmaapConusmerId = System.getProperty("lrmHost");\r
-               } else {\r
-                       this.dmaapConusmerId = UUID.randomUUID().toString();\r
-               }\r
-\r
-               processPropertyFiles();\r
-\r
-               this.aaiWorkloadConsumer = MRClientFactory.createConsumer(this.aaiWorkloadConsumerPropertiesFile);\r
-               aaiLogger.debug(logline, "Initalization completed.");\r
-\r
-       }\r
-\r
-       private void processPropertyFiles() throws FileNotFoundException, UnknownHostException, ConfigurationException {\r
-\r
-               LogLine logline = new LogLine();\r
-               logline.init(COMPONENT, "N/A", fromAppId, "processPropertyFiles");\r
-\r
-               this.preferredRouterFilePath = this.dmaapPropertyHome + "preferredRoute.txt";\r
-               this.aaiWorkloadConsumerPropertiesFile = this.dmaapPropertyHome + "aaiWorkloadConsumer.properties";\r
-               this.aaiWorkloadPublisherPropertiesFile = this.dmaapPropertyHome + "aaiWorkloadPublisher.properties";\r
-               this.aaiWorkloadStatusPublisherPropertiesFile = this.dmaapPropertyHome + "aaiWorkloadStatusPublisher.properties";\r
-\r
-               aaiLogger.debug(logline, "Preferred router file path: " + this.preferredRouterFilePath);\r
-               aaiLogger.debug(logline, "AAI Workload Consumer Properties path: " + this.aaiWorkloadConsumerPropertiesFile);\r
-               aaiLogger.debug(logline, "AAI Workload Publisher Properties path: " + this.aaiWorkloadPublisherPropertiesFile);\r
-               aaiLogger.debug(logline, "AAI Workload StatusPublisher Properties path: " + this.aaiWorkloadStatusPublisherPropertiesFile);\r
-\r
-               File fo = new File(this.preferredRouterFilePath);\r
-               if (!fo.exists()) {\r
-                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Dmaap Route file " + preferredRouterFilePath + " does not exist.");\r
-                       aaiLogger.error(errorObject, logline, null);\r
-                       throw new FileNotFoundException("Dmaap Route file " + preferredRouterFilePath + " does not exist");\r
-               }\r
-\r
-               fo = new File(this.aaiWorkloadConsumerPropertiesFile);\r
-               if (!fo.exists()) {\r
-                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Dmaap consumer property file " + aaiWorkloadConsumerPropertiesFile + " does not exist.");\r
-                       aaiLogger.error(errorObject, logline, null);\r
-                       throw new FileNotFoundException("Dmaap consumer property file " + aaiWorkloadConsumerPropertiesFile + " does not exist.");\r
-               }\r
-\r
-               fo = new File(this.aaiWorkloadPublisherPropertiesFile);\r
-               if (!fo.exists()) {\r
-                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Dmaap publisher property file " + this.aaiWorkloadPublisherPropertiesFile + " does not exist.");\r
-                       aaiLogger.error(errorObject, logline, null);\r
-                       throw new FileNotFoundException("Dmaap publisher property file " + this.aaiWorkloadPublisherPropertiesFile + " does not exist.");\r
-               }\r
-\r
-               fo = new File(this.aaiWorkloadStatusPublisherPropertiesFile);\r
-               if (!fo.exists()) {\r
-                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000",\r
-                                       "Dmaap publisher property file " + this.aaiWorkloadStatusPublisherPropertiesFile + " does not exist");\r
-                       aaiLogger.error(errorObject, logline, null);\r
-                       throw new FileNotFoundException("Dmaap publisher property file " + this.aaiWorkloadStatusPublisherPropertiesFile + " does not exist");\r
-               }\r
-\r
-               modifyProperties();\r
-\r
-       }\r
-\r
-       private void modifyProperties() throws ConfigurationException {\r
-\r
-               LogLine logline = new LogLine();\r
-               logline.init(COMPONENT, "N/A", fromAppId, "modifyProperties");\r
-\r
-               PropertiesConfiguration config = new PropertiesConfiguration(this.aaiWorkloadConsumerPropertiesFile);\r
-               if (config.getProperty("id") == null || config.getProperty("id").equals("") || config.getProperty("id").equals("aaiConsumerId")) {\r
-                       config.setProperty("id", this.dmaapConusmerId);\r
-                       aaiLogger.debug(logline, "Updated " + this.aaiWorkloadConsumerPropertiesFile + " id property to this.dmaapConusmerId.");\r
-               }\r
-               config.setProperty("DME2preferredRouterFilePath", this.preferredRouterFilePath);\r
-               config.save();\r
-               aaiLogger.debug(logline, "Updated " + this.aaiWorkloadConsumerPropertiesFile + " DME2preferredRouterFilePath property to " + this.preferredRouterFilePath);\r
-\r
-               config = new PropertiesConfiguration(this.aaiWorkloadPublisherPropertiesFile);\r
-               config.setProperty("DME2preferredRouterFilePath", this.preferredRouterFilePath);\r
-               config.save();\r
-               aaiLogger.debug(logline, "Updated " + this.aaiWorkloadPublisherPropertiesFile + " DME2preferredRouterFilePath property to " + this.preferredRouterFilePath);\r
-\r
-               config = new PropertiesConfiguration(this.aaiWorkloadStatusPublisherPropertiesFile);\r
-               config.setProperty("DME2preferredRouterFilePath", this.preferredRouterFilePath);\r
-               config.save();\r
-               aaiLogger.debug(logline, "Updated " + this.aaiWorkloadStatusPublisherPropertiesFile + " DME2preferredRouterFilePath property to " + this.preferredRouterFilePath);\r
-\r
-       }\r
-\r
-       public void startProcessing() throws Exception {\r
-\r
-               LogLine logline = new LogLine();\r
-               logline.init(COMPONENT, "N/A", fromAppId, "startProcessing");\r
-\r
-               int fetchFailCounter = 0;\r
-               AAIWorkloadEventProcessor awep = null;\r
-//             com.att.aft.dme2.api.util.configuration.DME2LoggingConfig.getInstance().initializeDME2Logger().setLevel(Level.SEVERE);\r
-               while (AAIConfig.get("aai.dmaap.workload.enableEventProcessing").equals("true")) {\r
-\r
-                       try {\r
-                               if (System.getProperty("org.openecomp.aai.serverStarted") != null && System.getProperty("org.openecomp.aai.serverStarted").equals("true")) {\r
-                                       Iterable<String> eventMessages = aaiWorkloadConsumer.fetch();\r
-                                       for (String eventMessage : eventMessages) {\r
-                                               String transId = UUID.randomUUID().toString();\r
-                                               aaiLogger.debug(logline, "Processing new dmaap message from the aaiWorkload topic." + transId);\r
-                                               aaiLogger.debug(logline, "Processing new dmaap message from the aaiWorkload topic: " + eventMessage);\r
-                                               awep = new AAIWorkloadEventProcessor(this.aaiWorkloadPublisherPropertiesFile, this.aaiWorkloadStatusPublisherPropertiesFile, transId);\r
-                                               awep.process(eventMessage);\r
-                                       }\r
-                                       fetchFailCounter = 0;\r
-                               }\r
-                       } catch (DME2Exception e) {\r
-                               if (e.getErrorCode().equals("AFT-DME2-0999")) {\r
-                                       // do nothing as this is the standard http timeout\r
-                               } else {\r
-                                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Exiting due to dmaap consumer client throwing dme2 error.");\r
-                                       aaiLogger.error(errorObject, logline, e);\r
-                                       this.aaiWorkloadConsumer.close();\r
-                                       throw e;\r
-                               }\r
-                       } catch (IOException e) {\r
-                               fetchFailCounter++;\r
-                               if (fetchFailCounter > 10) {\r
-                                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Exiting due to fetch throwing io exception. More than 10 times.");\r
-                                       aaiLogger.error(errorObject, logline, e);\r
-                                       this.aaiWorkloadConsumer.close();\r
-                                       throw e;\r
-                               }\r
-                       } catch (Exception e) {\r
-                               ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Exiting due to unknown exception.");\r
-                               aaiLogger.error(errorObject, logline, e);\r
-                               this.aaiWorkloadConsumer.close();\r
-                               throw e;\r
-                       }\r
-               }\r
-               this.aaiWorkloadConsumer.close();\r
-       }\r
-\r
-}\r
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.dmaap.aaiWorkload.consumer;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.UnknownHostException;
+import java.util.UUID;
+import java.util.logging.Level;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.PropertiesConfiguration;
+import org.openecomp.aai.logging.AAILogger;
+import org.openecomp.aai.logging.ErrorLogHelper;
+import org.openecomp.aai.logging.ErrorObject;
+import org.openecomp.aai.logging.LogLine;
+import org.openecomp.aai.util.AAIConfig;
+import org.openecomp.aai.util.AAIConstants;
+
+import com.att.aft.dme2.api.DME2Exception;
+import com.att.nsa.mr.client.MRClientFactory;
+import com.att.nsa.mr.client.MRConsumer;
+
+public class AAIWorkloadConsumer {
+
+       private static String fromAppId = "AAIWorkloadConsumerScheduledTask";
+       private static String COMPONENT = "DMAAP-AAI-WORKLOAD";
+       private AAILogger aaiLogger = new AAILogger(AAIWorkloadConsumer.class.getName());
+
+       private String preferredRouterFilePath;
+       private String aaiWorkloadConsumerPropertiesFile;
+       private String aaiWorkloadStatusPublisherPropertiesFile;
+       private String aaiWorkloadPublisherPropertiesFile;
+       private String dmaapPropertyHome = "";
+       private String dmaapConusmerId = "";
+
+       private MRConsumer aaiWorkloadConsumer;
+
+       public AAIWorkloadConsumer() throws Exception {
+
+               LogLine logline = new LogLine();
+               logline.init(COMPONENT, "N/A", fromAppId, "AAIWorkloadConsumer");
+               aaiLogger.debug(logline, "Initalize the AAIWorkloadConsumer");
+
+               this.dmaapPropertyHome = AAIConstants.AAI_HOME_ETC_APP_PROPERTIES;
+               if (this.dmaapPropertyHome == null) {
+                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Property AAI_HOME_ETC_APP_PROPERTIES is not set. Stopping AAIWorkloadConsumer.");
+                       aaiLogger.error(errorObject, logline, null);
+                       throw new Exception("Property AAI_HOME_ETC_APP_PROPERTIES is not set. Stopping AAIWorkloadConsumer.");
+               }
+
+               if (System.getProperty("lrmHost") != null && !System.getProperty("lrmHost").isEmpty()) {
+                       this.dmaapConusmerId = System.getProperty("lrmHost");
+               } else {
+                       this.dmaapConusmerId = UUID.randomUUID().toString();
+               }
+
+               processPropertyFiles();
+
+               this.aaiWorkloadConsumer = MRClientFactory.createConsumer(this.aaiWorkloadConsumerPropertiesFile);
+               aaiLogger.debug(logline, "Initalization completed.");
+
+       }
+
+       private void processPropertyFiles() throws FileNotFoundException, UnknownHostException, ConfigurationException {
+
+               LogLine logline = new LogLine();
+               logline.init(COMPONENT, "N/A", fromAppId, "processPropertyFiles");
+
+               this.preferredRouterFilePath = this.dmaapPropertyHome + "preferredRoute.txt";
+               this.aaiWorkloadConsumerPropertiesFile = this.dmaapPropertyHome + "aaiWorkloadConsumer.properties";
+               this.aaiWorkloadPublisherPropertiesFile = this.dmaapPropertyHome + "aaiWorkloadPublisher.properties";
+               this.aaiWorkloadStatusPublisherPropertiesFile = this.dmaapPropertyHome + "aaiWorkloadStatusPublisher.properties";
+
+               aaiLogger.debug(logline, "Preferred router file path: " + this.preferredRouterFilePath);
+               aaiLogger.debug(logline, "AAI Workload Consumer Properties path: " + this.aaiWorkloadConsumerPropertiesFile);
+               aaiLogger.debug(logline, "AAI Workload Publisher Properties path: " + this.aaiWorkloadPublisherPropertiesFile);
+               aaiLogger.debug(logline, "AAI Workload StatusPublisher Properties path: " + this.aaiWorkloadStatusPublisherPropertiesFile);
+
+               File fo = new File(this.preferredRouterFilePath);
+               if (!fo.exists()) {
+                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Dmaap Route file " + preferredRouterFilePath + " does not exist.");
+                       aaiLogger.error(errorObject, logline, null);
+                       throw new FileNotFoundException("Dmaap Route file " + preferredRouterFilePath + " does not exist");
+               }
+
+               fo = new File(this.aaiWorkloadConsumerPropertiesFile);
+               if (!fo.exists()) {
+                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Dmaap consumer property file " + aaiWorkloadConsumerPropertiesFile + " does not exist.");
+                       aaiLogger.error(errorObject, logline, null);
+                       throw new FileNotFoundException("Dmaap consumer property file " + aaiWorkloadConsumerPropertiesFile + " does not exist.");
+               }
+
+               fo = new File(this.aaiWorkloadPublisherPropertiesFile);
+               if (!fo.exists()) {
+                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Dmaap publisher property file " + this.aaiWorkloadPublisherPropertiesFile + " does not exist.");
+                       aaiLogger.error(errorObject, logline, null);
+                       throw new FileNotFoundException("Dmaap publisher property file " + this.aaiWorkloadPublisherPropertiesFile + " does not exist.");
+               }
+
+               fo = new File(this.aaiWorkloadStatusPublisherPropertiesFile);
+               if (!fo.exists()) {
+                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000",
+                                       "Dmaap publisher property file " + this.aaiWorkloadStatusPublisherPropertiesFile + " does not exist");
+                       aaiLogger.error(errorObject, logline, null);
+                       throw new FileNotFoundException("Dmaap publisher property file " + this.aaiWorkloadStatusPublisherPropertiesFile + " does not exist");
+               }
+
+               modifyProperties();
+
+       }
+
+       private void modifyProperties() throws ConfigurationException {
+
+               LogLine logline = new LogLine();
+               logline.init(COMPONENT, "N/A", fromAppId, "modifyProperties");
+
+               PropertiesConfiguration config = new PropertiesConfiguration(this.aaiWorkloadConsumerPropertiesFile);
+               if (config.getProperty("id") == null || config.getProperty("id").equals("") || config.getProperty("id").equals("aaiConsumerId")) {
+                       config.setProperty("id", this.dmaapConusmerId);
+                       aaiLogger.debug(logline, "Updated " + this.aaiWorkloadConsumerPropertiesFile + " id property to this.dmaapConusmerId.");
+               }
+               config.setProperty("DME2preferredRouterFilePath", this.preferredRouterFilePath);
+               config.save();
+               aaiLogger.debug(logline, "Updated " + this.aaiWorkloadConsumerPropertiesFile + " DME2preferredRouterFilePath property to " + this.preferredRouterFilePath);
+
+               config = new PropertiesConfiguration(this.aaiWorkloadPublisherPropertiesFile);
+               config.setProperty("DME2preferredRouterFilePath", this.preferredRouterFilePath);
+               config.save();
+               aaiLogger.debug(logline, "Updated " + this.aaiWorkloadPublisherPropertiesFile + " DME2preferredRouterFilePath property to " + this.preferredRouterFilePath);
+
+               config = new PropertiesConfiguration(this.aaiWorkloadStatusPublisherPropertiesFile);
+               config.setProperty("DME2preferredRouterFilePath", this.preferredRouterFilePath);
+               config.save();
+               aaiLogger.debug(logline, "Updated " + this.aaiWorkloadStatusPublisherPropertiesFile + " DME2preferredRouterFilePath property to " + this.preferredRouterFilePath);
+
+       }
+
+       public void startProcessing() throws Exception {
+
+               LogLine logline = new LogLine();
+               logline.init(COMPONENT, "N/A", fromAppId, "startProcessing");
+
+               int fetchFailCounter = 0;
+               AAIWorkloadEventProcessor awep = null;
+//             com.att.aft.dme2.api.util.configuration.DME2LoggingConfig.getInstance().initializeDME2Logger().setLevel(Level.SEVERE);
+               while (AAIConfig.get("aai.dmaap.workload.enableEventProcessing").equals("true")) {
+
+                       try {
+                               if (System.getProperty("org.openecomp.aai.serverStarted") != null && System.getProperty("org.openecomp.aai.serverStarted").equals("true")) {
+                                       Iterable<String> eventMessages = aaiWorkloadConsumer.fetch();
+                                       for (String eventMessage : eventMessages) {
+                                               String transId = UUID.randomUUID().toString();
+                                               aaiLogger.debug(logline, "Processing new dmaap message from the aaiWorkload topic." + transId);
+                                               aaiLogger.debug(logline, "Processing new dmaap message from the aaiWorkload topic: " + eventMessage);
+                                               awep = new AAIWorkloadEventProcessor(this.aaiWorkloadPublisherPropertiesFile, this.aaiWorkloadStatusPublisherPropertiesFile, transId);
+                                               awep.process(eventMessage);
+                                       }
+                                       fetchFailCounter = 0;
+                               }
+                       } catch (DME2Exception e) {
+                               if (e.getErrorCode().equals("AFT-DME2-0999")) {
+                                       // do nothing as this is the standard http timeout
+                               } else {
+                                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Exiting due to dmaap consumer client throwing dme2 error.");
+                                       aaiLogger.error(errorObject, logline, e);
+                                       this.aaiWorkloadConsumer.close();
+                                       throw e;
+                               }
+                       } catch (IOException e) {
+                               fetchFailCounter++;
+                               if (fetchFailCounter > 10) {
+                                       ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Exiting due to fetch throwing io exception. More than 10 times.");
+                                       aaiLogger.error(errorObject, logline, e);
+                                       this.aaiWorkloadConsumer.close();
+                                       throw e;
+                               }
+                       } catch (Exception e) {
+                               ErrorObject errorObject = ErrorLogHelper.getErrorObject("AAI_4000", "Exiting due to unknown exception.");
+                               aaiLogger.error(errorObject, logline, e);
+                               this.aaiWorkloadConsumer.close();
+                               throw e;
+                       }
+               }
+               this.aaiWorkloadConsumer.close();
+       }
+
+}
 
-#!/bin/ksh\r
-#\r
+#!/bin/ksh
+#
 # ============LICENSE_START=======================================================
 # org.openecomp.aai
 # ================================================================================
 # Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 # ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");\r
-# you may not use this file except in compliance with the License.\r
-# You may obtain a copy of the License at\r
-# \r
-#      http://www.apache.org/licenses/LICENSE-2.0\r
-# \r
-# Unless required by applicable law or agreed to in writing, software\r
-# distributed under the License is distributed on an "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-# See the License for the specific language governing permissions and\r
+# 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=========================================================\r
-#\r
-# This script uses the dataSnapshot and SchemaGenerator (via GenTester) java classes to restore \r
-# data to a database by doing three things: \r
-#   1) clear out whatever data and schema are currently in the db \r
-#   2) rebuild the schema (using the SchemaGenerator)\r
-#   3) reload data from the passed-in datafile (which must found in the dataSnapShots directory and\r
-#      contain an xml view of the db data).\r
-#\r
-\r
-echo\r
-echo `date` "   Starting $0"\r
-\r
-\r
-userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )\r
-if [ "${userid}" != "aaiadmin" ]; then\r
-    echo "You must be aaiadmin to run $0. The id used $userid."\r
-    exit 1\r
-fi \r
-\r
-\r
-if [ "$#" -ne 1 ]; then\r
-    echo "Illegal number of parameters"\r
-    echo "usage: $0 previous_snapshot_filename"\r
-    exit 1\r
-fi\r
-\r
-. /etc/profile.d/aai.sh\r
-\r
-for JAR in `ls $PROJECT_HOME/extJars/*.jar`\r
-do\r
-      CLASSPATH=$CLASSPATH:$JAR\r
-done\r
-\r
-for JAR in `ls $PROJECT_HOME/lib/*.jar`\r
-do\r
-     CLASSPATH=$CLASSPATH:$JAR\r
-done\r
-\r
-#### Step 1) clear out the database\r
-$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME  -Daai.home=$PROJECT_HOME \\r
- org.openecomp.aai.dbgen.DataSnapshot CLEAR_ENTIRE_DATABASE $1\r
-if [ "$?" -ne "0" ]; then\r
-    echo "Problem clearing out database."\r
-    exit 1\r
-fi\r
- \r
-#### Step 2) rebuild the db-schema\r
-$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME  -Daai.home=$PROJECT_HOME \\r
- org.openecomp.aai.dbgen.GenTester GEN_DB_WITH_NO_DEFAULT_CR\r
-if [ "$?" -ne "0" ]; then\r
-    echo "Problem rebuilding the schema (SchemaGenerator)."\r
-    exit 1\r
-fi\r
-\r
-#### Step 3) reload the data from a snapshot file\r
-$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME  -Daai.home=$PROJECT_HOME \\r
- org.openecomp.aai.dbgen.DataSnapshot RELOAD_DATA $1\r
-if [ "$?" -ne "0" ]; then\r
-    echo "Problem reloading data into the database."\r
-    exit 1\r
-fi\r
- \r
- \r
- \r
-echo `date` "   Done $0"\r
-exit 0\r
+# ============LICENSE_END=========================================================
+#
+# This script uses the dataSnapshot and SchemaGenerator (via GenTester) java classes to restore 
+# data to a database by doing three things: 
+#   1) clear out whatever data and schema are currently in the db 
+#   2) rebuild the schema (using the SchemaGenerator)
+#   3) reload data from the passed-in datafile (which must found in the dataSnapShots directory and
+#      contain an xml view of the db data).
+#
+
+echo
+echo `date` "   Starting $0"
+
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+    echo "You must be aaiadmin to run $0. The id used $userid."
+    exit 1
+fi 
+
+
+if [ "$#" -ne 1 ]; then
+    echo "Illegal number of parameters"
+    echo "usage: $0 previous_snapshot_filename"
+    exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+      CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+     CLASSPATH=$CLASSPATH:$JAR
+done
+
+#### Step 1) clear out the database
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME  -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.DataSnapshot CLEAR_ENTIRE_DATABASE $1
+if [ "$?" -ne "0" ]; then
+    echo "Problem clearing out database."
+    exit 1
+fi
+ 
+#### Step 2) rebuild the db-schema
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME  -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.GenTester GEN_DB_WITH_NO_DEFAULT_CR
+if [ "$?" -ne "0" ]; then
+    echo "Problem rebuilding the schema (SchemaGenerator)."
+    exit 1
+fi
+
+#### Step 3) reload the data from a snapshot file
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME  -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.DataSnapshot RELOAD_DATA $1
+if [ "$?" -ne "0" ]; then
+    echo "Problem reloading data into the database."
+    exit 1
+fi
+ 
+ 
+ 
+echo `date` "   Done $0"
+exit 0