From 331c0f0cab3cfe72dcc01cf3b9f144594573f5f9 Mon Sep 17 00:00:00 2001 From: Anton Lobov Date: Mon, 28 May 2018 16:55:03 +0200 Subject: [PATCH] WEB-33014 False "File is not a schema" error in json widget --- .../jsonSchema/impl/JsonSchemaServiceImpl.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/json/src/com/jetbrains/jsonSchema/impl/JsonSchemaServiceImpl.java b/json/src/com/jetbrains/jsonSchema/impl/JsonSchemaServiceImpl.java index 33860c3e2838..9c166f87f037 100644 --- a/json/src/com/jetbrains/jsonSchema/impl/JsonSchemaServiceImpl.java +++ b/json/src/com/jetbrains/jsonSchema/impl/JsonSchemaServiceImpl.java @@ -247,7 +247,18 @@ public class JsonSchemaServiceImpl implements JsonSchemaService { @Override public boolean isSchemaFile(@NotNull VirtualFile file) { - return myState.getFiles().contains(file) || hasSchemaSchema(file); + return myState.getFiles().contains(file) + || isSchemaByProvider(file) + || hasSchemaSchema(file); + } + + private boolean isSchemaByProvider(@NotNull VirtualFile file) { + JsonSchemaFileProvider provider = myState.getProvider(file); + if (provider == null) return false; + VirtualFile schemaFile = provider.getSchemaFile(); + if (schemaFile == null) return false; + String url = schemaFile.getUrl(); + return url.startsWith("http://json-schema.org/") && url.endsWith("/schema"); } @Override