Maybe IFile.getFileExtension() can return a null value.
protected boolean isFile(IStorage file, String extension) { if (file instanceof IFile) { IFile iFile = (IFile) file; return !iFile.isDerived() && iFile.getFileExtension().equals(extension); } else { String name = file.getName(); return name != null && name.endsWith(extension); } }
possible nullsafe fix
protected boolean isFile(IStorage file, String extension) { if (file instanceof IFile) { IFile iFile = (IFile) file; return !iFile.isDerived() && Objects.equals(iFile.getFileExtension(), extension); } else { String name = file.getName(); return name != null && name.endsWith(extension); } }
java.lang.NullPointerException at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob.isFile(RefreshDSLDJob.java:99) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob.isDSLD(RefreshDSLDJob.java:89) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob$DSLDResourceVisitor.visit(RefreshDSLDJob.java:235) at org.eclipse.core.internal.resources.Resource.lambda$1(Resource.java:117) at org.eclipse.core.internal.resources.Resource.lambda$0(Resource.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:135) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:94) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:55) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:117) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:105) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob$DSLDResourceVisitor.findFiles(RefreshDSLDJob.java:247) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob.refreshProject(RefreshDSLDJob.java:182) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob.run(RefreshDSLDJob.java:123) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Maybe IFile.getFileExtension() can return a null value.
protected boolean isFile(IStorage file, String extension) { if (file instanceof IFile) { IFile iFile = (IFile) file; return !iFile.isDerived() && iFile.getFileExtension().equals(extension); } else { String name = file.getName(); return name != null && name.endsWith(extension); } }possible nullsafe fix
protected boolean isFile(IStorage file, String extension) { if (file instanceof IFile) { IFile iFile = (IFile) file; return !iFile.isDerived() && Objects.equals(iFile.getFileExtension(), extension); } else { String name = file.getName(); return name != null && name.endsWith(extension); } }java.lang.NullPointerException at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob.isFile(RefreshDSLDJob.java:99) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob.isDSLD(RefreshDSLDJob.java:89) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob$DSLDResourceVisitor.visit(RefreshDSLDJob.java:235) at org.eclipse.core.internal.resources.Resource.lambda$1(Resource.java:117) at org.eclipse.core.internal.resources.Resource.lambda$0(Resource.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:90) at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:135) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:94) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:55) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:117) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:105) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob$DSLDResourceVisitor.findFiles(RefreshDSLDJob.java:247) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob.refreshProject(RefreshDSLDJob.java:182) at org.codehaus.groovy.eclipse.dsl.RefreshDSLDJob.run(RefreshDSLDJob.java:123) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)