IDEA-193494, IDEA-193553 proper index access

This commit is contained in:
Anton Lobov
2018-06-08 11:23:54 +02:00
parent 58838b40b7
commit 60046c85de
2 changed files with 3 additions and 4 deletions
@@ -8,7 +8,6 @@ import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.editor.ex.EditorEx;
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.ZipperUpdater;
import com.intellij.openapi.vfs.VirtualFile;
@@ -72,7 +71,6 @@ public class JsonSchemaVfsListener extends BulkVirtualFileListenerAdapter {
myUpdater = new ZipperUpdater(200, Alarm.ThreadToUse.POOLED_THREAD, project);
myService = service;
myRunnable = () -> {
if (DumbService.isDumb(project)) return;
Collection<VirtualFile> scope = new HashSet<>(myDirtySchemas);
myDirtySchemas.removeAll(scope);
@@ -4,6 +4,7 @@ package com.jetbrains.jsonSchema.impl;
import com.intellij.json.JsonFileType;
import com.intellij.json.json5.Json5FileType;
import com.intellij.json.psi.JsonFile;
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
@@ -41,7 +42,7 @@ public class JsonSchemaFileValuesIndex extends FileBasedIndexExtension<String, S
@NotNull
public Map<String, String> map(@NotNull FileContent inputData) {
PsiFile file = inputData.getPsiFile();
assert file instanceof JsonFile;
if (!(file instanceof JsonFile)) return ContainerUtil.newHashMap();
HashMap<String, String> map = ContainerUtil.newHashMap();
String schemaUrl = JsonCachedValues.fetchSchemaUrl(file);
map.put(JsonCachedValues.URL_CACHE_KEY, schemaUrl == null ? NULL : schemaUrl);
@@ -97,7 +98,7 @@ public class JsonSchemaFileValuesIndex extends FileBasedIndexExtension<String, S
@Nullable
public static String getCachedValue(Project project, VirtualFile file, String requestedKey) {
if (project.isDisposed() || !file.isValid()) return null;
if (project.isDisposed() || !file.isValid() || DumbService.isDumb(project)) return NULL;
Collection<String> keys = FileBasedIndex.getInstance().getAllKeys(INDEX_ID, project);
for (String key: keys) {
if (requestedKey.equals(key)) {