test_class.file: dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/beans/factory/annotation/AnnotationPropertyValuesAdapterTest.java
test_class.identifier: AnnotationPropertyValuesAdapterTest
test_case.body: @Test
      public void test() {
  
          MockEnvironment mockEnvironment = new MockEnvironment();
  
          mockEnvironment.setProperty("version", "1.0.0");
  
          mockEnvironment.setProperty("url", "   dubbo://localhost:12345");
  
          Field field = ReflectionUtils.findField(TestBean.class, "demoService");
  
          Reference reference = AnnotationUtils.getAnnotation(field, Reference.class);
  
          AnnotationPropertyValuesAdapter propertyValues = new AnnotationPropertyValuesAdapter(reference, mockEnvironment);
  
          ReferenceBean referenceBean = new ReferenceBean();
  
          DataBinder dataBinder = new DataBinder(referenceBean);
  
          dataBinder.setDisallowedFields("application", "module", "consumer", "monitor", "registry");
  
          DefaultConversionService conversionService = new DefaultConversionService();
  
          conversionService.addConverter(new Converter<String[], String>() {
              @Override
              public String convert(String[] source) {
                  return arrayToCommaDelimitedString(source);
              }
          });
  
          conversionService.addConverter(new Converter<String[], Map<String, String>>() {
              @Override
              public Map<String, String> convert(String[] source) {
                  return CollectionUtils.toStringMap(source);
              }
          });
  
  
          dataBinder.setConversionService(conversionService);
  
  
          dataBinder.bind(propertyValues);
  
  //        System.out.println(referenceBean);
  
          Assert.assertEquals(DemoService.class, referenceBean.getInterfaceClass());
          Assert.assertEquals("com.alibaba.dubbo.config.spring.api.DemoService", referenceBean.getInterface());
          Assert.assertEquals("1.0.0", referenceBean.getVersion());
          Assert.assertEquals("group", referenceBean.getGroup());
          Assert.assertEquals("dubbo://localhost:12345", referenceBean.getUrl());
          Assert.assertEquals("client", referenceBean.getClient());
          Assert.assertEquals(true, referenceBean.isGeneric());
          Assert.assertEquals(true, referenceBean.isInjvm());
          Assert.assertEquals(false, referenceBean.isCheck());
          Assert.assertEquals(true, referenceBean.isInit());
          Assert.assertEquals(true, referenceBean.getLazy());
          Assert.assertEquals(true, referenceBean.getStubevent());
          Assert.assertEquals("reconnect", referenceBean.getReconnect());
          Assert.assertEquals(true, referenceBean.getSticky());
  
          Assert.assertEquals("javassist", referenceBean.getProxy());
  
          Assert.assertEquals("stub", referenceBean.getStub());
          Assert.assertEquals("failover", referenceBean.getCluster());
          Assert.assertEquals(Integer.valueOf(1), referenceBean.getConnections());
          Assert.assertEquals(Integer.valueOf(1), referenceBean.getCallbacks());
          Assert.assertEquals("onconnect", referenceBean.getOnconnect());
          Assert.assertEquals("ondisconnect", referenceBean.getOndisconnect());
          Assert.assertEquals("owner", referenceBean.getOwner());
          Assert.assertEquals("layer", referenceBean.getLayer());
          Assert.assertEquals(Integer.valueOf(1), referenceBean.getRetries());
          Assert.assertEquals("random", referenceBean.getLoadbalance());
          Assert.assertEquals(true, referenceBean.isAsync());
          Assert.assertEquals(Integer.valueOf(1), referenceBean.getActives());
          Assert.assertEquals(true, referenceBean.getSent());
          Assert.assertEquals("mock", referenceBean.getMock());
          Assert.assertEquals("validation", referenceBean.getValidation());
          Assert.assertEquals(Integer.valueOf(2), referenceBean.getTimeout());
          Assert.assertEquals("cache", referenceBean.getCache());
          Assert.assertEquals("default,default", referenceBean.getFilter());
          Assert.assertEquals("default,default", referenceBean.getListener());
  
          Map<String, String> data = new LinkedHashMap<String, String>();
          data.put("key1", "value1");
  
          Assert.assertEquals(data, referenceBean.getParameters());
          // Bean compare
          Assert.assertEquals(null, referenceBean.getApplication());
          Assert.assertEquals(null, referenceBean.getModule());
          Assert.assertEquals(null, referenceBean.getConsumer());
          Assert.assertEquals(null, referenceBean.getMonitor());
          Assert.assertEquals(null, referenceBean.getRegistry());
  
      }
