This is an automated email from the ASF dual-hosted git repository.

andysch pushed a commit to branch issue/SLING-11920
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-graphql-core.git

commit 09ba9823e06806c17b5df992a7a5e8bee8a9d95c
Author: Andreas Schaefer <[email protected]>
AuthorDate: Thu Jun 29 15:30:33 2023 -0700

    SLING-11920 - Exposed Object Type Names in
    
    Selected Fields
---
 src/main/java/org/apache/sling/graphql/api/SelectedField.java |  2 ++
 src/main/java/org/apache/sling/graphql/api/package-info.java  |  2 +-
 .../sling/graphql/core/engine/SelectedFieldWrapper.java       | 11 +++++++++--
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/sling/graphql/api/SelectedField.java 
b/src/main/java/org/apache/sling/graphql/api/SelectedField.java
index b3da627..fe0110a 100644
--- a/src/main/java/org/apache/sling/graphql/api/SelectedField.java
+++ b/src/main/java/org/apache/sling/graphql/api/SelectedField.java
@@ -62,4 +62,6 @@ public interface SelectedField {
      * @return true if this field is an inline (i.e: ... on Something { }).
      */
     boolean isInline();
+
+    List<String> getObjectTypeNames();
 }
diff --git a/src/main/java/org/apache/sling/graphql/api/package-info.java 
b/src/main/java/org/apache/sling/graphql/api/package-info.java
index 39a0bdc..f6ab9e6 100644
--- a/src/main/java/org/apache/sling/graphql/api/package-info.java
+++ b/src/main/java/org/apache/sling/graphql/api/package-info.java
@@ -21,6 +21,6 @@
   * This package contains APIs which are independent of
   * a specific implementation of the underlying graphQL engine.
   */
-@Version("3.3.0")
+@Version("3.4.0")
 package org.apache.sling.graphql.api;
 import org.osgi.annotation.versioning.Version;
diff --git 
a/src/main/java/org/apache/sling/graphql/core/engine/SelectedFieldWrapper.java 
b/src/main/java/org/apache/sling/graphql/core/engine/SelectedFieldWrapper.java
index 8b50e9e..6ee72e1 100644
--- 
a/src/main/java/org/apache/sling/graphql/core/engine/SelectedFieldWrapper.java
+++ 
b/src/main/java/org/apache/sling/graphql/core/engine/SelectedFieldWrapper.java
@@ -25,7 +25,9 @@ import graphql.language.SelectionSet;
 import graphql.schema.DataFetchingFieldSelectionSet;
 import org.apache.sling.graphql.api.SelectedField;
 
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -40,13 +42,13 @@ public class SelectedFieldWrapper implements SelectedField {
     @Deprecated
     private boolean isInline;
     private boolean conditional;
-    private List<String> objectTypeBNames;
+    private List<String> objectTypeNames;
     private Map<String, SelectedField> subFieldMap = new HashMap<>();
     private List<SelectedField> subFields;
 
     public SelectedFieldWrapper(graphql.schema.SelectedField selectedField) {
         this.name = selectedField.getName();
-        this.objectTypeBNames = selectedField.getObjectTypeNames();
+        this.objectTypeNames = selectedField.getObjectTypeNames() == null ? 
Collections.emptyList() : selectedField.getObjectTypeNames();
         this.conditional = selectedField.isConditional();
         DataFetchingFieldSelectionSet selectionSet = 
selectedField.getSelectionSet();
         if (selectionSet != null) {
@@ -82,4 +84,9 @@ public class SelectedFieldWrapper implements SelectedField {
     public boolean isInline() {
         return isInline;
     }
+
+    @Override
+    public List<String> getObjectTypeNames() {
+        return new ArrayList<>(objectTypeNames);
+    }
 }

Reply via email to