@Override public boolean hasLongRunningOperations() { for (MethodConfig methodConfig : getMethodConfigs()) { if (methodConfig.isLongRunningOperation()) { return true; } } return false; }
@Override public boolean hasLongRunningOperations() { for (MethodConfig methodConfig : getMethodConfigs()) { if (methodConfig.isLongRunningOperation()) { return true; } } return false; }
private ClientMethodType getMethodType(MethodConfig config) { ClientMethodType clientMethodType = ClientMethodType.RequestObjectMethod; if (config.isPageStreaming()) { clientMethodType = ClientMethodType.PagedRequestObjectMethod; } else if (config.isGrpcStreaming()) { clientMethodType = ClientMethodType.AsyncRequestObjectMethod; } else if (config.isLongRunningOperation()) { clientMethodType = ClientMethodType.OperationCallableMethod; } return clientMethodType; }
private ClientMethodType getMethodType(MethodConfig config) { ClientMethodType clientMethodType = ClientMethodType.RequestObjectMethod; if (config.isPageStreaming()) { clientMethodType = ClientMethodType.PagedRequestObjectMethod; } else if (config.isGrpcStreaming()) { clientMethodType = ClientMethodType.AsyncRequestObjectMethod; } else if (config.isLongRunningOperation()) { clientMethodType = ClientMethodType.OperationCallableMethod; } return clientMethodType; }
private Set<ImportKind> getImportKinds( InterfaceConfig interfaceConfig, Iterable<? extends MethodModel> methods) { EnumSet<ImportKind> kinds = EnumSet.noneOf(ImportKind.class); for (MethodModel method : methods) { if (method.getResponseStreaming()) { kinds.add(ImportKind.SERVER_STREAM); } MethodConfig methodConfig = interfaceConfig.getMethodConfig(method); if (methodConfig.isLongRunningOperation()) { kinds.add(ImportKind.LRO); } if (methodConfig.isPageStreaming()) { kinds.add(ImportKind.PAGE_STREAM); } } return kinds; }
private List<ApiCallableView> generateStaticLangApiCallables(MethodContext context) { List<ApiCallableView> apiCallables = new ArrayList<>(); apiCallables.add(generateMainApiCallable(context)); if (context.getMethodConfig().isPageStreaming()) { apiCallables.add(generatePagedApiCallable(context)); } if (context.getMethodConfig().isLongRunningOperation()) { // Only Protobuf-based APIs have LongRunningOperations. apiCallables.add(generateOperationApiCallable((GapicMethodContext) context)); } return apiCallables; }
@VisibleForTesting List<StaticLangApiMethodView> generateApiMethods( InterfaceContext context, Iterable<? extends MethodModel> methods) { List<StaticLangApiMethodView> apiMethods = new ArrayList<>(); for (MethodModel method : methods) { MethodConfig methodConfig = context.getMethodConfig(method); MethodContext methodContext = context.asRequestMethodContext(method); if (method.getRequestStreaming() || method.getResponseStreaming()) { apiMethods.add( apiMethodTransformer.generateGrpcStreamingRequestObjectMethod(methodContext)); } else if (methodConfig.isPageStreaming()) { apiMethods.add(apiMethodTransformer.generatePagedRequestObjectMethod(methodContext)); } else if (methodConfig.isLongRunningOperation()) { apiMethods.add(apiMethodTransformer.generateOperationRequestObjectMethod(methodContext)); } else { apiMethods.add(apiMethodTransformer.generateRequestObjectMethod(methodContext)); } } return apiMethods; }
public List<ApiCallSettingsView> generateApiCallableSettings(MethodContext context) { List<ApiCallSettingsView> settings = new ArrayList<>(); MethodConfig methodConfig = context.getMethodConfig(); if (methodConfig.isGrpcStreaming()) { settings.add( generateApiCallableSettings( context, ApiCallableImplType.of(methodConfig.getGrpcStreamingType()))); } else if (methodConfig.isPageStreaming()) { settings.add(generateApiCallableSettings(context, ApiCallableImplType.PagedApiCallable)); } else if (methodConfig.isBatching()) { settings.add(generateApiCallableSettings(context, ApiCallableImplType.BatchingApiCallable)); } else if (methodConfig.isLongRunningOperation()) { if (context.getFeatureConfig().enableRawOperationCallSettings()) { settings.add(generateApiCallableSettings(context, ApiCallableImplType.SimpleApiCallable)); } settings.add(generateApiCallableSettings(context, ApiCallableImplType.OperationApiCallable)); } else { settings.add(generateApiCallableSettings(context, ApiCallableImplType.SimpleApiCallable)); } return settings; }
if (methodConfig.isGrpcStreaming()) { methods.add(generateGrpcStreamingRequestMethod(methodContext)); } else if (methodConfig.isLongRunningOperation()) { if (methodConfig.isFlattening()) { ImmutableList<FlatteningConfig> flatteningGroups = methodConfig.getFlatteningConfigs();
@Override public List<String> getReturnDocLines( TransformationContext context, MethodContext methodContext, Synchronicity synchronicity) { MethodConfig methodConfig = methodContext.getMethodConfig(); TypeRef outputType = ((GapicMethodConfig) methodConfig).getMethod().getOutputType(); if (ServiceMessages.s_isEmptyType(outputType)) { return ImmutableList.<String>of(); } String returnTypeName = methodConfig.isLongRunningOperation() ? "google.gax._OperationFuture" : getModelTypeFormatter().getFullNameFor(outputType); String classInfo = PythonDocstringUtil.napoleonType(returnTypeName, getVersionedDirectoryNamespace()); if (((GapicMethodConfig) methodConfig).getMethod().getResponseStreaming()) { return ImmutableList.of("Iterable[" + classInfo + "]."); } if (methodConfig.isPageStreaming()) { FieldModel fieldModel = methodConfig.getPageStreaming().getResourcesField(); return ImmutableList.of( "A :class:`~google.gax.PageIterator` instance. By default, this", "is an iterable of " + annotateWithClass(getResponseTypeNameForElementType(fieldModel.getType())) + " instances.", "This object can also be configured to iterate over the pages", "of the response through the `options` parameter."); } return ImmutableList.of(String.format("A %s instance.", annotateWithClass(classInfo))); }
} else if (methodConfig.isLongRunningOperation()) { } else { if (methodConfig.isPageStreaming() || methodConfig.isLongRunningOperation() || methodConfig.getRerouteToGrpcInterface() != null) {
} else if (methodConfig.isLongRunningOperation()) { if (methodContext.isFlattenedMethodContext()) { initialApiMethodView =
} else if (methodConfig.isLongRunningOperation()) {
if (methodConfig.isPageStreaming()) { clientMethodType = ClientMethodType.PagedFlattenedMethod; } else if (methodConfig.isLongRunningOperation()) { clientMethodType = ClientMethodType.AsyncOperationFlattenedMethod; } else {
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(); }
@Override public String getDynamicLangReturnTypeName(MethodContext methodContext) { MethodModel method = methodContext.getMethodModel(); MethodConfig methodConfig = methodContext.getMethodConfig(); if (method.isOutputTypeEmpty()) { return ""; } if (methodConfig.isPageStreaming()) { return "\\Google\\ApiCore\\PagedListResponse"; } if (methodConfig.isLongRunningOperation()) { return "\\Google\\ApiCore\\OperationResponse"; } switch (methodConfig.getGrpcStreamingType()) { case NonStreaming: return method.getOutputTypeName(methodContext.getTypeTable()).getFullName(); case BidiStreaming: return "\\Google\\ApiCore\\BidiStream"; case ClientStreaming: return "\\Google\\ApiCore\\ClientStream"; case ServerStreaming: return "\\Google\\ApiCore\\ServerStream"; default: return getNotImplementedString( "SurfaceNamer.getDynamicReturnTypeName grpcStreamingType:" + methodConfig.getGrpcStreamingType().toString()); } }
@Override public String getDynamicLangReturnTypeName(MethodContext methodContext) { MethodModel method = methodContext.getMethodModel(); MethodConfig methodConfig = methodContext.getMethodConfig(); if (method.isOutputTypeEmpty()) { return ""; } String classInfo = method.getOutputTypeName(methodContext.getTypeTable()).getFullName(); if (method.getResponseStreaming()) { return "Enumerable<" + classInfo + ">"; } if (methodConfig.isPageStreaming()) { String resourceTypeName = getModelTypeFormatter() .getFullNameForElementType(methodConfig.getPageStreaming().getResourcesField()); return "Google::Gax::PagedEnumerable<" + resourceTypeName + ">"; } if (methodConfig.isLongRunningOperation()) { return "Google::Gax::Operation"; } return classInfo; }
private StaticLangApiMethodView createSmokeTestCaseApiMethodView( GapicInterfaceContext context, MethodContext methodContext) { SurfaceNamer namer = context.getNamer(); MethodConfig methodConfig = methodContext.getMethodConfig(); StaticLangApiMethodView.Builder apiMethodView; if (methodConfig.isPageStreaming()) { apiMethodView = apiMethodTransformer.generatePagedFlattenedMethod(methodContext).toBuilder(); FieldConfig resourceFieldConfig = methodContext.getMethodConfig().getPageStreaming().getResourcesFieldConfig(); String callerResponseTypeName = namer.getAndSaveCallerPagedResponseTypeName(methodContext, resourceFieldConfig); apiMethodView.responseTypeName(callerResponseTypeName); } else if (methodConfig.isLongRunningOperation()) { ArrayList<ParamWithSimpleDoc> emptyParams = new ArrayList<ParamWithSimpleDoc>(); apiMethodView = apiMethodTransformer .generateOperationFlattenedMethod(methodContext, emptyParams) .toBuilder(); } else { apiMethodView = apiMethodTransformer.generateFlattenedMethod(methodContext).toBuilder(); } InitCodeTransformer initCodeTransformer = new InitCodeTransformer(); InitCodeView initCodeView = initCodeTransformer.generateInitCode( methodContext, testCaseTransformer.createSmokeTestInitContext(methodContext)); apiMethodView.initCode(initCodeView); return apiMethodView.build(); } }
if (context.getMethodConfig().isLongRunningOperation()) {
if (context.getMethodConfig().isLongRunningOperation()) { methodViewBuilder.hasReturnValue( !context.getMethodConfig().getLongRunningConfig().getReturnType().isEmptyType());