private Map<String, Object> resolveArguments(Map<String, Object> objectMap, Operation.Variables variables) { Map<String, Object> result = new TreeMap<>(argumentNameComparator); for (Map.Entry<String, Object> entry : objectMap.entrySet()) { if (entry.getValue() instanceof Map) { Map<String, Object> nestedObjectMap = (Map<String, Object>) entry.getValue(); if (ResponseField.isArgumentValueVariableType(nestedObjectMap)) { result.put(entry.getKey(), resolveVariableArgument(nestedObjectMap, variables)); } else { result.put(entry.getKey(), resolveArguments(nestedObjectMap, variables)); } } else { result.put(entry.getKey(), entry.getValue()); } } return result; }
/** * Resolve field argument value by name. If argument represents a references to the variable, it will be resolved from * provided operation variables values. * * @param name argument name * @param variables values of operation variables * @return resolved argument value */ @SuppressWarnings("unchecked") @Nullable public Object resolveArgument(@NotNull String name, @NotNull Operation.Variables variables) { checkNotNull(name, "name == null"); checkNotNull(variables, "variables == null"); Map<String, Object> variableValues = variables.valueMap(); Object argumentValue = arguments.get(name); if (argumentValue instanceof Map) { Map<String, Object> argumentValueMap = (Map<String, Object>) argumentValue; if (isArgumentValueVariableType(argumentValueMap)) { String variableName = argumentValueMap.get(VARIABLE_NAME_KEY).toString(); return variableValues.get(variableName); } else { return null; } } return argumentValue; }
private String orderIndependentKey(Map<String, Object> objectMap, Operation.Variables variables) { if (isArgumentValueVariableType(objectMap)) { return orderIndependentKeyForVariableArgument(objectMap, variables); boolean isArgumentVariable = isArgumentValueVariableType(objectArg); independentKey .append(argument.getKey())
private String orderIndependentKey(Map<String, Object> objectMap, Operation.Variables variables) { if (isArgumentValueVariableType(objectMap)) { return orderIndependentKeyForVariableArgument(objectMap, variables); boolean isArgumentVariable = isArgumentValueVariableType(objectArg); independentKey .append(argument.getKey())
/** * Resolve field argument value by name. If argument represents a references to the variable, it will be resolved from * provided operation variables values. * * @param name argument name * @param variables values of operation variables * @return resolved argument value */ @SuppressWarnings("unchecked") @Nullable public Object resolveArgument(@Nonnull String name, @Nonnull Operation.Variables variables) { checkNotNull(name, "name == null"); checkNotNull(variables, "variables == null"); Map<String, Object> variableValues = variables.valueMap(); Object argumentValue = arguments.get(name); if (argumentValue instanceof Map) { Map<String, Object> argumentValueMap = (Map<String, Object>) argumentValue; if (isArgumentValueVariableType(argumentValueMap)) { String variableName = argumentValueMap.get(VARIABLE_NAME_KEY).toString(); return variableValues.get(variableName); } else { return null; } } return argumentValue; }
/** * Resolve field argument value by name. If argument represents a references to the variable, it will be resolved from * provided operation variables values. * * @param name argument name * @param variables values of operation variables * @return resolved argument value */ @SuppressWarnings("unchecked") @Nullable public Object resolveArgument(@Nonnull String name, @Nonnull Operation.Variables variables) { checkNotNull(name, "name == null"); checkNotNull(variables, "variables == null"); Map<String, Object> variableValues = variables.valueMap(); Object argumentValue = arguments.get(name); if (argumentValue instanceof Map) { Map<String, Object> argumentValueMap = (Map<String, Object>) argumentValue; if (isArgumentValueVariableType(argumentValueMap)) { String variableName = argumentValueMap.get(VARIABLE_NAME_KEY).toString(); return variableValues.get(variableName); } else { return null; } } return argumentValue; }