|
18 | 18 | import com.intellij.lang.jsgraphql.ide.project.graphqlconfig.GraphQLConfigManager;
|
19 | 19 | import com.intellij.lang.jsgraphql.ide.project.graphqlconfig.model.GraphQLConfigEndpoint;
|
20 | 20 | import com.intellij.lang.jsgraphql.ide.project.graphqlconfig.model.GraphQLConfigVariableAwareEndpoint;
|
| 21 | +import com.intellij.lang.jsgraphql.schema.GraphQLRegistryInfo; |
| 22 | +import com.intellij.lang.jsgraphql.schema.GraphQLSchemaInfo; |
21 | 23 | import com.intellij.lang.jsgraphql.schema.GraphQLSchemaKeys;
|
| 24 | +import com.intellij.lang.jsgraphql.types.GraphQLError; |
| 25 | +import com.intellij.lang.jsgraphql.types.introspection.IntrospectionQuery; |
| 26 | +import com.intellij.lang.jsgraphql.types.language.Description; |
| 27 | +import com.intellij.lang.jsgraphql.types.language.Document; |
| 28 | +import com.intellij.lang.jsgraphql.types.language.Node; |
| 29 | +import com.intellij.lang.jsgraphql.types.language.ScalarTypeDefinition; |
| 30 | +import com.intellij.lang.jsgraphql.types.schema.idl.SchemaParser; |
| 31 | +import com.intellij.lang.jsgraphql.types.schema.idl.SchemaPrinter; |
| 32 | +import com.intellij.lang.jsgraphql.types.schema.idl.UnExecutableSchemaGenerator; |
| 33 | +import com.intellij.lang.jsgraphql.types.util.EscapeUtil; |
22 | 34 | import com.intellij.lang.jsgraphql.v1.ide.project.JSGraphQLLanguageUIProjectService;
|
23 | 35 | import com.intellij.notification.Notification;
|
24 | 36 | import com.intellij.notification.NotificationAction;
|
|
55 | 67 | import com.intellij.util.Consumer;
|
56 | 68 | import com.intellij.util.ExceptionUtil;
|
57 | 69 | import com.intellij.util.ObjectUtils;
|
58 |
| -import com.intellij.lang.jsgraphql.types.introspection.IntrospectionQuery; |
59 |
| -import com.intellij.lang.jsgraphql.types.language.*; |
60 |
| -import com.intellij.lang.jsgraphql.types.schema.idl.*; |
61 |
| -import com.intellij.lang.jsgraphql.types.util.EscapeUtil; |
62 | 70 | import org.apache.commons.lang.StringEscapeUtils;
|
63 | 71 | import org.apache.commons.lang.StringUtils;
|
64 | 72 | import org.apache.http.client.methods.CloseableHttpResponse;
|
|
81 | 89 | import java.security.KeyManagementException;
|
82 | 90 | import java.security.KeyStoreException;
|
83 | 91 | import java.security.NoSuchAlgorithmException;
|
84 |
| -import java.util.Collection; |
85 |
| -import java.util.List; |
86 |
| -import java.util.Map; |
87 |
| -import java.util.Set; |
| 92 | +import java.util.*; |
88 | 93 |
|
89 | 94 | import static com.intellij.lang.jsgraphql.v1.ide.project.JSGraphQLLanguageUIProjectService.setHeadersFromOptions;
|
90 | 95 |
|
@@ -252,9 +257,22 @@ public String printIntrospectionAsGraphQL(@NotNull Map<String, Object> introspec
|
252 | 257 | .includeScalarTypes(false)
|
253 | 258 | .includeSchemaDefinition(true)
|
254 | 259 | .includeDirectives(directive -> !DEFAULT_DIRECTIVES.contains(directive.getName()));
|
255 |
| - final TypeDefinitionRegistry registry = new SchemaParser().buildRegistry(schemaDefinition); |
256 | 260 |
|
257 |
| - final StringBuilder sb = new StringBuilder(new SchemaPrinter(options).print(UnExecutableSchemaGenerator.makeUnExecutableSchema(registry))); |
| 261 | + GraphQLRegistryInfo registryInfo = new GraphQLRegistryInfo( |
| 262 | + new SchemaParser().buildRegistry(schemaDefinition), Collections.emptyList(), true); |
| 263 | + GraphQLSchemaInfo schemaInfo = new GraphQLSchemaInfo( |
| 264 | + UnExecutableSchemaGenerator.makeUnExecutableSchema(registryInfo.getTypeDefinitionRegistry()), |
| 265 | + Collections.emptyList(), |
| 266 | + registryInfo |
| 267 | + ); |
| 268 | + |
| 269 | + if (schemaInfo.hasErrors()) { |
| 270 | + for (GraphQLError error : schemaInfo.getErrors()) { |
| 271 | + LOG.warn(error.getMessage()); |
| 272 | + } |
| 273 | + } |
| 274 | + |
| 275 | + final StringBuilder sb = new StringBuilder(new SchemaPrinter(options).print(schemaInfo.getSchema())); |
258 | 276 |
|
259 | 277 | // graphql-java only prints scalars that are used by fields since it visits fields to discover types, so add the scalars here manually
|
260 | 278 | final Set<String> knownScalars = Sets.newHashSet();
|
|
0 commit comments