add the logic for the register service CBB to call the msb
authorzhouruiyu <zhouruiyu@huawei.com>
Tue, 27 Sep 2016 02:30:25 +0000 (10:30 +0800)
committerzhouruiyu <zhouruiyu@huawei.com>
Tue, 27 Sep 2016 02:30:25 +0000 (10:30 +0800)
Change-Id: I928f7593dd1a5494b25d013a8aada2e3b904c42a
Signed-off-by: zhouruiyu <zhouruiyu@huawei.com>
common-util/src/main/java/org/openo/baseservice/bus/util/BusConstant.java [new file with mode: 0644]
common-util/src/main/java/org/openo/baseservice/bus/util/RegisterService.java
common-util/src/main/java/org/openo/baseservice/bus/util/RegisterServiceListener.java

diff --git a/common-util/src/main/java/org/openo/baseservice/bus/util/BusConstant.java b/common-util/src/main/java/org/openo/baseservice/bus/util/BusConstant.java
new file mode 100644 (file)
index 0000000..ab2bcd1
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2016 Huawei Technologies Co., Ltd.
+ *
+ * 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.
+ */
+package org.openo.baseservice.bus.util; 
+
+/**
+ * <p>
+ * An class which holds the all the constant values for the Bus register CBB.
+ * </p>
+ * <br/>
+ * 
+ * @author
+ * @version
+ */
+public final class BusConstant {  
+
+    public static final String JSON = "json";
+
+    public static final String BUS_CONFIGURE_FILE = "/etc/microservice.ini";
+
+    public static final String BUS_SERVICE_URL = "/openoapi/microservices/v1/services";
+
+    public static final String BUS_ADDRESS_KEY = "msb.address";
+
+    public static final String APPLICATION_JSON_HEADER = "application/json";
+
+    public static final String CREATE_OR_UPDATE = "createOrUpdate";
+
+    public static final String MICROSERVICE_DEFAULT = "msb.openo.org:80";
+
+    public static final String MICROSERVICE_PATH = "/etc/microservice";
+
+    public static final String POST_METHOD = "POST";
+
+    public static final String HTTP_HEAD = "http://";
+}
index 1e0ef33..3a84781 100644 (file)
@@ -30,126 +30,119 @@ import org.openo.baseservice.util.impl.SystemEnvVariablesFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
 /**
- * Provide the service register cbb for common use.
- * <br/>
+ * Provide the service register cbb for common use. <br/>
  * <p>
  * </p>
  * 
  * @author
- * @version  
+ * @version
  */
 public class RegisterService {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(RegisterService.class);
 
-    private static final String BUS_CONFIGURE_FILE = "/etc/microservice.ini";
-    
-    private static final String BUS_SERVICE_URL = "/openoapi/microservices/v1/services";
-
-    private static final String BUS_ADDRESS_KEY = "msb.address";
-    
     private static String busPath = null;
 
     /**
      * Constructor<br/>
      * <p>
      * </p>
-     * @throws IOException 
      * 
-     * @since  
+     * @throws IOException
+     * 
+     * @since
      */
     private RegisterService() {
     }
 
     /**
-     * register the micro service.
-     * <br/>
+     * register the micro service. <br/>
      * 
-     * @param jsonPath: the service json object to register to the bus.
-     * @param createOrUpdate: true, create and update the old ip port. false, create and delete the
-     *            old one;
+     * @param jsonPath:
+     *            the service json object to register to the bus.
+     * @param createOrUpdate:
+     *            true, create and update the old ip port. false, create and
+     *            delete the old one;
      * @return
      * @throws IOException
-     * @since  
+     * @since
      */
     public static Response registerService(String jsonPath, boolean createOrUpdate) throws IOException {
-        
+
         String serviceInfo = getServiceModel(jsonPath);
-        
+
         WebClient client = initializeClient();
-        
-        client.type("application/json");
-        
-        client.accept("application/json");
-        
-        client.path(BUS_SERVICE_URL);
-        
-        client.query("createOrUpdate", createOrUpdate);
-
-        LOGGER.info("Connecting bus address : " + busPath + BUS_SERVICE_URL);
-        
-        return client.invoke("POST", serviceInfo);
-        
+
+        client.type(BusConstant.APPLICATION_JSON_HEADER);
+
+        client.accept(BusConstant.APPLICATION_JSON_HEADER);
+
+        client.path(BusConstant.BUS_SERVICE_URL);
+
+        client.query(BusConstant.CREATE_OR_UPDATE, createOrUpdate);
+
+        LOGGER.info("Connecting bus address : " + busPath + BusConstant.BUS_SERVICE_URL);
+
+        return client.invoke(BusConstant.POST_METHOD, serviceInfo);
+
     }
 
     /**
-     * get the service's model. and return it as a string ;
-     * <br/>
+     * get the service's model. and return it as a string ; <br/>
      * 
      * @param jsonPath
      * @return
-     * @since   
+     * @since
      */
     private static String getServiceModel(String jsonPath) {
-        
+
         String serviceInfo = "";
-        
+
         try {
             LOGGER.info("begin to read file micro service json " + jsonPath);
-            
+
             FileInputStream busFile = new FileInputStream(jsonPath);
-            
+
             int size = busFile.available();
-            
+
             byte[] buffer = new byte[size];
-            
+
             busFile.read(buffer);
-            
+
             busFile.close();
-            
+
             serviceInfo = new String(buffer);
             LOGGER.info("finished to read micro service json file. ");
-        } catch(Exception ex) {
+        } catch (Exception ex) {
             LOGGER.error("Read the micro service json file error :", ex);
         }
         return serviceInfo;
     }
+
     /**
-     * initialize the bus ip and port.
-     * <br/>
+     * initialize the bus ip and port. <br/>
      * 
      * @return
      * @throws IOException
-     * @since   
+     * @since
      */
     private static String getBusAdderss() throws IOException {
 
         LOGGER.info("begin to get the bus baseurl.");
         FileInputStream busFile = null;
-        String url = "msb.openo.org:80";
+        String url = BusConstant.MICROSERVICE_DEFAULT;
 
-        String filePath = SystemEnvVariablesFactory.getInstance().getAppRoot() + BUS_CONFIGURE_FILE;
+        String filePath = SystemEnvVariablesFactory.getInstance().getAppRoot() + BusConstant.BUS_CONFIGURE_FILE;
         LOGGER.info("bus base url file:" + filePath);
-        
+
         Properties properties = new Properties();
 
         try {
             busFile = new FileInputStream(filePath);
             properties.load(busFile);
-            url = properties.getProperty(BUS_ADDRESS_KEY);
-        } catch(IOException e) {
+            url = properties.getProperty(BusConstant.BUS_ADDRESS_KEY);
+        } catch (IOException e) {
             if (busFile != null) {
                 busFile.close();
             }
@@ -157,19 +150,18 @@ public class RegisterService {
         }
 
         LOGGER.info("initialize the bus baseurl is: " + url);
-        return "http://" + url;
+        return BusConstant.HTTP_HEAD + url;
     }
-    
+
     /**
-     * get the bus's client's address. and initialize the web client.
-     * <br/>
+     * get the bus's client's address. and initialize the web client. <br/>
      * 
      * @return
-     * @throws IOException 
-     * @since   
+     * @throws IOException
+     * @since
      */
     private static WebClient initializeClient() throws IOException {
-        
+
         final List<Object> providers = new ArrayList<Object>();
 
         JacksonJsonProvider jacksonJsonProvider = new JacksonJsonProvider();
index eb2e122..c4e1417 100644 (file)
@@ -17,6 +17,7 @@
 package org.openo.baseservice.bus.util;
 
 import java.io.File;
+import java.io.IOException;
 
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
@@ -26,42 +27,37 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Initialize the service register listener.
- * <br/>
- * <p>  
+ * Initialize the service register listener. <br/>
+ * <p>
  * </p>
  * 
  * @author
- * @version  
+ * @version
  */
 public class RegisterServiceListener implements ServletContextListener {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(RegisterServiceListener.class);
-    
-    private static final String JSON = "json";
 
     @Override
     public void contextInitialized(ServletContextEvent sce) {
 
-        String servicePath = SystemEnvVariablesFactory.getInstance().getAppRoot() + "/etc/microservice";
+        String servicePath = SystemEnvVariablesFactory.getInstance().getAppRoot() + BusConstant.MICROSERVICE_PATH;
         LOGGER.info("microservices json file path is" + servicePath);
 
         File file = new File(servicePath);
 
         File[] fileList = file.listFiles();
 
-        for(File tempFile : fileList) {
+        for (File tempFile : fileList) {
             String fileName = tempFile.getName();
-            if (fileName.substring(fileName.lastIndexOf('.') + 1).equalsIgnoreCase(JSON)) {
+            if (fileName.substring(fileName.lastIndexOf('.') + 1).equalsIgnoreCase(BusConstant.JSON)) {
                 LOGGER.info("begin to initialize the service file" + tempFile.getAbsolutePath());
-                
-                /** now because ZTE do not provide the service bus.commont this code first.
+
                 try {
                     RegisterService.registerService(tempFile.getAbsolutePath(), true);
-                } catch(IOException e) {
+                } catch (IOException e) {
                     LOGGER.error("Faile to register the service file :" + tempFile.getPath() + ", exception:" + e);
                 }
-                */
             }
         }
     }