{"push_id":1719508563,"size":2,"distinct_size":2,"ref":"refs/heads/work-in-progress","head":"413f8b93d3406d11432f473bf73253a6562e4851","before":"d93711fb15af93947d791a2e7da21443df1cc073","commits":[{"sha":"6e7ec72f85851743b029cb321ace3912f97a6b6c","author":{"name":"Tanguy Leroux","email":"5f04d20c48953a039ffba596c01e898c6c3b847f@gmail.com"},"message":"Change Terms.Bucket to an interface\n\nThis commit changes the Terms.Bucket abstract class to an interface, so\nthat it's easier for the Java High Level Rest Client to provide its own\nimplementation.\n\nIn its current state, the Terms.Bucket abstract class inherits from\nInternalMultiBucketAggregation.InternalBucket which forces subclasses to\nimplement Writeable and exposes a public getProperty() method that relies\non InternalAggregation. This two points make it difficult for the Java\nHigh Level Rest Client to implement the Terms and Terms.Bucket correctly.\nThis is also different from other MultiBucketsAggregation like Range\nwhich are pure interfaces.\n\nChanging Terms.Bucket to an interface causes a method clashes for the\n`getBuckets()` method in InternalTerms. This is because:\n - InternalTerms implements Terms which declared a\n `List<Terms.Bucket> getBuckets()` method\n - InternalTerms extends InternalMultiBucketAggregation which declares a\n `List<? extends InternalBucket> getBuckets()` method\n - both overrides the MultiBucketsAggregation\n `List<? extends Bucket> getBuckets()` method\n\n There was no clashes before this change because Terms.Bucket extends\n InternalBucket and conformed to both declaration. With Terms.Bucket now\n an interface, the getBuckets() method in the Terms interface is changed\n to avoid method clash. This is a breaking change in the Java API but\n it's a straightforward change and the Terms multi bucket aggregation\n interface is also more coherent with the other Range, Histogram,\n Filters, AdjacencyMatrix etc that all return a `List<? extends Bucket>`.\n\n(cherry picked from commit 7cdb758)","distinct":true,"url":"https://api.github.com/repos/tlrx/elasticsearch/commits/6e7ec72f85851743b029cb321ace3912f97a6b6c"},{"sha":"413f8b93d3406d11432f473bf73253a6562e4851","author":{"name":"Tanguy Leroux","email":"5f04d20c48953a039ffba596c01e898c6c3b847f@gmail.com"},"message":"Finalisation","distinct":true,"url":"https://api.github.com/repos/tlrx/elasticsearch/commits/413f8b93d3406d11432f473bf73253a6562e4851"}]}
{"actor":{"display_login":"tlrx"}}