Introduce MSB Java SDK 95/10095/1
authorGuangrong Fu <fu.guangrong@zte.com.cn>
Sat, 2 Sep 2017 16:41:28 +0000 (00:41 +0800)
committerGuangrong Fu <fu.guangrong@zte.com.cn>
Sat, 2 Sep 2017 16:41:28 +0000 (00:41 +0800)
Regiser the services using MSB Java SDK

Change-Id: I2aa89fdcc243e49de48ec0ebd39d80579ec22ea6
Issue-ID: HOLMES-48
Signed-off-by: Guangrong Fu <fu.guangrong@zte.com.cn>
engine-d/pom.xml
engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java
pom.xml

index 44ae940..0a7c3eb 100644 (file)
     </properties>
 
     <dependencies>
+        <dependency>
+            <groupId>org.onap.msb.java-sdk</groupId>
+            <artifactId>msb-java-sdk</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.reflections</groupId>
             <artifactId>reflections</artifactId>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
index ef671e3..f8c2660 100644 (file)
  */
 package org.onap.holmes.engine;
 
+import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
+
 import io.dropwizard.setup.Environment;
-import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
 import lombok.extern.slf4j.Slf4j;
-import org.onap.holmes.common.dropwizard.ioc.bundle.IOCApplication;
-import org.onap.holmes.common.api.entity.ServiceRegisterEntity;
 import org.onap.holmes.common.config.MicroServiceConfig;
+import org.onap.holmes.common.dropwizard.ioc.bundle.IOCApplication;
+import org.onap.holmes.common.exception.CorrelationException;
 import org.onap.holmes.common.utils.MSBRegisterUtil;
+import org.onap.holmes.engine.resources.EngineResources;
+import org.onap.msb.sdk.discovery.entity.MicroServiceInfo;
+import org.onap.msb.sdk.discovery.entity.Node;
 
 @Slf4j
 public class EngineDActiveApp extends IOCApplication<EngineDAppConfig> {
@@ -30,25 +36,30 @@ public class EngineDActiveApp extends IOCApplication<EngineDAppConfig> {
         new EngineDActiveApp().run(args);
     }
 
-    @Override
     public void run(EngineDAppConfig configuration, Environment environment) throws Exception {
         super.run(configuration, environment);
 
+        environment.jersey().register(new EngineResources());
         try {
-            new MSBRegisterUtil().register(initServiceEntity());
-        } catch (IOException e) {
-            log.warn("Micro service registry httpclient close failure", e);
+            new MSBRegisterUtil().register2Msb(createMicroServiceInfo());
+        } catch (CorrelationException e) {
+            log.warn(e.getMessage(), e);
         }
     }
 
-    private ServiceRegisterEntity initServiceEntity() {
-        ServiceRegisterEntity serviceRegisterEntity = new ServiceRegisterEntity();
-        serviceRegisterEntity.setServiceName("holmes-engine-mgmt");
-        serviceRegisterEntity.setProtocol("REST");
-        serviceRegisterEntity.setVersion("v1");
-        serviceRegisterEntity.setUrl("/onapapi/holmes-engine-mgmt/v1");
-        serviceRegisterEntity.setSingleNode(MicroServiceConfig.getServiceIp(), "9102", 0);
-        serviceRegisterEntity.setVisualRange("1|0");
-        return serviceRegisterEntity;
+    private MicroServiceInfo createMicroServiceInfo() {
+        MicroServiceInfo msinfo = new MicroServiceInfo();
+        msinfo.setServiceName("holmes-engine-mgmt");
+        msinfo.setVersion("v1");
+        msinfo.setUrl("/onapapi/holmes-engine-mgmt/v1");
+        msinfo.setProtocol("REST");
+        msinfo.setVisualRange("0|1");
+        Set<Node> nodes = new HashSet<>();
+        Node node = new Node();
+        node.setIp(MicroServiceConfig.getServiceIp());
+        node.setPort("9102");
+        nodes.add(node);
+        msinfo.setNodes(nodes);
+        return msinfo;
     }
 }
diff --git a/pom.xml b/pom.xml
index 554ab3b..74af517 100644 (file)
--- a/pom.xml
+++ b/pom.xml
 
     <dependencyManagement>
         <dependencies>
+            <dependency>
+                <groupId>org.onap.msb.java-sdk</groupId>
+                <artifactId>msb-java-sdk</artifactId>
+                <version>1.0.0-SNAPSHOT</version>
+            </dependency>
             <dependency>
                 <groupId>org.reflections</groupId>
                 <artifactId>reflections</artifactId>
                 <artifactId>httpclient</artifactId>
                 <version>4.3.6</version>
             </dependency>
+
+            <dependency>
+                <groupId>com.google.guava</groupId>
+                <artifactId>guava</artifactId>
+                <version>19.0</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 </project>