Describe the bug
graphql.schema.impl.SchemaUtil#replaceTypeReferences is breaking , when we are trying to re build the schema.
Issue occurring case :
When we traverse through a GraphqlObject node which has its interfaces resolved (replacedInterfaces!=null), those interfaces wont get registered into typeMap , as we are using
SchemaTraverser schemaTraverser = new SchemaTraverser(schemaElement -> schemaElement.getChildrenWithTypeReferences().getChildrenAsList());
at later step when replaceTypeReferences tries to resolve graphqlobejcts interface types at method graphql.schema.GraphQLTypeResolvingVisitor#visitGraphQLObjectType of a resolved GraphqlObject node ( which have its resolved interfaces ) . it fails to resolve as there is not such interface registered in typeMap.
To Reproduce
one case where its necessary to rebuild an already built schema is while trying to create a readOnly Schema
GraphQLSchema.newSchema(schema).mutation((GraphQLObjectType) null).build()
Describe the bug
graphql.schema.impl.SchemaUtil#replaceTypeReferences is breaking , when we are trying to re build the schema.
Issue occurring case :
When we traverse through a GraphqlObject node which has its interfaces resolved (replacedInterfaces!=null), those interfaces wont get registered into typeMap , as we are using
at later step when
replaceTypeReferencestries to resolve graphqlobejcts interface types at methodgraphql.schema.GraphQLTypeResolvingVisitor#visitGraphQLObjectTypeof a resolved GraphqlObject node ( which have its resolved interfaces ) . it fails to resolve as there is not such interface registered in typeMap.To Reproduce
one case where its necessary to rebuild an already built schema is while trying to create a readOnly Schema
GraphQLSchema.newSchema(schema).mutation((GraphQLObjectType) null).build()