CheckForNull annotation in Adaptable.adaptTo

Avatar

Avatar

Alex_Popov1

Avatar

Alex_Popov1

Alex_Popov1

18-10-2016

Hello,

I would like to discuss Adaptable.adaptTo().

This method has annotation CheckForNull.

For example I have some part of code:

Session session = resourceResolver.adaptTo(Session.class); Node node = session.getNode("somepath");

Sonar will have blocker issue - NullPointerException might be thrown as 'session' is nullable here

From one side resourceResolver should always return non null Session (If it return null, that means that something wrong with AEM instance).

From the other side checkfornull force to add additional check that session != null.

Should we add check for null in current situation or not?

Thanks

View Entire Topic

Avatar

Avatar

Anton_Smulskiy

Avatar

Anton_Smulskiy

Anton_Smulskiy

18-10-2016

Hi Alex,

Maybe it's a bad practice, but I check for null only if there is a real chance to get null returned.

in this case I don't check:

Session session = resourceResolver.adaptTo(Session.class);

But when I'm not sure if resource can be adapted to my model, I check for null:

MyModel myModel = resource.adaptTo(MyModel.class); if (myModel == null) { // do something }