<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">Merged.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">Huge thanks to all the reviewers!</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 1, 2015 at 3:04 PM, Allon Mureinik <span dir="ltr">&lt;<a href="mailto:amureini@redhat.com" target="_blank">amureini@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">Hi team,</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">Back in the day, somewhere between the discovery of fire and the wheel, Java 5 introduced generics. This was a great step forwards, but also created some of the most horrible boiler-plated code you could imagine:</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">    Map&lt;Guid, List&lt;Preson&lt;Guid&gt;&gt; = new HashMap&lt;Guid, List&lt;Preson&lt;Guid&gt;&gt;();</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">Java 7 improved the situation by adding generic type inference, a.k.a the diamond operator [1]:</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default"><div class="gmail_default" style="font-family:monospace,monospace">    Map&lt;Guid, List&lt;Preson&lt;Guid&gt;&gt; = new HashMap&lt;&gt;();</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">This style is defacto the standard of the engine, with new patches using it and patches to fix old code that doesn&#39;t use it being accepted pretty quickly.</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">Since we defacto agreed on this standard, I&#39;d like to put my money where my mouth is, and make it a declarative standard.</div><div style="font-family:monospace,monospace">I have a series of patches [2] that fix **all** the occurrences of non-diamond declarations [3][4][5] (well, except for anonymous implementations like we have in the DAOs) and adds a checkstyle validation [6] to prevent further declarations like this from entering the project in the future.</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">Engine maintainers, please review and assist in getting this series merged.</div><div style="font-family:monospace,monospace">The rebase will be hellacious as it is, and I&#39;d like to minimize the effort as much as possible.</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">Thanks,</div><div style="font-family:monospace,monospace">Allon</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace"><br></div><div><font face="monospace, monospace">[1] <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-generic-instance-creation.html" target="_blank">http://docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-generic-instance-creation.html</a></font></div><div><font face="monospace, monospace">[2] </font><font face="monospace"><a href="https://gerrit.ovirt.org/#/q/status:open+project:ovirt-engine+branch:master+topic:diamond" target="_blank">https://gerrit.ovirt.org/#/q/status:open+project:ovirt-engine+branch:master+topic:diamond</a></font></div><div><span style="font-family:monospace">[3] <a href="https://gerrit.ovirt.org/49490" target="_blank">https://gerrit.ovirt.org/49490</a></span><font face="monospace"><br></font></div><div><span style="font-family:monospace">[4] </span><font face="monospace"><a href="https://gerrit.ovirt.org/49491" target="_blank">https://gerrit.ovirt.org/49491</a></font></div><div><font face="monospace">[5] <a href="https://gerrit.ovirt.org/49492" target="_blank">https://gerrit.ovirt.org/49492</a></font></div><div><font face="monospace">[6] <a href="https://gerrit.ovirt.org/49493" target="_blank">https://gerrit.ovirt.org/49493</a></font></div></div></div>
</blockquote></div><br></div>