test_case.class_method_signature: AnnotationPropertyValuesAdapterTest.test()
test_case.full_signature: @Test public void test()
test_case.identifier: test
test_case.invocations: setProperty setProperty findField getAnnotation setDisallowedFields addConverter arrayToCommaDelimitedString addConverter toStringMap setConversionService bind assertEquals getInterfaceClass assertEquals getInterface assertEquals getVersion assertEquals getGroup assertEquals getUrl assertEquals getClient assertEquals isGeneric assertEquals isInjvm assertEquals isCheck assertEquals isInit assertEquals getLazy assertEquals getStubevent assertEquals getReconnect assertEquals getSticky assertEquals getProxy assertEquals getStub assertEquals getCluster assertEquals valueOf getConnections assertEquals valueOf getCallbacks assertEquals getOnconnect assertEquals getOndisconnect assertEquals getOwner assertEquals getLayer assertEquals valueOf getRetries assertEquals getLoadbalance assertEquals isAsync assertEquals valueOf getActives assertEquals getSent assertEquals getMock assertEquals getValidation assertEquals valueOf getTimeout assertEquals getCache assertEquals getFilter assertEquals getListener put assertEquals getParameters assertEquals getApplication assertEquals getModule assertEquals getConsumer assertEquals getMonitor assertEquals getRegistry
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test()
focal_class.declarator: annotation
focal_class.modifier: private final
focal_class.original_string: private final Annotation annotation;
focal_class.type: Annotation
focal_class.var_name: annotation
focal_class.declarator: propertyResolver
focal_class.modifier: private final
focal_class.original_string: private final PropertyResolver propertyResolver;
focal_class.type: PropertyResolver
focal_class.var_name: propertyResolver
focal_class.declarator: ignoreDefaultValue
focal_class.modifier: private final
focal_class.original_string: private final boolean ignoreDefaultValue;
focal_class.type: boolean
focal_class.var_name: ignoreDefaultValue
focal_class.declarator: delegate
focal_class.modifier: private final
focal_class.original_string: private final PropertyValues delegate;
focal_class.type: PropertyValues
focal_class.var_name: delegate
focal_class.file: dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/beans/factory/annotation/AnnotationPropertyValuesAdapter.java
focal_class.identifier: AnnotationPropertyValuesAdapter
focal_class.interfaces: implements PropertyValues
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.AnnotationPropertyValuesAdapter(Annotation annotation, PropertyResolver propertyResolver, boolean ignoreDefaultValue, String... ignoreAttributeNames)
focal_class.full_signature: public  AnnotationPropertyValuesAdapter(Annotation annotation, PropertyResolver propertyResolver, boolean ignoreDefaultValue, String... ignoreAttributeNames)
focal_class.identifier: AnnotationPropertyValuesAdapter
focal_class.modifiers: public
focal_class.parameters: (Annotation annotation, PropertyResolver propertyResolver, boolean ignoreDefaultValue, String... ignoreAttributeNames)
focal_class.signature:  AnnotationPropertyValuesAdapter(Annotation annotation, PropertyResolver propertyResolver, boolean ignoreDefaultValue, String... ignoreAttributeNames)
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.AnnotationPropertyValuesAdapter(Annotation annotation, PropertyResolver propertyResolver, String... ignoreAttributeNames)
focal_class.full_signature: public  AnnotationPropertyValuesAdapter(Annotation annotation, PropertyResolver propertyResolver, String... ignoreAttributeNames)
focal_class.identifier: AnnotationPropertyValuesAdapter
focal_class.modifiers: public
focal_class.parameters: (Annotation annotation, PropertyResolver propertyResolver, String... ignoreAttributeNames)
focal_class.signature:  AnnotationPropertyValuesAdapter(Annotation annotation, PropertyResolver propertyResolver, String... ignoreAttributeNames)
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.adapt(Annotation annotation, boolean ignoreDefaultValue, String... ignoreAttributeNames)
focal_class.full_signature: private PropertyValues adapt(Annotation annotation, boolean ignoreDefaultValue, String... ignoreAttributeNames)
focal_class.identifier: adapt
focal_class.modifiers: private
focal_class.parameters: (Annotation annotation, boolean ignoreDefaultValue, String... ignoreAttributeNames)
focal_class.return: PropertyValues
focal_class.signature: PropertyValues adapt(Annotation annotation, boolean ignoreDefaultValue, String... ignoreAttributeNames)
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.getAnnotation()
focal_class.full_signature: public Annotation getAnnotation()
focal_class.identifier: getAnnotation
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Annotation
focal_class.signature: Annotation getAnnotation()
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.isIgnoreDefaultValue()
focal_class.full_signature: public boolean isIgnoreDefaultValue()
focal_class.identifier: isIgnoreDefaultValue
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isIgnoreDefaultValue()
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.getPropertyValues()
focal_class.full_signature: @Override public PropertyValue[] getPropertyValues()
focal_class.identifier: getPropertyValues
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: PropertyValue[]
focal_class.signature: PropertyValue[] getPropertyValues()
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.getPropertyValue(String propertyName)
focal_class.full_signature: @Override public PropertyValue getPropertyValue(String propertyName)
focal_class.identifier: getPropertyValue
focal_class.modifiers: @Override public
focal_class.parameters: (String propertyName)
focal_class.return: PropertyValue
focal_class.signature: PropertyValue getPropertyValue(String propertyName)
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.changesSince(PropertyValues old)
focal_class.full_signature: @Override public PropertyValues changesSince(PropertyValues old)
focal_class.identifier: changesSince
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyValues old)
focal_class.return: PropertyValues
focal_class.signature: PropertyValues changesSince(PropertyValues old)
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.contains(String propertyName)
focal_class.full_signature: @Override public boolean contains(String propertyName)
focal_class.identifier: contains
focal_class.modifiers: @Override public
focal_class.parameters: (String propertyName)
focal_class.return: boolean
focal_class.signature: boolean contains(String propertyName)
focal_class.class_method_signature: AnnotationPropertyValuesAdapter.isEmpty()
focal_class.full_signature: @Override public boolean isEmpty()
focal_class.identifier: isEmpty
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEmpty()
focal_method.body: public Annotation getAnnotation() {
          return annotation;
      }
focal_method.class_method_signature: AnnotationPropertyValuesAdapter.getAnnotation()
focal_method.full_signature: public Annotation getAnnotation()
focal_method.identifier: getAnnotation
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Annotation
focal_method.signature: Annotation getAnnotation()