Change the docker profile back 19/1019/2
authorVenkata Harish K Kajur <vk250x@att.com>
Mon, 20 Feb 2017 21:26:48 +0000 (21:26 +0000)
committerVenkata Harish K Kajur <vk250x@att.com>
Mon, 20 Feb 2017 21:42:30 +0000 (21:42 +0000)
Change-Id: I774f9120a7d65d48d215c1bf3cec71281446c3b3
Signed-off-by: Venkata Harish K Kajur <vk250x@att.com>
ajsc-aai/pom.xml
ajsc-aai/src/main/java/org/openecomp/aai/dmaap/AAIDmaapPublisher.java
ajsc-aai/src/main/java/org/openecomp/aai/dmaap/aaiWorkload/consumer/AAIWorkloadConsumer.java
ajsc-aai/src/main/scripts/dataRestoreFromSnapshot.sh

index ffd407f..07279a4 100644 (file)
   </dependencies>
   <build>
     <plugins>  
+                        <plugin>
+                       <groupId>org.apache.maven.plugins</groupId>
+                       <artifactId>maven-resources-plugin</artifactId>
+                       <version>2.7</version>
+                       <executions>
+                           <execution>
+                               <id>copy-docker-file</id>
+                               <phase>package</phase>
+                               <goals>
+                                   <goal>copy-resources</goal>
+                               </goals>
+                               <configuration>
+                                   <outputDirectory>${dockerLocation}</outputDirectory>
+                                   <overwrite>true</overwrite>
+                                   <resources>
+                                       <resource>
+                                           <directory>${basedir}/src/main/resources/docker</directory>
+                                           <filtering>true</filtering>
+                                           <includes>
+                                               <include>**/*</include>
+                                           </includes>
+                                       </resource>
+                                   </resources>
+                               </configuration>
+                           </execution>
+                           <execution>
+                               <id>copy-commonlibs-file</id>
+                               <phase>package</phase>
+                               <goals>
+                                   <goal>copy-resources</goal>
+                               </goals>
+                               <configuration>
+                                   <outputDirectory>${dockerLocation}/commonLibs</outputDirectory>
+                                   <overwrite>true</overwrite>
+                                   <resources>
+                                       <resource>
+                                           <directory>${basedir}/target/commonLibs</directory>
+                                           <filtering>false</filtering>
+                                           <includes>
+                                               <include>*.jar</include>
+                                           </includes>
+                                       </resource>
+                                   </resources>
+                               </configuration>
+                           </execution>
+                       </executions>
+                   </plugin>
+                   <plugin>
+                       <groupId>com.spotify</groupId>
+                       <artifactId>docker-maven-plugin</artifactId>
+                       <version>0.4.11</version>
+                       <configuration>
+                               <verbose>true</verbose>
+                                               
+                               <imageName>${docker.push.registry}/openecomp/${project.artifactId}</imageName>
+                           <dockerDirectory>${dockerLocation}</dockerDirectory>
+                           <serverId>docker-hub</serverId>                   
+                           <imageTags>
+                               <imageTag>${docker_imageversion}</imageTag>
+                               <imageTag>latest</imageTag>
+                           </imageTags>
+                           <forceTags>true</forceTags>
+                       </configuration>
+                   </plugin>
                <plugin>
                        <groupId>org.jvnet.jaxb2.maven2</groupId>
                                <artifactId>maven-jaxb2-plugin</artifactId>
                                </plugins>
                        </build>
                </profile>
-               <profile>
-                 <id>docker</id>
-                 <build>
-                       <defaultGoal>docker:build</defaultGoal>
-                       <plugins>
-                        <plugin>
-                       <groupId>org.apache.maven.plugins</groupId>
-                       <artifactId>maven-resources-plugin</artifactId>
-                       <version>2.7</version>
-                       <executions>
-                           <execution>
-                               <id>copy-docker-file</id>
-                               <phase>package</phase>
-                               <goals>
-                                   <goal>copy-resources</goal>
-                               </goals>
-                               <configuration>
-                                   <outputDirectory>${dockerLocation}</outputDirectory>
-                                   <overwrite>true</overwrite>
-                                   <resources>
-                                       <resource>
-                                           <directory>${basedir}/src/main/resources/docker</directory>
-                                           <filtering>true</filtering>
-                                           <includes>
-                                               <include>**/*</include>
-                                           </includes>
-                                       </resource>
-                                   </resources>
-                               </configuration>
-                           </execution>
-                           <execution>
-                               <id>copy-commonlibs-file</id>
-                               <phase>package</phase>
-                               <goals>
-                                   <goal>copy-resources</goal>
-                               </goals>
-                               <configuration>
-                                   <outputDirectory>${dockerLocation}/commonLibs</outputDirectory>
-                                   <overwrite>true</overwrite>
-                                   <resources>
-                                       <resource>
-                                           <directory>${basedir}/target/commonLibs</directory>
-                                           <filtering>false</filtering>
-                                           <includes>
-                                               <include>*.jar</include>
-                                           </includes>
-                                       </resource>
-                                   </resources>
-                               </configuration>
-                           </execution>
-                       </executions>
-                   </plugin>
-                   <plugin>
-                       <groupId>com.spotify</groupId>
-                       <artifactId>docker-maven-plugin</artifactId>
-                       <version>0.4.11</version>
-                       <configuration>
-                               <verbose>true</verbose>
-                                               
-                               <imageName>${docker.push.registry}/ecomp/${project.artifactId}</imageName>
-                           <dockerDirectory>${dockerLocation}</dockerDirectory>
-                           <serverId>docker-hub</serverId>                   
-                           <imageTags>
-                               <imageTag>${docker_imageversion}</imageTag>
-                               <imageTag>latest</imageTag>
-                           </imageTags>
-                           <forceTags>true</forceTags>
-                       </configuration>
-                   </plugin>
-                        </plugins>
-                </build>
-               </profile>
        </profiles>
 </project>
index e14d2c4..5aa2ca1 100644 (file)
@@ -1,54 +1,54 @@
-/*-\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;
+       }
+
+}
index db1ddf1..71491fd 100644 (file)
-/*-\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();
+       }
+
+}
index 7b045ef..15b01dc 100644 (file)
@@ -1,85 +1,85 @@
-#!/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