test_class.declarator: localAddress = "127.0.0.1"
test_class.original_string: String localAddress = "127.0.0.1";
test_class.type: String
test_class.var_name: localAddress
test_class.file: dubbo-common/src/test/java/com/alibaba/dubbo/common/utils/UrlUtilsTest.java
test_class.identifier: UrlUtilsTest
test_case.body: @Test
      public void testRevertForbid() {
          String service = "dubbo.test.api.HelloService";
          List<String> forbid = new ArrayList<String>();
          forbid.add(service);
          Set<URL> subscribed = new HashSet<URL>();
          subscribed.add(URL.valueOf("dubbo://127.0.0.1:20880/" + service + "?group=perf&version=1.0.0"));
          List<String> newForbid = UrlUtils.revertForbid(forbid, subscribed);
          List<String> expectForbid = new ArrayList<String>();
          expectForbid.add("perf/" + service + ":1.0.0");
          assertEquals(expectForbid, newForbid);
      }
test_case.class_method_signature: UrlUtilsTest.testRevertForbid()
test_case.full_signature: @Test public void testRevertForbid()
test_case.identifier: testRevertForbid
test_case.invocations: add add valueOf revertForbid add assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testRevertForbid()
focal_class.file: dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/UrlUtils.java
focal_class.identifier: UrlUtils
focal_class.class_method_signature: UrlUtils.parseURL(String address, Map<String, String> defaults)
focal_class.full_signature: public static URL parseURL(String address, Map<String, String> defaults)
focal_class.identifier: parseURL
focal_class.modifiers: public static
focal_class.parameters: (String address, Map<String, String> defaults)
focal_class.return: URL
focal_class.signature: URL parseURL(String address, Map<String, String> defaults)
focal_class.class_method_signature: UrlUtils.parseURLs(String address, Map<String, String> defaults)
focal_class.full_signature: public static List<URL> parseURLs(String address, Map<String, String> defaults)
focal_class.identifier: parseURLs
focal_class.modifiers: public static
focal_class.parameters: (String address, Map<String, String> defaults)
focal_class.return: List<URL>
focal_class.signature: List<URL> parseURLs(String address, Map<String, String> defaults)
focal_class.class_method_signature: UrlUtils.convertRegister(Map<String, Map<String, String>> register)
focal_class.full_signature: public static Map<String, Map<String, String>> convertRegister(Map<String, Map<String, String>> register)
focal_class.identifier: convertRegister
focal_class.modifiers: public static
focal_class.parameters: (Map<String, Map<String, String>> register)
focal_class.return: Map<String, Map<String, String>>
focal_class.signature: Map<String, Map<String, String>> convertRegister(Map<String, Map<String, String>> register)
focal_class.class_method_signature: UrlUtils.convertSubscribe(Map<String, String> subscribe)
focal_class.full_signature: public static Map<String, String> convertSubscribe(Map<String, String> subscribe)
focal_class.identifier: convertSubscribe
focal_class.modifiers: public static
focal_class.parameters: (Map<String, String> subscribe)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> convertSubscribe(Map<String, String> subscribe)
focal_class.class_method_signature: UrlUtils.revertRegister(Map<String, Map<String, String>> register)
focal_class.full_signature: public static Map<String, Map<String, String>> revertRegister(Map<String, Map<String, String>> register)
focal_class.identifier: revertRegister
focal_class.modifiers: public static
focal_class.parameters: (Map<String, Map<String, String>> register)
focal_class.return: Map<String, Map<String, String>>
focal_class.signature: Map<String, Map<String, String>> revertRegister(Map<String, Map<String, String>> register)
focal_class.class_method_signature: UrlUtils.revertSubscribe(Map<String, String> subscribe)
focal_class.full_signature: public static Map<String, String> revertSubscribe(Map<String, String> subscribe)
focal_class.identifier: revertSubscribe
focal_class.modifiers: public static
focal_class.parameters: (Map<String, String> subscribe)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> revertSubscribe(Map<String, String> subscribe)
focal_class.class_method_signature: UrlUtils.revertNotify(Map<String, Map<String, String>> notify)
focal_class.full_signature: public static Map<String, Map<String, String>> revertNotify(Map<String, Map<String, String>> notify)
focal_class.identifier: revertNotify
focal_class.modifiers: public static
focal_class.parameters: (Map<String, Map<String, String>> notify)
focal_class.return: Map<String, Map<String, String>>
focal_class.signature: Map<String, Map<String, String>> revertNotify(Map<String, Map<String, String>> notify)
focal_class.class_method_signature: UrlUtils.revertForbid(List<String> forbid, Set<URL> subscribed)
focal_class.full_signature: public static List<String> revertForbid(List<String> forbid, Set<URL> subscribed)
focal_class.identifier: revertForbid
focal_class.modifiers: public static
focal_class.parameters: (List<String> forbid, Set<URL> subscribed)
focal_class.return: List<String>
focal_class.signature: List<String> revertForbid(List<String> forbid, Set<URL> subscribed)
focal_class.class_method_signature: UrlUtils.getEmptyUrl(String service, String category)
focal_class.full_signature: public static URL getEmptyUrl(String service, String category)
focal_class.identifier: getEmptyUrl
focal_class.modifiers: public static
focal_class.parameters: (String service, String category)
focal_class.return: URL
focal_class.signature: URL getEmptyUrl(String service, String category)
focal_class.class_method_signature: UrlUtils.isMatchCategory(String category, String categories)
focal_class.full_signature: public static boolean isMatchCategory(String category, String categories)
focal_class.identifier: isMatchCategory
focal_class.modifiers: public static
focal_class.parameters: (String category, String categories)
focal_class.return: boolean
focal_class.signature: boolean isMatchCategory(String category, String categories)
focal_class.class_method_signature: UrlUtils.isMatch(URL consumerUrl, URL providerUrl)
focal_class.full_signature: public static boolean isMatch(URL consumerUrl, URL providerUrl)
focal_class.identifier: isMatch
focal_class.modifiers: public static
focal_class.parameters: (URL consumerUrl, URL providerUrl)
focal_class.return: boolean
focal_class.signature: boolean isMatch(URL consumerUrl, URL providerUrl)
focal_class.class_method_signature: UrlUtils.isMatchGlobPattern(String pattern, String value, URL param)
focal_class.full_signature: public static boolean isMatchGlobPattern(String pattern, String value, URL param)
focal_class.identifier: isMatchGlobPattern
focal_class.modifiers: public static
focal_class.parameters: (String pattern, String value, URL param)
focal_class.return: boolean
focal_class.signature: boolean isMatchGlobPattern(String pattern, String value, URL param)
focal_class.class_method_signature: UrlUtils.isMatchGlobPattern(String pattern, String value)
focal_class.full_signature: public static boolean isMatchGlobPattern(String pattern, String value)
focal_class.identifier: isMatchGlobPattern
focal_class.modifiers: public static
focal_class.parameters: (String pattern, String value)
focal_class.return: boolean
focal_class.signature: boolean isMatchGlobPattern(String pattern, String value)
focal_class.class_method_signature: UrlUtils.isServiceKeyMatch(URL pattern, URL value)
focal_class.full_signature: public static boolean isServiceKeyMatch(URL pattern, URL value)
focal_class.identifier: isServiceKeyMatch
focal_class.modifiers: public static
focal_class.parameters: (URL pattern, URL value)
focal_class.return: boolean
focal_class.signature: boolean isServiceKeyMatch(URL pattern, URL value)
focal_class.class_method_signature: UrlUtils.isItemMatch(String pattern, String value)
focal_class.full_signature: static boolean isItemMatch(String pattern, String value)
focal_class.identifier: isItemMatch
focal_class.modifiers: static
focal_class.parameters: (String pattern, String value)
focal_class.return: boolean
focal_class.signature: boolean isItemMatch(String pattern, String value)
focal_method.body: public static List<String> revertForbid(List<String> forbid, Set<URL> subscribed) {
          if (forbid != null && !forbid.isEmpty()) {
              List<String> newForbid = new ArrayList<String>();
              for (String serviceName : forbid) {
                  if (!serviceName.contains(":") && !serviceName.contains("/")) {
                      for (URL url : subscribed) {
                          if (serviceName.equals(url.getServiceInterface())) {
                              newForbid.add(url.getServiceKey());
                              break;
                          }
                      }
                  } else {
                      newForbid.add(serviceName);
                  }
              }
              return newForbid;
          }
          return forbid;
      }
focal_method.class_method_signature: UrlUtils.revertForbid(List<String> forbid, Set<URL> subscribed)
focal_method.full_signature: public static List<String> revertForbid(List<String> forbid, Set<URL> subscribed)
focal_method.identifier: revertForbid
focal_method.invocations: isEmpty contains contains equals getServiceInterface add getServiceKey add
focal_method.modifiers: public static
focal_method.parameters: (List<String> forbid, Set<URL> subscribed)
focal_method.return: List<String>
focal_method.signature: List<String> revertForbid(List<String> forbid, Set<URL> subscribed)