Divide the MSB source codes into two repos
[msb/apigateway.git] / apiroute / apiroute-service / src / main / java / org / onap / msb / apiroute / wrapper / util / RegExpTestUtil.java
@@ -1,5 +1,5 @@
 /**
- * Copyright 2016 ZTE Corporation.
+ * Copyright 2016 ZTE, Inc. and others.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.openo.msb.wrapper.util;
+package org.onap.msb.apiroute.wrapper.util;
 
+import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 public class RegExpTestUtil {
   
  
+  private final static String API_KEY_PATTERN ="/api/(?<servicename>[^/]+)(/(?<version>[^/]*)).*";
+  
+  private final static String IUI_KEY_PATTERN ="/iui/(?<servicename>[^/]+)/.*";
     
   public static boolean  hostRegExpTest(String host){
       
@@ -66,23 +70,46 @@ public static boolean urlRegExpTest(String url){
 
 public static boolean apiRouteUrlRegExpTest(String url){
     
-    String urlReg = "^\\/"+RouteUtil.API_ROOT_PATH+"\\/.*$";  
+    String urlReg = "^\\/"+ConfigUtil.getInstance().getAPI_ROOT_PATH()+"\\/.*$";  
     return Pattern.matches(urlReg, url); 
     
 }
 
 public static boolean iuiRouteUrlRegExpTest(String url){
     
-    String urlReg = "^\\/"+RouteUtil.IUI_ROOT_PATH+"\\/.*$";  
+    String urlReg = "^\\/"+ConfigUtil.getInstance().getIUI_ROOT_PATH()+"\\/.*$";  
     return Pattern.matches(urlReg, url); 
     
 }
 
+public static String[] apiServiceNameMatch4URL(String url){
+  Pattern redisKeyPattern =Pattern.compile(API_KEY_PATTERN);
+  Matcher matcher = redisKeyPattern.matcher(url+"/");
+  if (matcher.matches()) {
+    String version;
+    if(versionRegExpTest(matcher.group("version"))){
+      version=matcher.group("version");
+    }
+    else{
+      version="";
+    }
+     return new String[]{matcher.group("servicename"),version}; 
+    }
+    else{
+      return null;
+    }
+}
+
+
+public static String iuiServiceNameMatch4URL(String url){
+  Pattern redisKeyPattern =Pattern.compile(IUI_KEY_PATTERN);
+  Matcher matcher = redisKeyPattern.matcher(url+"/");
+  if (matcher.matches()) {
+     return matcher.group("servicename"); 
+    }
+    else{
+      return null;
+    }
+}
 
-  
-  
-  public static void main(String[] args) {
-      System.out.println(urlRegExpTest("/api "));
-//      System.out.println("api".startsWith("/"));
-  }
 }