I created https://issues.apache.org/jira/browse/SLING-4377 <https://issues.apache.org/jira/browse/SLING-4377> to track that. But I just faced another problem: I can make Eclipse only understand one type of nullable annotation: So either @Nullable or @CheckForNull. The problem now is, that I would need to rely on both for Findbugs if I also want to leverage the @ParametersAreNonNullByDefault. I opened the bug https://sourceforge.net/p/findbugs/bugs/1355/ <https://sourceforge.net/p/findbugs/bugs/1355/> about this different behaviour between Eclipse and Windbags
In Oak Solr this was solved by not using the class/package annotation @ParametersAreNonNullByDefault. But that way writing the annotations is quite verbose, because in most of the cases, parameters are not supposed to be null! I would need to annotate all of those with @NonNull (because @Nullable is the default then!) Do you have any other idea how to deal with that except for limiting oneself to only @CheckForNull and @NonNull? Thanks a lot for any input on that Konrad > On 02 Feb 2015, at 09:10, Konrad Windszus <konra...@gmx.de> wrote: > > Indeed Eclipse supports configurable annotations. You can find the > information at > http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings.htm&anchor=null_annotation_names > > <http://help.eclipse.org/juno/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/preferences/java/compiler/ref-preferences-errors-warnings.htm&anchor=null_annotation_names>. > Therefore it will probably make sense to use the JSR305 annotations. > I will create a feature branch where I will add those annotations for Sling > API as well as Sling Models and Sling Validation. > Thanks for your input. > >> On 30 Jan 2015, at 13:59, Robert Munteanu <rob...@lmn.ro >> <mailto:rob...@lmn.ro>> wrote: >> >> On Fri, Jan 30, 2015 at 2:55 PM, Konrad Windszus <konra...@gmx.de >> <mailto:konra...@gmx.de>> wrote: >>> The question for me is whether we should rely on the dormant standard >>> (which did never release anything officially) 305, because that is not >>> supported by Eclipse or whether we should use something else? >>> Any ideas, opinions on that? >>> What is your experience with the JSR305 javax.annotation support in major >>> IDEs (see also >>> http://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use >>> >>> <http://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use> >>> >>> <http://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use >>> >>> <http://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use>>)? >> >> AFAIR for Eclipse you can configure the annotation types to use ( see >> [1] ) . But of course we'd need to validate this before starting >> conversions. >> >> Robert >> >> >> [1]: >> http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_null_annotations.htm >> >> <http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_null_annotations.htm> >> >>> Konrad >>> >>>> On 30 Jan 2015, at 13:37, Robert Munteanu <romb...@apache.org >>>> <mailto:romb...@apache.org>> wrote: >>>> >>>> On Fri, Jan 30, 2015 at 2:15 PM, Konrad Windszus <konra...@gmx.de >>>> <mailto:konra...@gmx.de>> wrote: >>>>> What about adding annotations like >>>>> https://code.google.com/p/jsr-305/source/browse/trunk/ri/src/main/java/javax/annotation/CheckForNull.java >>>>> >>>>> <https://code.google.com/p/jsr-305/source/browse/trunk/ri/src/main/java/javax/annotation/CheckForNull.java> >>>>> >>>>> <https://code.google.com/p/jsr-305/source/browse/trunk/ri/src/main/java/javax/annotation/CheckForNull.java >>>>> >>>>> <https://code.google.com/p/jsr-305/source/browse/trunk/ri/src/main/java/javax/annotation/CheckForNull.java>> >>>>> to the Sling API? >>>> >>>> +1 >>>> >>>> I wonder if there is a static analyser which can fail the build when >>>> violations are found, e.g. immediately dereferencing the result of a >>>> method which is @Nullable. >>>> >>>> Robert >>> >> >> >> >> -- >> Sent from my (old) computer >