Skip to content

Commit 29938c8

Browse files
committed
Fix
Task #89 - Error parsing file
1 parent ba14f0b commit 29938c8

2 files changed

Lines changed: 41 additions & 3 deletions

File tree

pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
<version>1.7</version>
5151
<executions>
5252
<execution>
53+
<id>generateKeyPair</id>
5354
<goals>
5455
<goal>generateKeyPair</goal>
5556
</goals>
@@ -817,6 +818,17 @@
817818
</execution>
818819
</executions>
819820
</plugin>
821+
<plugin>
822+
<groupId>org.codehaus.mojo</groupId>
823+
<artifactId>keytool-maven-plugin</artifactId>
824+
<version>1.7</version>
825+
<executions>
826+
<execution>
827+
<id>generateKeyPair</id>
828+
<phase>none</phase>
829+
</execution>
830+
</executions>
831+
</plugin>
820832
</plugins>
821833
</build>
822834
</profile>

src/main/java/org/netbeans/modules/python/indexing/PythonErrorAnnotator.java

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.io.IOException;
55
import java.net.URL;
66
import java.util.Collection;
7+
import java.util.HashSet;
78
import java.util.Iterator;
89
import java.util.Set;
910
import java.util.logging.Level;
@@ -18,8 +19,12 @@
1819
import org.netbeans.modules.masterfs.providers.AnnotationProvider;
1920
import org.netbeans.modules.masterfs.providers.InterceptionListener;
2021
import org.netbeans.modules.parsing.impl.indexing.errors.Utilities;
22+
import org.netbeans.modules.parsing.impl.indexing.implspi.FileAnnotationsRefresh;
2123
import org.netbeans.modules.parsing.spi.indexing.ErrorsCache;
2224
import org.openide.filesystems.FileObject;
25+
import org.openide.filesystems.FileStateInvalidException;
26+
import org.openide.filesystems.FileStatusEvent;
27+
import org.openide.filesystems.URLMapper;
2328
import org.openide.util.Exceptions;
2429
import org.openide.util.ImageUtilities;
2530
import static org.openide.util.ImageUtilities.assignToolTipToImage;
@@ -28,15 +33,19 @@
2833
import org.openide.util.Lookup;
2934
import static org.openide.util.NbBundle.getMessage;
3035
import org.openide.util.lookup.ServiceProvider;
36+
import org.openide.util.lookup.ServiceProviders;
3137

3238
/**
3339
*
3440
* @author albilu
3541
*/
3642
//FIXME-BUG: Notice weird slowness on large directories (but not on debug mode) => contribution-welcome
37-
@ServiceProvider(service = org.netbeans.modules.masterfs.providers.AnnotationProvider.class,
38-
supersedes = "org.netbeans.modules.parsing.ui.indexing.errors$AnnotationProvider", position = 100)
39-
public class PythonErrorAnnotator extends AnnotationProvider {
43+
@ServiceProviders({
44+
@ServiceProvider(service = org.netbeans.modules.parsing.impl.indexing.implspi.FileAnnotationsRefresh.class, position = 100),
45+
@ServiceProvider(service = org.netbeans.modules.masterfs.providers.AnnotationProvider.class,
46+
supersedes = "org.netbeans.modules.parsing.ui.indexing.errors$AnnotationProvider", position = 100)
47+
})
48+
public class PythonErrorAnnotator extends AnnotationProvider implements FileAnnotationsRefresh {
4049

4150
private static final Logger LOG = Logger.getLogger(PythonErrorAnnotator.class.getName());
4251

@@ -171,4 +180,21 @@ private synchronized boolean isInError(FileObject file, boolean recursive, boole
171180

172181
return result;
173182
}
183+
184+
@Override
185+
public void refresh(Set<URL> set) {
186+
try {
187+
188+
Set<FileObject> toRefresh = new HashSet<>();
189+
190+
set.forEach((t) -> {
191+
toRefresh.add(URLMapper.findFileObject(t));
192+
});
193+
194+
fireFileStatusChanged(new FileStatusEvent(toRefresh.iterator().next()
195+
.getFileSystem(), toRefresh, true, false));
196+
} catch (FileStateInvalidException ex) {
197+
Exceptions.printStackTrace(ex);
198+
}
199+
}
174200
}

0 commit comments

Comments
 (0)