{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":17988451,"defaultBranch":"main","name":"spring-batch-extensions","ownerLogin":"spring-projects","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-03-21T17:38:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/317776?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726670799.0","currentOid":""},"activityList":{"items":[{"before":"6335a69e1712842ca24d09635bc3d4f1a7f65374","after":"66d387ea2b83320f63ad2701f21e8eaf2b5543db","ref":"refs/heads/main","pushedAt":"2024-09-18T14:51:22.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Merge pull request #144 from spring-projects/excel-documentation\n\nUpdate documentation","shortMessageHtmlLink":"Merge pull request #144 from spring-projects/excel-documentation"}},{"before":"7b5153d9ca4ebd7274da84c0a14cdbeccbc65913","after":"4fb5fb906d425f577e501f914450699597862b67","ref":"refs/heads/excel-documentation","pushedAt":"2024-09-18T14:50:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Update documentation\n\nDocument on how to use the BeanWrapperRowMapper with the StreamingXlsxItemReader as that requires a bit more configuration due to the streaming nature.\n\nNext to the documentation also added a test case for this to show how to configure it as well.\n\nCloses: #115","shortMessageHtmlLink":"Update documentation"}},{"before":null,"after":"7b5153d9ca4ebd7274da84c0a14cdbeccbc65913","ref":"refs/heads/excel-documentation","pushedAt":"2024-09-18T14:46:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Update documentation\n\nDocument on how to use the BeanWrapperRowMapper with the StreamingXlsxItemReader as that requires a bit more configuration due to the streaming nature.\n\nNext to the documentation also added a test case for this to show how to configure it as well.\n\nCloses: #115","shortMessageHtmlLink":"Update documentation"}},{"before":"41cbb9314232efb5eb4f9413a8a19c8642fffc07","after":"6335a69e1712842ca24d09635bc3d4f1a7f65374","ref":"refs/heads/main","pushedAt":"2024-09-18T13:57:42.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Merge pull request #143 from spring-projects/more-flexible-configuration\n\nCustomization of Apache POI helpers","shortMessageHtmlLink":"Merge pull request #143 from spring-projects/more-flexible-configuration"}},{"before":"c7d5ff6694d91825123571b1ebe3fc7d6cdf604e","after":"395560672a5ffc4238f74c110d4dc8ea4fc6f05c","ref":"refs/heads/more-flexible-configuration","pushedAt":"2024-09-18T13:52:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Customization of Apache POI helpers\n\nPrior to this commit it was impossible to modify or configure the DataFormatter and FormulaEvaluator in use. With this commit we resolve this by introducing two interfaces. 1 DataFormatterCustomizer to customize/configure the the DataFormatter in use. 1 interface the FormulaEvaluatorFactory which is a factory used to create the FormulaEvaluator.\n\nThe default DataFormatterCustomizer will configure the formatter to use the cached values from cells instead of evaluating the formulas.\n\nThe default FormulaEvaluatorFactory in use will always return null instead of creating a FormulaEvaluator.\n\nFixes: #126","shortMessageHtmlLink":"Customization of Apache POI helpers"}},{"before":null,"after":"c7d5ff6694d91825123571b1ebe3fc7d6cdf604e","ref":"refs/heads/more-flexible-configuration","pushedAt":"2024-09-18T13:49:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Customization of Apache POI helpers\n\nPrior to this commit it was impossible to modify or configure the DataFormatter and FormulaEvaluator in use. With this commit we resolve this by introducing two interfaces. 1 DataFormatterCustomizer to customize/configure the the DataFormatter in use. 1 interface the FormulaEvaluatorFactory which is a factory used to create the FormulaEvaluator.\n\nThe default DataFormatterCustomizer will configure the formatter to use the cached values from cells instead of evaluating the formulas.\n\nThe default FormulaEvaluatorFactory in use will always return null instead of creating a FormulaEvaluator.\n\nFixes: #126","shortMessageHtmlLink":"Customization of Apache POI helpers"}},{"before":"80b6aa7e050c50267a1320e959e1d44914c50c83","after":null,"ref":"refs/heads/0.2-bq-refactoring","pushedAt":"2024-09-05T11:59:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"}},{"before":null,"after":"2dedddad311a8fb1bc2d12d8895ba9e59eba849b","ref":"refs/heads/bq-tests","pushedAt":"2024-09-05T11:57:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"},"commit":{"message":"[bq] WIP","shortMessageHtmlLink":"[bq] WIP"}},{"before":"42093bc8132422631d9a550a9ad2762f8bad4a1e","after":"41cbb9314232efb5eb4f9413a8a19c8642fffc07","ref":"refs/heads/main","pushedAt":"2024-08-20T15:50:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"meistermeier","name":"Gerrit Meier","path":"/meistermeier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/435872?s=80&v=4"},"commit":{"message":"Update Neo4j extension to use Spring Data Neo4j. (#125)\n\nMove away from the Neo4j OGM usage because Spring Data Neo4j\r\nfits better in the ecosystem, spring-batch is settled in.\r\n\r\nPreviously there was no visible difference to users because Spring Data Neo4j\r\nwas based on Neo4j OGM which isn't the case anymore.","shortMessageHtmlLink":"Update Neo4j extension to use Spring Data Neo4j. (#125)"}},{"before":"e2fcfbfa3a625e0285d2188c7a0421e7352c4f94","after":null,"ref":"refs/heads/bq-emulator-test","pushedAt":"2024-08-18T18:13:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"}},{"before":"6f3277a2a35529cadbbccd019c56a863170bc980","after":"42093bc8132422631d9a550a9ad2762f8bad4a1e","ref":"refs/heads/main","pushedAt":"2024-08-18T18:13:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"},"commit":{"message":"[bq] test BQ with Docker emulator","shortMessageHtmlLink":"[bq] test BQ with Docker emulator"}},{"before":"769553643e3dc48c7032a928aeea4d0e6ec9dca7","after":"e2fcfbfa3a625e0285d2188c7a0421e7352c4f94","ref":"refs/heads/bq-emulator-test","pushedAt":"2024-08-18T18:11:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"},"commit":{"message":"[bq] test BQ with Docker emulator","shortMessageHtmlLink":"[bq] test BQ with Docker emulator"}},{"before":null,"after":"769553643e3dc48c7032a928aeea4d0e6ec9dca7","ref":"refs/heads/bq-emulator-test","pushedAt":"2024-08-18T18:01:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"},"commit":{"message":"[bq] WIP","shortMessageHtmlLink":"[bq] WIP"}},{"before":"642c3e5e3ba5a578ceeb92c50c95645b72762d6c","after":null,"ref":"refs/heads/bq-refactoring","pushedAt":"2024-08-18T15:36:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"}},{"before":"50f93d3cab119aa2ba24dcd7316e636103f8a5a1","after":"6f3277a2a35529cadbbccd019c56a863170bc980","ref":"refs/heads/main","pushedAt":"2024-08-18T15:36:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"},"commit":{"message":"[bq] refactoring & dependency upgrade","shortMessageHtmlLink":"[bq] refactoring & dependency upgrade"}},{"before":"9a1828f152f52a52721f7a1efc04c7c61ce7492e","after":"642c3e5e3ba5a578ceeb92c50c95645b72762d6c","ref":"refs/heads/bq-refactoring","pushedAt":"2024-08-18T15:32:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"},"commit":{"message":"[bq] refactoring & dependency upgrade","shortMessageHtmlLink":"[bq] refactoring & dependency upgrade"}},{"before":"cc7108cf328dbf18f3b86c656fce192d004fe6f7","after":"9a1828f152f52a52721f7a1efc04c7c61ce7492e","ref":"refs/heads/bq-refactoring","pushedAt":"2024-08-18T15:28:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"},"commit":{"message":"[bq] refactoring & dependency upgrade","shortMessageHtmlLink":"[bq] refactoring & dependency upgrade"}},{"before":null,"after":"cc7108cf328dbf18f3b86c656fce192d004fe6f7","ref":"refs/heads/bq-refactoring","pushedAt":"2024-08-18T15:22:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dgray16","name":"Volodymyr","path":"/dgray16","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9085850?s=80&v=4"},"commit":{"message":"[bq] refactoring & dependency upgrade","shortMessageHtmlLink":"[bq] refactoring & dependency upgrade"}},{"before":"9b03569dd7cf1bec483ec8dea1f0fcd70f408a2d","after":null,"ref":"refs/heads/improve-isodateformatter","pushedAt":"2024-08-08T13:31:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"}},{"before":"80813019b606d948f98aa481bdc6b36ec0577771","after":"50f93d3cab119aa2ba24dcd7316e636103f8a5a1","ref":"refs/heads/main","pushedAt":"2024-08-08T13:31:24.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Merge pull request #140 from spring-projects/improve-isodateformatter\n\nImprove IsoFormattingDateDataFormatter","shortMessageHtmlLink":"Merge pull request #140 from spring-projects/improve-isodateformatter"}},{"before":null,"after":"9b03569dd7cf1bec483ec8dea1f0fcd70f408a2d","ref":"refs/heads/improve-isodateformatter","pushedAt":"2024-08-08T13:29:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Improve IsoFormattingDateDataFormatter\n\nPrior to this commit all date related fields were formatted as an\nISO_LOCAL_DATE_TIME.\n\nWith this commit we inspect the type it actually is date, time or\ndatetime and use the proper ISO_LOCAL formatting for that.\n\nAnother improvement is to use the cached result for the formula instead\nof re-evaluating the formula and use that type.","shortMessageHtmlLink":"Improve IsoFormattingDateDataFormatter"}},{"before":"9ee6eff5b7a7fc241a1fe2e04e84c027aabeec46","after":null,"ref":"refs/heads/junit-best-practices","pushedAt":"2024-08-07T19:30:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"}},{"before":"05087745e488cdf5ba018171c0fb61b2ae529a3a","after":"80813019b606d948f98aa481bdc6b36ec0577771","ref":"refs/heads/main","pushedAt":"2024-08-07T19:30:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Merge pull request #139 from spring-projects/junit-best-practices\n\nUpgrade to spring-java-format 0.0.42","shortMessageHtmlLink":"Merge pull request #139 from spring-projects/junit-best-practices"}},{"before":null,"after":"9ee6eff5b7a7fc241a1fe2e04e84c027aabeec46","ref":"refs/heads/junit-best-practices","pushedAt":"2024-08-07T19:27:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Upgrade to spring-java-format 0.0.42\n\nWith this commit we upgrade the java formatting to the new version and\nalso adhere to the standards applied there. Mainly for Junit5 names of\nthe test classes and visibility of methods.\n\nCloses: #138","shortMessageHtmlLink":"Upgrade to spring-java-format 0.0.42"}},{"before":"f7e1974762f1cd9dc013fa423c09c92b5302e69c","after":"05087745e488cdf5ba018171c0fb61b2ae529a3a","ref":"refs/heads/main","pushedAt":"2024-08-07T19:05:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Update Github Actions to JDK17\n\nUse JDK17 with a proper distribution.","shortMessageHtmlLink":"Update Github Actions to JDK17"}},{"before":"cc72e8d61674bd8c306a1bde0f553a1b612d7aa0","after":"f7e1974762f1cd9dc013fa423c09c92b5302e69c","ref":"refs/heads/main","pushedAt":"2024-08-07T19:02:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Update Github Actions to JDK17\n\nUse JDK17 in github actions.","shortMessageHtmlLink":"Update Github Actions to JDK17"}},{"before":"b6e2b97068b2e1135a89bd77d463dc1eddf4b188","after":"cc72e8d61674bd8c306a1bde0f553a1b612d7aa0","ref":"refs/heads/main","pushedAt":"2024-08-07T12:11:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Fix IsoFormattingDateDataFormatter\n\nThe format used the ISO_OFFSET_DATE_TIME is the wrong one and leads to errors\nformatting the date. Instead we should have used the ISO_LOCAL_DATE_TIME instead.\n\nThis commit fixes that and also includes a bug fix for the XLSX variant as that didn't\nuse the overridden method. The correct method for this has been overridden now also\nformatting the dates/times for that using the ISO_LOCAL_DATE_TIME format.\n\nTests for different types have been added as well, as to make sure this\nkeeps working for newer versions.\n\nCloses: #121","shortMessageHtmlLink":"Fix IsoFormattingDateDataFormatter"}},{"before":"39ffa4e00546b71496e76e4bc042e21a5addd0c2","after":"b6e2b97068b2e1135a89bd77d463dc1eddf4b188","ref":"refs/heads/main","pushedAt":"2024-08-07T11:04:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Consistently open workbook in readonly mode\n\nThe itemreaders provided by this project are reading only. So it makes\nsense to open them with only read-only priviliges. We already did this\nfor the streaming version of the itemreader. With this commit we also\nenable this for the regular itemreader.\n\nCloses: #128","shortMessageHtmlLink":"Consistently open workbook in readonly mode"}},{"before":"61b3220ab8d536bf0f6d3e95828ac0212f17276a","after":null,"ref":"refs/heads/spring-batch-excel-to-batch-51","pushedAt":"2024-08-07T11:01:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"}},{"before":"c871dcac075cf7df1c3de7623005e7115f262b8c","after":"39ffa4e00546b71496e76e4bc042e21a5addd0c2","ref":"refs/heads/main","pushedAt":"2024-08-07T11:01:02.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"mdeinum","name":"Marten Deinum","path":"/mdeinum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/606761?s=80&v=4"},"commit":{"message":"Merge pull request #137 from spring-projects/spring-batch-excel-to-batch-51\n\nUpgrade to Spring Batch 5.1","shortMessageHtmlLink":"Merge pull request #137 from spring-projects/spring-batch-excel-to-ba…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOFQxNDo1MToyMi4wMDAwMDBazwAAAAS50nbe","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wN1QxMTowMTowMi4wMDAwMDBazwAAAASUEqRA"}},"title":"Activity · spring-projects/spring-batch-extensions"}