/**
- * 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){
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("/"));
- }
}