Class EditOperationAnalyzer


  • public class EditOperationAnalyzer
    extends java.lang.Object
    Higher level GraphQL semantic assigned to
    • Method Detail

      • handleArgumentChanges

        private void handleArgumentChanges​(java.util.List<EditOperation> editOperations,
                                           Mapping mapping)
      • handleAppliedDirectives

        private void handleAppliedDirectives​(java.util.List<EditOperation> editOperations,
                                             Mapping mapping)
      • appliedDirectiveDeleted

        private void appliedDirectiveDeleted​(EditOperation editOperation)
      • appliedDirectiveArgumentDeleted

        private void appliedDirectiveArgumentDeleted​(EditOperation editOperation)
      • appliedDirectiveArgumentChanged

        private void appliedDirectiveArgumentChanged​(EditOperation editOperation)
      • appliedDirectiveAdded

        private void appliedDirectiveAdded​(EditOperation editOperation)
      • appliedDirectiveDeletedFromField

        private void appliedDirectiveDeletedFromField​(Vertex appliedDirective,
                                                      Vertex container)
      • appliedDirectiveAddedToField

        private void appliedDirectiveAddedToField​(Vertex appliedDirective,
                                                  Vertex container)
      • appliedDirectiveDeletedFromArgument

        private void appliedDirectiveDeletedFromArgument​(Vertex appliedDirective,
                                                         Vertex container)
      • appliedDirectiveAddedToArgument

        private void appliedDirectiveAddedToArgument​(Vertex appliedDirective,
                                                     Vertex container)
      • handleTypeChanges

        private void handleTypeChanges​(java.util.List<EditOperation> editOperations,
                                       Mapping mapping)
      • handleUnionMemberChanges

        private void handleUnionMemberChanges​(java.util.List<EditOperation> editOperations,
                                              Mapping mapping)
      • handleEnumValuesChanges

        private void handleEnumValuesChanges​(java.util.List<EditOperation> editOperations,
                                             Mapping mapping)
      • handleInputFieldChange

        private void handleInputFieldChange​(EditOperation editOperation)
      • handleArgumentChange

        private void handleArgumentChange​(EditOperation editOperation,
                                          Mapping mapping)
      • handleImplementsChanges

        private void handleImplementsChanges​(java.util.List<EditOperation> editOperations,
                                             Mapping mapping)
      • handleUnionMemberAdded

        private void handleUnionMemberAdded​(EditOperation editOperation)
      • handleUnionMemberDeleted

        private void handleUnionMemberDeleted​(EditOperation editOperation)
      • handleEnumValueAdded

        private void handleEnumValueAdded​(EditOperation editOperation)
      • handleEnumValueDeleted

        private void handleEnumValueDeleted​(EditOperation editOperation)
      • handleEnumValueChanged

        private void handleEnumValueChanged​(EditOperation editOperation)
      • fieldChanged

        private void fieldChanged​(EditOperation editOperation)
      • inputFieldAdded

        private void inputFieldAdded​(EditOperation editOperation)
      • fieldAdded

        private void fieldAdded​(EditOperation editOperation)
      • inputFieldDeleted

        private void inputFieldDeleted​(EditOperation editOperation)
      • fieldDeleted

        private void fieldDeleted​(EditOperation editOperation)
      • handleTypeVertexChanges

        private void handleTypeVertexChanges​(java.util.List<EditOperation> editOperations)
      • insertedTypeVertex

        private void insertedTypeVertex​(EditOperation editOperation)
      • deletedTypeVertex

        private void deletedTypeVertex​(EditOperation editOperation)
      • changedTypeVertex

        private void changedTypeVertex​(EditOperation editOperation)
      • typeEdgeInsertedForInputField

        private void typeEdgeInsertedForInputField​(EditOperation editOperation,
                                                   java.util.List<EditOperation> editOperations,
                                                   Mapping mapping)
      • typeEdgeInsertedForArgument

        private void typeEdgeInsertedForArgument​(EditOperation editOperation,
                                                 java.util.List<EditOperation> editOperations,
                                                 Mapping mapping)
      • inputFieldTypeOrDefaultValueChanged

        private void inputFieldTypeOrDefaultValueChanged​(EditOperation editOperation)
      • argumentTypeOrDefaultValueChanged

        private void argumentTypeOrDefaultValueChanged​(EditOperation editOperation,
                                                       Mapping mapping)
      • doesArgumentChangeMakeSense

        private boolean doesArgumentChangeMakeSense​(Vertex oldArgument,
                                                    Vertex newArgument,
                                                    Mapping mapping)
        Sometimes the diffing algorithm will give us an argument change when the argument container changed i.e. the argument was "moved" around because the deleted and newly added arguments look similar.

        We only want to report argument type changes if it makes sense i.e. if the argument container was the same.

      • outputFieldTypeChanged

        private void outputFieldTypeChanged​(EditOperation editOperation)
      • getTypeFromEdgeLabel

        private java.lang.String getTypeFromEdgeLabel​(Edge edge)
      • getDefaultValueFromEdgeLabel

        private java.lang.String getDefaultValueFromEdgeLabel​(Edge edge)
      • isTypeEdge

        private boolean isTypeEdge​(Edge edge)
      • interfaceImplementationDeleted

        private void interfaceImplementationDeleted​(Edge deletedEdge)
      • newInterfaceAddedToInterfaceOrObject

        private void newInterfaceAddedToInterfaceOrObject​(Edge newEdge)
      • isDirectiveAdded

        private boolean isDirectiveAdded​(java.lang.String name)
      • isDirectiveDeleted

        private boolean isDirectiveDeleted​(java.lang.String name)
      • isObjectAdded

        private boolean isObjectAdded​(java.lang.String name)
      • isUnionAdded

        private boolean isUnionAdded​(java.lang.String name)
      • isUnionDeleted

        private boolean isUnionDeleted​(java.lang.String name)
      • isEnumDeleted

        private boolean isEnumDeleted​(java.lang.String name)
      • isEnumAdded

        private boolean isEnumAdded​(java.lang.String name)
      • isInputObjectAdded

        private boolean isInputObjectAdded​(java.lang.String name)
      • isInputObjectDeleted

        private boolean isInputObjectDeleted​(java.lang.String name)
      • isInputFieldAdded

        private boolean isInputFieldAdded​(java.lang.String name)
      • isNewInputFieldExistingInputObject

        private boolean isNewInputFieldExistingInputObject​(java.lang.String inputObjectName,
                                                           java.lang.String fieldName)
      • isInputFieldDeletedFromExistingInputObject

        private boolean isInputFieldDeletedFromExistingInputObject​(java.lang.String inputObjectName,
                                                                   java.lang.String fieldName)
      • isArgumentNewForExistingDirective

        private boolean isArgumentNewForExistingDirective​(java.lang.String directiveName,
                                                          java.lang.String argumentName)
      • isArgumentDeletedFromExistingDirective

        private boolean isArgumentDeletedFromExistingDirective​(java.lang.String directiveName,
                                                               java.lang.String argumentName)
      • isArgumentNewForExistingObjectField

        private boolean isArgumentNewForExistingObjectField​(java.lang.String objectName,
                                                            java.lang.String fieldName,
                                                            java.lang.String argumentName)
      • isArgumentDeletedFromExistingObjectField

        private boolean isArgumentDeletedFromExistingObjectField​(java.lang.String objectName,
                                                                 java.lang.String fieldName,
                                                                 java.lang.String argumentName)
      • isArgumentDeletedFromExistingInterfaceField

        private boolean isArgumentDeletedFromExistingInterfaceField​(java.lang.String interfaceName,
                                                                    java.lang.String fieldName,
                                                                    java.lang.String argumentName)
      • isArgumentNewForExistingInterfaceField

        private boolean isArgumentNewForExistingInterfaceField​(java.lang.String objectName,
                                                               java.lang.String fieldName,
                                                               java.lang.String argumentName)
      • isFieldNewForExistingObject

        private boolean isFieldNewForExistingObject​(java.lang.String objectName,
                                                    java.lang.String fieldName)
      • isFieldDeletedFromExistingInterface

        private boolean isFieldDeletedFromExistingInterface​(java.lang.String interfaceName,
                                                            java.lang.String fieldName)
      • isFieldDeletedFromExistingObject

        private boolean isFieldDeletedFromExistingObject​(java.lang.String objectName,
                                                         java.lang.String fieldName)
      • isNewEnumValueForExistingEnum

        private boolean isNewEnumValueForExistingEnum​(java.lang.String enumName,
                                                      java.lang.String valueName)
      • isEnumValueDeletedFromExistingEnum

        private boolean isEnumValueDeletedFromExistingEnum​(java.lang.String enumName,
                                                           java.lang.String valueName)
      • isFieldNewForExistingInterface

        private boolean isFieldNewForExistingInterface​(java.lang.String interfaceName,
                                                       java.lang.String fieldName)
      • isObjectDeleted

        private boolean isObjectDeleted​(java.lang.String name)
      • isInterfaceDeleted

        private boolean isInterfaceDeleted​(java.lang.String name)
      • isInterfaceAdded

        private boolean isInterfaceAdded​(java.lang.String name)
      • isScalarAdded

        private boolean isScalarAdded​(java.lang.String name)
      • isScalarDeleted

        private boolean isScalarDeleted​(java.lang.String name)
      • addedObject

        private void addedObject​(EditOperation editOperation)
      • addedInterface

        private void addedInterface​(EditOperation editOperation)
      • addedUnion

        private void addedUnion​(EditOperation editOperation)
      • addedInputObject

        private void addedInputObject​(EditOperation editOperation)
      • addedEnum

        private void addedEnum​(EditOperation editOperation)
      • addedScalar

        private void addedScalar​(EditOperation editOperation)
      • addedDirective

        private void addedDirective​(EditOperation editOperation)
      • removedObject

        private void removedObject​(EditOperation editOperation)
      • removedInterface

        private void removedInterface​(EditOperation editOperation)
      • removedUnion

        private void removedUnion​(EditOperation editOperation)
      • removedInputObject

        private void removedInputObject​(EditOperation editOperation)
      • removedEnum

        private void removedEnum​(EditOperation editOperation)
      • deletedScalar

        private void deletedScalar​(EditOperation editOperation)
      • deletedDirective

        private void deletedDirective​(EditOperation editOperation)
      • argumentDeleted

        private void argumentDeleted​(EditOperation editOperation)
      • argumentAdded

        private void argumentAdded​(EditOperation editOperation)
      • changedEnum

        private void changedEnum​(EditOperation editOperation)
      • changedScalar

        private void changedScalar​(EditOperation editOperation)
      • changedInputObject

        private void changedInputObject​(EditOperation editOperation)
      • changedDirective

        private void changedDirective​(EditOperation editOperation)
      • changedObject

        private void changedObject​(EditOperation editOperation)
      • changedInterface

        private void changedInterface​(EditOperation editOperation)
      • changedUnion

        private void changedUnion​(EditOperation editOperation)
      • getTraversalOrder

        static java.util.List<EditOperation> getTraversalOrder​(java.util.List<EditOperation> editOperations)
        The input list of EditOperations does not conform to any order.

        We need to sort it as we sometimes rely on the parents being processed first.

        e.g. we ignore a new argument if the parent of the argument is new. However, if the argument addition is processed before the

      • isAnyVertexOfType

        private static boolean isAnyVertexOfType​(EditOperation edit,
                                                 java.lang.String type)
      • isAnyVertexOfType

        private static boolean isAnyVertexOfType​(Edge edge,
                                                 java.lang.String type)