Method method = methodConfig.getMethod(); MethodModel methodModel = methodConfig.getMethodModel(); String classInfo = getParamTypeName(typeTable, methodModel.getOutputType()); String callbackType; if (isProtobufEmpty(method.getOutputMessage())) { " parameter is set to be used for the next request object. The fourth parameter keeps", " the raw response object of " + getTypeNameDoc(typeTable, methodModel.getOutputType()) + ".");
" The second element is the next request object if the response", " indicates the next page exists, or null. The third element is ", " " + getTypeNameDoc(typeTable, methodConfig.getMethodModel().getOutputType()) + ".", "");
/** * Gets the ProtoFile objects in which the fields of the reachable methods in the model are * defined. */ public static Iterable<ProtoFile> getProtoFiles(GapicProductConfig productConfig) { Set<ProtoFile> files = newFileSet(); for (InterfaceConfig interfaceConfig : productConfig.getInterfaceConfigMap().values()) { for (MethodConfig methodConfig : interfaceConfig.getMethodConfigs()) { MethodModel method = methodConfig.getMethodModel(); files.addAll( getFilesForMessage( ((ProtoTypeRef) method.getInputType()).getProtoType().getMessageType(), false)); files.addAll( getFilesForMessage( ((ProtoTypeRef) method.getOutputType()).getProtoType().getMessageType(), false)); } } return files; }
private ListItemConfigNode generateMethodNode( int startLine, MethodModel method, Map<String, String> collectionNameMap) { ListItemConfigNode methodNode = new ListItemConfigNode(startLine); ConfigNode nameNode = FieldConfigNode.createStringPair(startLine, "name", method.getSimpleName()); methodNode.setChild(nameNode); ConfigNode prevNode = generateField(nameNode, method); prevNode = pageStreamingMerger.generatePageStreamingNode(prevNode, method); prevNode = retryMerger.generateRetryNamesNode(prevNode, method); prevNode = generateFieldNamePatterns(prevNode, method, collectionNameMap); if (method.getOutputType().toString().contains("google.longrunning.Operation")) { prevNode = generateLongRunningNode(prevNode, method); } generateTimeout(prevNode, method); return methodNode; }
@Test public void testAccessorNewVariableResponse() { Scanner scanner = new Scanner("$resp"); when(config.getPageStreaming()).thenReturn(null); TypeModel typeModel = mock(TypeModel.class); when(namer.getAndSaveTypeName(typeTable, typeModel)).thenReturn("TypeName"); when(model.getOutputType()).thenReturn(typeModel); OutputView.VariableView variableView = accessorNewVariable(scanner, context, valueSet, parent, "newVar", false); assertThat(variableView.variable()).isEqualTo("sampleResponseVarName"); assertThat(variableView.accessors()).isEmpty(); assertThat(parent.getTypeName("newVar")).isEqualTo("TypeName"); assertThat(parent.getTypeModel("newVar")).isEqualTo(typeModel); }
private InitCodeContext createResponseInitCodeContext( MethodContext context, SymbolTable symbolTable) { TypeModel outputType = context.getMethodModel().getOutputType(); if (context.getMethodConfig().isLongRunningOperation()) { outputType = context.getMethodConfig().getLongRunningConfig().getReturnType(); } return InitCodeContext.newBuilder() .initObjectType(outputType) .symbolTable(symbolTable) .suggestedName(Name.from("expected_response")) .initFieldConfigStrings(ImmutableList.of()) .initValueConfigMap(ImmutableMap.of()) .initFields(responseInitFields(outputType.getFields())) .fieldConfigMap(context.getProductConfig().getDefaultResourceNameFieldConfigMap()) .valueGenerator(valueGenerator) .additionalInitCodeNodes(createMockResponseAdditionalSubTrees(context)) .build(); }
type = context.getMethodConfig().getLongRunningConfig().getReturnType(); } else { type = context.getMethodModel().getOutputType();
namer.getAndSaveTypeName(context.getTypeTable(), context.getMethodModel().getInputType())); apiMethod.responseTypeName( namer.getAndSaveTypeName(context.getTypeTable(), context.getMethodModel().getOutputType())); apiMethod.hasReturnValue(!ServiceMessages.s_isEmptyType(context.getMethod().getOutputType())); apiMethod.key(namer.getMethodKey(method));