Skip to content

NullPointerException in RefreshDSLDJob #970

@AndreasWBartels

Description

@AndreasWBartels

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)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions