test_class.declarator: deprecatedFilter = new DeprecatedFilter()
test_class.original_string: Filter deprecatedFilter = new DeprecatedFilter();
test_class.type: Filter
test_class.var_name: deprecatedFilter
test_class.file: dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/DeprecatedFilterTest.java
test_class.identifier: DeprecatedFilterTest
test_case.body: @Test
      public void testDeprecatedFilter() {
          URL url = URL.valueOf("test://test:11/test?group=dubbo&version=1.1&echo." + DEPRECATED_KEY + "=true");
          LogUtil.start();
          deprecatedFilter.invoke(new MyInvoker<DemoService>(url), new MockInvocation());
          assertEquals(1,
                  LogUtil.findMessage("The service method org.apache.dubbo.rpc.support.DemoService.echo(String) is DEPRECATED"));
          LogUtil.stop();
      }
test_case.class_method_signature: DeprecatedFilterTest.testDeprecatedFilter()
test_case.full_signature: @Test public void testDeprecatedFilter()
test_case.identifier: testDeprecatedFilter
test_case.invocations: valueOf start invoke assertEquals findMessage stop
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDeprecatedFilter()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(DeprecatedFilter.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(DeprecatedFilter.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: LOGGED = new ConcurrentHashSet<String>()
focal_class.modifier: private static final
focal_class.original_string: private static final Set<String> LOGGED = new ConcurrentHashSet<String>();
focal_class.type: Set<String>
focal_class.var_name: LOGGED
focal_class.file: dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/DeprecatedFilter.java
focal_class.identifier: DeprecatedFilter
focal_class.interfaces: implements Filter
focal_class.class_method_signature: DeprecatedFilter.invoke(Invoker<?> invoker, Invocation invocation)
focal_class.full_signature: @Override public Result invoke(Invoker<?> invoker, Invocation invocation)
focal_class.identifier: invoke
focal_class.modifiers: @Override public
focal_class.parameters: (Invoker<?> invoker, Invocation invocation)
focal_class.return: Result
focal_class.signature: Result invoke(Invoker<?> invoker, Invocation invocation)
focal_class.class_method_signature: DeprecatedFilter.getMethodSignature(Invocation invocation)
focal_class.full_signature: private String getMethodSignature(Invocation invocation)
focal_class.identifier: getMethodSignature
focal_class.modifiers: private
focal_class.parameters: (Invocation invocation)
focal_class.return: String
focal_class.signature: String getMethodSignature(Invocation invocation)
focal_method.body: @Override
      public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
          String key = invoker.getInterface().getName() + "." + invocation.getMethodName();
          if (!LOGGED.contains(key)) {
              LOGGED.add(key);
              if (invoker.getUrl().getMethodParameter(invocation.getMethodName(), DEPRECATED_KEY, false)) {
                  LOGGER.error("The service method " + invoker.getInterface().getName() + "." + getMethodSignature(invocation) + " is DEPRECATED! Declare from " + invoker.getUrl());
              }
          }
          return invoker.invoke(invocation);
      }
focal_method.class_method_signature: DeprecatedFilter.invoke(Invoker<?> invoker, Invocation invocation)
focal_method.full_signature: @Override public Result invoke(Invoker<?> invoker, Invocation invocation)
focal_method.identifier: invoke
focal_method.invocations: getName getInterface getMethodName contains add getMethodParameter getUrl getMethodName error getName getInterface getMethodSignature getUrl invoke
focal_method.modifiers: @Override public
focal_method.parameters: (Invoker<?> invoker, Invocation invocation)
focal_method.return: Result
focal_method.signature: Result invoke(Invoker<?> invoker, Invocation invocation)