-/*-\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