1. Adjust the directory hierarchy
[msb/apigateway.git] / apiroute / apiroute-service / src / main / java / org / openo / msb / wrapper / serviceListener / MicroServiceChangeListener.java
diff --git a/apiroute/apiroute-service/src/main/java/org/openo/msb/wrapper/serviceListener/MicroServiceChangeListener.java b/apiroute/apiroute-service/src/main/java/org/openo/msb/wrapper/serviceListener/MicroServiceChangeListener.java
deleted file mode 100644 (file)
index d41a0d0..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-/**\r
-* Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)\r
-*\r
-* 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
-* limitations under the License.\r
-*/\r
-\r
-package org.openo.msb.wrapper.serviceListener;\r
-\r
-import java.util.Set;\r
-\r
-import org.apache.commons.lang3.StringUtils;\r
-import org.openo.msb.api.ApiRouteInfo;\r
-import org.openo.msb.api.CustomRouteInfo;\r
-import org.openo.msb.api.IuiRouteInfo;\r
-import org.openo.msb.api.Node;\r
-import org.openo.msb.api.RouteServer;\r
-import org.openo.msb.api.Service;\r
-import org.openo.msb.wrapper.ApiRouteServiceWrapper;\r
-import org.openo.msb.wrapper.CustomRouteServiceWrapper;\r
-import org.openo.msb.wrapper.IuiRouteServiceWrapper;\r
-import org.openo.msb.wrapper.util.RegExpTestUtil;\r
-import org.openo.msb.wrapper.util.RouteUtil;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-\r
-\r
-public class MicroServiceChangeListener implements IMicroServiceChangeListener {\r
-    \r
-    private static final Logger LOGGER = LoggerFactory.getLogger(MicroServiceChangeListener.class);\r
-    \r
-    @Override\r
-    public void onSave(Service microServiceInfo,String serverPort) {\r
-        \r
-        if("UI".equals(microServiceInfo.getProtocol())){\r
-            IuiRouteInfo iuiRouteInfo = this.buildIuiRouteInfo(microServiceInfo);\r
-            if(null != iuiRouteInfo){\r
-                IuiRouteServiceWrapper.getInstance().saveIuiRouteInstance(iuiRouteInfo);\r
-            }\r
-        }\r
-        else{        \r
-        \r
-            if(ifApiRouteUrl(microServiceInfo.getUrl())){\r
-                ApiRouteInfo apiRouteInfo = this.buildApiRouteInfo(microServiceInfo);\r
-                if(null != apiRouteInfo){\r
-                    ApiRouteServiceWrapper.getInstance().saveApiRouteInstance(apiRouteInfo,serverPort);\r
-                }\r
-            }\r
-            else{\r
-                CustomRouteInfo customRouteInfo = this.buildCustomRouteInfo(microServiceInfo);\r
-                if(null != customRouteInfo){\r
-                    CustomRouteServiceWrapper.getInstance().saveCustomRouteInstance(customRouteInfo,serverPort);\r
-                }\r
-            }\r
-        }\r
-        \r
-        \r
-    }\r
-    \r
-    @Override\r
-    public void onChange(String serviceName, String version, Service microServiceInfo,String serverPort) {\r
-        \r
-        if("UI".equals(microServiceInfo.getProtocol())){\r
-            if(serviceName.startsWith("iui_")||serviceName.startsWith("IUI_")){\r
-                serviceName=serviceName.substring(4);\r
-            }\r
-            IuiRouteInfo iuiRouteInfo = this.buildIuiRouteInfo(microServiceInfo);\r
-            if(null != iuiRouteInfo){\r
-                IuiRouteServiceWrapper.getInstance().updateIuiRouteInstance(serviceName, iuiRouteInfo);\r
-            }\r
-        }\r
-        else{\r
-        \r
-            if(ifApiRouteUrl(microServiceInfo.getUrl())){\r
-                ApiRouteInfo apiRouteInfo = this.buildApiRouteInfo(microServiceInfo);\r
-                if(null != apiRouteInfo){\r
-                    ApiRouteServiceWrapper.getInstance().updateApiRouteInstance(serviceName, version, apiRouteInfo,serverPort);\r
-                }\r
-            }\r
-            else{\r
-                if(!serviceName.startsWith("/")){\r
-                    serviceName="/"+serviceName;\r
-                }\r
-                CustomRouteInfo customRouteInfo = this.buildCustomRouteInfo(microServiceInfo);\r
-                if(null != customRouteInfo){\r
-                    CustomRouteServiceWrapper.getInstance().updateCustomRouteInstance(serviceName,customRouteInfo,serverPort);\r
-                }\r
-            }\r
-        }\r
-        \r
-    }\r
-    \r
-    @Override\r
-    public void onStatusChange(String serviceName,String url,String version,String protocol,String status) {\r
-        if("UI".equals(protocol)){\r
-\r
-            if(serviceName.startsWith("iui_")||serviceName.startsWith("IUI_")){\r
-                serviceName=serviceName.substring(4);\r
-            } \r
-           IuiRouteServiceWrapper.getInstance().updateIuiRouteStatus(serviceName, status);\r
-            \r
-        }\r
-        else{\r
-            if(ifApiRouteUrl(url)){\r
-                ApiRouteServiceWrapper.getInstance().updateApiRouteStatus(serviceName, version, status);\r
-            }\r
-            else{\r
-                if(!serviceName.startsWith("/")){\r
-                    serviceName="/"+serviceName;\r
-                }\r
-                CustomRouteServiceWrapper.getInstance().updateCustomRouteStatus(serviceName, status); \r
-            }\r
-        }\r
-        \r
-      \r
-\r
-    }\r
-\r
-    @Override\r
-    public void onDelete(String serviceName,String url, String version,String protocol,String serverPort) {\r
-        \r
-        if("UI".equals(protocol)){\r
-            if(serviceName.startsWith("iui_")||serviceName.startsWith("IUI_")){\r
-                serviceName=serviceName.substring(4);\r
-            } \r
-           IuiRouteServiceWrapper.getInstance().deleteIuiRoute(serviceName, "*");\r
-            \r
-        }\r
-        else{\r
-            if(ifApiRouteUrl(url)){\r
-                ApiRouteServiceWrapper.getInstance().deleteApiRoute(serviceName, version, "*",serverPort);\r
-            }\r
-            else{\r
-\r
-              \r
-                if(!serviceName.startsWith("/")){\r
-                    serviceName="/"+serviceName;\r
-                }\r
-                \r
-                CustomRouteServiceWrapper.getInstance().deleteCustomRoute(serviceName, "*",serverPort); \r
-            }\r
-        }\r
-    }\r
-    \r
-    \r
-    /** \r
-    * @Title ifApiRouteUrl \r
-    * @Description TODO(According to judge whether the API registration URL format) \r
-    * @param url\r
-    * @return      \r
-    * @return boolean    \r
-    */\r
-    private boolean ifApiRouteUrl(String url){\r
-        return RegExpTestUtil.apiRouteUrlRegExpTest(url);\r
-    }\r
-    \r
-   \r
-    /**\r
-     * From MicroServiceInfo to ApiRouteInfo\r
-     * @param microServiceInfo\r
-     * @return\r
-     */\r
-    private ApiRouteInfo buildApiRouteInfo(Service microServiceInfo){\r
\r
-        ApiRouteInfo apiRouteInfo = new ApiRouteInfo();\r
-        apiRouteInfo.setUrl(microServiceInfo.getUrl());\r
-        \r
-        Set<Node> nodes=microServiceInfo.getNodes();\r
-        RouteServer[] routeServers=new RouteServer[nodes.size()];\r
-         \r
-        \r
-        int i=0;\r
-        for(Node node:nodes){\r
-            RouteServer routeServer = new RouteServer(node.getIp(),node.getPort()); \r
-            routeServers[i]=routeServer;\r
-            i++;\r
-        }      \r
-        \r
-               \r
-        apiRouteInfo.setServers(routeServers);\r
-        String[] rangs=StringUtils.split(microServiceInfo.getVisualRange(), "|");\r
-        if(RouteUtil.contain(rangs, "0")){\r
-            apiRouteInfo.setVisualRange("0");\r
-        }\r
-        else{\r
-            apiRouteInfo.setVisualRange("1");\r
-        }\r
-       \r
-        \r
-      if("ip_hash".equals(microServiceInfo.getLb_policy())){\r
-          apiRouteInfo.setUseOwnUpstream("1");\r
-    }\r
-       \r
-        \r
-        \r
-        apiRouteInfo.setServiceName(microServiceInfo.getServiceName());\r
-        apiRouteInfo.setVersion(microServiceInfo.getVersion());\r
-        //TODO:set json and metrics defaultValue\r
-        String version="".equals(microServiceInfo.getVersion())?"":"/"+microServiceInfo.getVersion();\r
-        apiRouteInfo.setApiJson(microServiceInfo.getUrl()+"/swagger.json");\r
-        apiRouteInfo.setMetricsUrl("/admin/metrics");\r
-        return apiRouteInfo;\r
-    }\r
-    \r
-    \r
-    /**\r
-     * From MicroServiceInfo to CustomRouteInfo\r
-     * @param microServiceInfo\r
-     * @return\r
-     */\r
-    private CustomRouteInfo buildCustomRouteInfo(Service microServiceInfo){\r
-      \r
-        CustomRouteInfo customRouteInfo = new CustomRouteInfo();\r
-        customRouteInfo.setUrl(microServiceInfo.getUrl());\r
-        \r
-        Set<Node> nodes=microServiceInfo.getNodes();\r
-        RouteServer[] routeServers=new RouteServer[nodes.size()];\r
-         \r
-        \r
-        int i=0;\r
-        for(Node node:nodes){\r
-            RouteServer routeServer = new RouteServer(node.getIp(),node.getPort()); \r
-            routeServers[i]=routeServer;\r
-            i++;\r
-        }      \r
-               \r
-        customRouteInfo.setServers(routeServers);\r
-        String[] rangs=StringUtils.split(microServiceInfo.getVisualRange(), "|");\r
-        if(RouteUtil.contain(rangs, "0")){\r
-            customRouteInfo.setVisualRange("0");\r
-        }\r
-        else{\r
-            customRouteInfo.setVisualRange("1");\r
-        }\r
-        \r
-        if("ip_hash".equals(microServiceInfo.getLb_policy())){\r
-            customRouteInfo.setUseOwnUpstream("1");\r
-        }\r
-        \r
-        String serviceName;\r
-        if(!microServiceInfo.getServiceName().startsWith("/")){\r
-            serviceName="/"+microServiceInfo.getServiceName();\r
-        }\r
-        else{\r
-            serviceName=microServiceInfo.getServiceName();\r
-        }\r
-        customRouteInfo.setServiceName(serviceName);\r
-       \r
-        return customRouteInfo;\r
-    }\r
-    \r
-    \r
-    /**\r
-     * From MicroServiceInfo to IuiRouteInfo\r
-     * @param microServiceInfo\r
-     * @return\r
-     */\r
-    private IuiRouteInfo buildIuiRouteInfo(Service microServiceInfo){\r
-      \r
-        IuiRouteInfo iuiRouteInfo = new IuiRouteInfo();\r
-        iuiRouteInfo.setUrl(microServiceInfo.getUrl());\r
-               \r
-        Set<Node> nodes=microServiceInfo.getNodes();\r
-        RouteServer[] routeServers=new RouteServer[nodes.size()];\r
-         \r
-        \r
-        int i=0;\r
-        for(Node node:nodes){\r
-            RouteServer routeServer = new RouteServer(node.getIp(),node.getPort()); \r
-            routeServers[i]=routeServer;\r
-            i++;\r
-        }      \r
-               \r
-        iuiRouteInfo.setServers(routeServers);\r
-        String[] rangs=StringUtils.split(microServiceInfo.getVisualRange(), "|");\r
-        if(RouteUtil.contain(rangs, "0")){\r
-            iuiRouteInfo.setVisualRange("0");\r
-        }\r
-        else{\r
-            iuiRouteInfo.setVisualRange("1");\r
-        }\r
-        \r
-        if("ip_hash".equals(microServiceInfo.getLb_policy())){\r
-            iuiRouteInfo.setUseOwnUpstream("1");\r
-        }\r
-\r
-        String serviceName=microServiceInfo.getServiceName();\r
-        if(serviceName.startsWith("iui_")||serviceName.startsWith("IUI_")){\r
-            serviceName=serviceName.substring(4);\r
-        }\r
-        \r
-        \r
-        iuiRouteInfo.setServiceName(serviceName);\r
-       \r
-        return iuiRouteInfo;\r
-    }\r
-}\r