{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":262515273,"defaultBranch":"master","name":"spring-framework","ownerLogin":"quaff","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-05-09T07:30:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/143040?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715237785.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"deb3a8efd5bd59e7b218bec78ce78945bee9472b","ref":"refs/heads/patch-76","pushedAt":"2024-05-09T06:56:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Insist on using `CollectionUtils.isEmpty()` and `StringUtils.hasLength()`\n\nsearch `(\\w+) != null && !(\\1).isEmpty\\(\\)`","shortMessageHtmlLink":"Insist on using CollectionUtils.isEmpty() and `StringUtils.hasLengt…"}},{"before":null,"after":"5bd865b26b715c0e99d7bc474ed658b895b940e9","ref":"refs/heads/patch-75","pushedAt":"2024-05-08T14:55:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Polishing","shortMessageHtmlLink":"Polishing"}},{"before":"12ff9c1c53a744047cf30e6241179d7fc8afa10a","after":"4d3ad42b8677ca1c962ab6b3f8a3e011bac90a7f","ref":"refs/heads/patch-74","pushedAt":"2024-04-01T05:06:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Polishing javadoc of AnnotatedBeanDefinitionReader\n\nIt should link `doRegisterBean(Class beanClass, String name, Class[] qualifiers, Supplier supplier, BeanDefinitionCustomizer[] customizers)` instead of `registerBean(Class, String, Class...)` but it is private, to make things more simple I'd like to remove it instead of linking all variants of `registerBean()`.","shortMessageHtmlLink":"Polishing javadoc of AnnotatedBeanDefinitionReader"}},{"before":null,"after":"12ff9c1c53a744047cf30e6241179d7fc8afa10a","ref":"refs/heads/patch-74","pushedAt":"2024-04-01T02:29:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Polishing javadoc of AnnotatedBeanDefinitionReader\n\nIt should link `doRegisterBean(Class beanClass, String name, Class[] qualifiers, Supplier supplier, BeanDefinitionCustomizer[] customizers)` instead of `registerBean(Class, String, Class...)` but it is private, to make things more simple I'd like to remove it instead of linking all variants of `registerBean()`.","shortMessageHtmlLink":"Polishing javadoc of AnnotatedBeanDefinitionReader"}},{"before":"149e8d72d0b97a20106bee4613270346b8189b65","after":"e9a9e196fc15b1db2b1460bdaba0def733a929df","ref":"refs/heads/patch-73","pushedAt":"2024-03-22T09:00:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Skip comparing variableResolver if underlying type is Class\n\nBefore this commit, given:\n```java\nResolvableType type1 = ResolvableType.forClassWithGenerics(IProvider.class, String.class);\nResolvableType type2 = ResolvableType.forClassWithGenerics(IProvider.class,ResolvableType.forClass(StringProvider.class).as(IProvider.class).getGenerics());\nassertThat(type1).isEqualTo(type2);\n```\nwill cause:\n```\nExpected :org.springframework.core.ResolvableTypeTests$IProvider\nActual :org.springframework.core.ResolvableTypeTests$IProvider\n```","shortMessageHtmlLink":"Skip comparing variableResolver if underlying type is Class"}},{"before":null,"after":"149e8d72d0b97a20106bee4613270346b8189b65","ref":"refs/heads/patch-73","pushedAt":"2024-03-22T08:58:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Skip comparing variableResolver if underlying type is Class\n\nBefore this commit, given:\n```java\n\t\tResolvableType type1 = ResolvableType.forClassWithGenerics(IProvider.class, String.class);\n\t\tResolvableType type2 = ResolvableType.forClassWithGenerics(IProvider.class,\n\t\t\t\tResolvableType.forClass(StringProvider.class).as(IProvider.class).getGenerics());\n\t\tassertThat(type1).isEqualTo(type2);\n```\nwill cause:\n```\nExpected :org.springframework.core.ResolvableTypeTests$IProvider\nActual :org.springframework.core.ResolvableTypeTests$IProvider\n```","shortMessageHtmlLink":"Skip comparing variableResolver if underlying type is Class"}},{"before":null,"after":"14e2bae221455c9eb958e11c57edd1a26ab2ffc0","ref":"refs/heads/patch-72","pushedAt":"2024-03-11T07:59:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Polishing Optional usage","shortMessageHtmlLink":"Polishing Optional usage"}},{"before":null,"after":"f6bbd0449888020845147e9e70a0b4e9c3dca6ee","ref":"refs/heads/patch-71","pushedAt":"2024-03-11T02:08:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Polishing","shortMessageHtmlLink":"Polishing"}},{"before":null,"after":"0f3ee7ed6f60304d18602581f1eefc84ea2ffbca","ref":"refs/heads/patch-70","pushedAt":"2024-03-08T07:47:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Polishing","shortMessageHtmlLink":"Polishing"}},{"before":"10fb43ef67d99fe5548d3f750ded32d176185e93","after":"acf867f20f115aa0094272ed2108f306d89c589a","ref":"refs/heads/patch-69","pushedAt":"2024-03-07T05:18:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Support binding indexed values for record class\n\nFix GH-32379","shortMessageHtmlLink":"Support binding indexed values for record class"}},{"before":"9f52d8aaa7a5704b3ccb18ff45dfbd5e226eab32","after":"10fb43ef67d99fe5548d3f750ded32d176185e93","ref":"refs/heads/patch-69","pushedAt":"2024-03-07T05:16:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Support binding indexed values for record class\n\nFix GH-32379","shortMessageHtmlLink":"Support binding indexed values for record class"}},{"before":"f650a5ceef1d659bc16a0a6eaebff63019ac476a","after":"9f52d8aaa7a5704b3ccb18ff45dfbd5e226eab32","ref":"refs/heads/patch-69","pushedAt":"2024-03-07T04:54:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Support binding indexed values for record class\n\nFix GH-32379","shortMessageHtmlLink":"Support binding indexed values for record class"}},{"before":null,"after":"f650a5ceef1d659bc16a0a6eaebff63019ac476a","ref":"refs/heads/patch-69","pushedAt":"2024-03-07T02:25:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Support binding indexed values for record class\n\nFix GH-32379","shortMessageHtmlLink":"Support binding indexed values for record class"}},{"before":null,"after":"54fdb8fe1cd3b6b8a161d01edbd686a6c740c4c5","ref":"refs/heads/patch-68","pushedAt":"2024-03-06T02:32:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Polishing javadoc of NamedParameterUtils.substituteNamedParameters()\n\nDocument that empty list is guaranteed to be supported by the database, for example MySQL and PostgreSQL doesn't support `foo in ()`.","shortMessageHtmlLink":"Polishing javadoc of NamedParameterUtils.substituteNamedParameters()"}},{"before":null,"after":"e0cfa883f277cbae93c2a65cd5883798972d4840","ref":"refs/heads/patch-67","pushedAt":"2024-02-29T09:20:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Add missing method BeanDefinitionBuilder.setFallback()","shortMessageHtmlLink":"Add missing method BeanDefinitionBuilder.setFallback()"}},{"before":null,"after":"7d37f2a0a4bfb6f0845219f9718dcdfe8caa135c","ref":"refs/heads/patch-66","pushedAt":"2024-02-29T09:11:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Add test for @Fallback with BeanFactory.getBean(Class)","shortMessageHtmlLink":"Add test for @fallback with BeanFactory.getBean(Class)"}},{"before":null,"after":"b0389f7a1b2101c6e3f216ce88e8182d241802a9","ref":"refs/heads/patch-65","pushedAt":"2024-02-22T02:16:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Replace redundant javadoc with {@inheritDoc} for AbstractBeanDefinition","shortMessageHtmlLink":"Replace redundant javadoc with {@inheritdoc} for AbstractBeanDefinition"}},{"before":"8c45370e46e152db3c89463a4244fa539bd27a6f","after":"3d546f5b8b8e1c7238d12ea31bdc754b6b0cee87","ref":"refs/heads/patch-63","pushedAt":"2024-02-21T07:00:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Clarify fallback beans are included for autowiring Arrays, Collections, and Maps\n\nTest is improved to verify that.","shortMessageHtmlLink":"Clarify fallback beans are included for autowiring Arrays, Collection…"}},{"before":null,"after":"bba549847d46d4f27a91b861d549dc6d936faebf","ref":"refs/heads/patch-64","pushedAt":"2024-02-21T04:52:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Introduce \"autowireCandidate\" and \"defaultCandidate\" for stereotype annotations\n\n@Controller is excluded since it's not likely to have multiple implementations in practice.","shortMessageHtmlLink":"Introduce \"autowireCandidate\" and \"defaultCandidate\" for stereotype a…"}},{"before":null,"after":"8c45370e46e152db3c89463a4244fa539bd27a6f","ref":"refs/heads/patch-63","pushedAt":"2024-02-21T02:26:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Clarify fallback beans are included for autowiring Arrays, Collections, and Maps\n\nTest is improved to verify that.","shortMessageHtmlLink":"Clarify fallback beans are included for autowiring Arrays, Collection…"}},{"before":null,"after":"42efb840dc840b215ca139c6e157d1ac63ba85af","ref":"refs/heads/patch-62","pushedAt":"2024-02-01T08:22:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Fix typo","shortMessageHtmlLink":"Fix typo"}},{"before":null,"after":"57989002d93b30c684cab9b4690d040362ad205c","ref":"refs/heads/patch-61","pushedAt":"2024-01-31T02:44:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Polishing StatementCreatorUtilsTests\n\n1. mark field `preparedStatement` as final\n2. avoid passing `null` to `@NotNull` parameter","shortMessageHtmlLink":"Polishing StatementCreatorUtilsTests"}},{"before":null,"after":"8261c4fb1e86b8bd122b09a4ff9f8ee223a0d87f","ref":"refs/heads/patch-60","pushedAt":"2024-01-31T02:33:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Support InputStream/Reader as statement parameter\n\nFix GH-32161","shortMessageHtmlLink":"Support InputStream/Reader as statement parameter"}},{"before":null,"after":"ac5c68788a85fdd88589003017e6611bd3214983","ref":"refs/heads/patch-59","pushedAt":"2024-01-29T07:14:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Remove identical method declaration from sub interface","shortMessageHtmlLink":"Remove identical method declaration from sub interface"}},{"before":null,"after":"f0707864b8ced588812d8f8cf8a1970ed673f7d4","ref":"refs/heads/patch-58","pushedAt":"2024-01-26T08:40:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Skip overriding primary bean definition with non-primary one\n\nFix GH-32125","shortMessageHtmlLink":"Skip overriding primary bean definition with non-primary one"}},{"before":null,"after":"7268100ef8d00836629b7736abcf3ca43c491633","ref":"refs/heads/patch-57","pushedAt":"2024-01-25T01:19:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Fix typo\n\nIntroduced by commit f9726ae0c8f7755886c5264c3cb83fd2aa3825e7","shortMessageHtmlLink":"Fix typo"}},{"before":null,"after":"069b6ca57de9e36b027f3ac3e92ab7348d551ea7","ref":"refs/heads/patch-56","pushedAt":"2024-01-23T05:33:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Fix getMostSpecificMethod to return original method if target class is not in hierarchy\n\nCloses GH-32087","shortMessageHtmlLink":"Fix getMostSpecificMethod to return original method if target class i…"}},{"before":"7d9688db4ebb28bfa731a9868c41324797207398","after":"3160fe7bd565136202bb9dc2950586389ca897b6","ref":"refs/heads/patch-55","pushedAt":"2024-01-22T03:09:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Cache validationGroups for subsequent requests\n\nClose GH-32068","shortMessageHtmlLink":"Cache validationGroups for subsequent requests"}},{"before":null,"after":"7d9688db4ebb28bfa731a9868c41324797207398","ref":"refs/heads/patch-55","pushedAt":"2024-01-22T02:58:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Cache validationGroups for subsequent requests\n\nClose GH-32068","shortMessageHtmlLink":"Cache validationGroups for subsequent requests"}},{"before":null,"after":"77406750467f32d6fb73d4edcf3b378ee3c71c20","ref":"refs/heads/patch-54","pushedAt":"2024-01-22T01:24:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quaff","name":"Yanming Zhou","path":"/quaff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143040?s=80&v=4"},"commit":{"message":"Replace Mockito.verify() with BDDMockito.then()\n\nPolishing https://github.com/spring-projects/spring-framework/commit/472dcdb59cfa751908856b6bcd6c353f87260fe7\n\nThe test code is more readable.","shortMessageHtmlLink":"Replace Mockito.verify() with BDDMockito.then()"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERVYAQwA","startCursor":null,"endCursor":null}},"title":"Activity · quaff/spring-framework"}