@Override public boolean hasPageStreamingMethods() { for (MethodConfig methodConfig : getMethodConfigs()) { if (methodConfig.isPageStreaming()) { return true; } } return false; }
@Override public boolean hasPageStreamingMethods() { for (MethodConfig methodConfig : getMethodConfigs()) { if (methodConfig.isPageStreaming()) { return true; } } return false; }
private List<FieldModel> removePageTokenFromFields(MethodConfig methodConfig) { ImmutableList.Builder<FieldModel> newFields = ImmutableList.builder(); for (FieldModel field : methodConfig.getOptionalFields()) { if (methodConfig.isPageStreaming() && field.equals(methodConfig.getPageStreaming().getRequestTokenField())) { continue; } newFields.add(field); } return newFields.build(); }
private boolean isRequestTokenParam(MethodConfig methodConfig, FieldModel field) { return methodConfig.isPageStreaming() && field.equals(methodConfig.getPageStreaming().getRequestTokenField()); }
private boolean isRequestTokenParam(MethodConfig methodConfig, FieldModel field) { return methodConfig.isPageStreaming() && field.equals(methodConfig.getPageStreaming().getRequestTokenField()); }
private boolean isRequestTokenParam(MethodConfig methodConfig, FieldModel field) { return methodConfig.isPageStreaming() && field.equals(methodConfig.getPageStreaming().getRequestTokenField()); }
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 Iterable<FieldConfig> removePageTokenFieldConfig( GapicMethodContext context, Iterable<FieldConfig> fieldConfigs) { MethodConfig methodConfig = context.getMethodConfig(); if (methodConfig == null || !methodConfig.isPageStreaming()) { return fieldConfigs; } final FieldModel requestTokenField = methodConfig.getPageStreaming().getRequestTokenField(); return Iterables.filter( fieldConfigs, new Predicate<FieldConfig>() { @Override public boolean apply(FieldConfig fieldConfig) { return !fieldConfig.getField().equals(requestTokenField); } }); }
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; }
private boolean isPageSizeParam(MethodConfig methodConfig, FieldModel field) { return methodConfig.isPageStreaming() && methodConfig.getPageStreaming().hasPageSizeField() && field.equals(methodConfig.getPageStreaming().getPageSizeField()); }
private boolean isPageSizeParam(MethodConfig methodConfig, FieldModel field) { return methodConfig.isPageStreaming() && methodConfig.getPageStreaming().hasPageSizeField() && field.equals(methodConfig.getPageStreaming().getPageSizeField()); }
private boolean isPageSizeParam(MethodConfig methodConfig, FieldModel field) { return methodConfig.isPageStreaming() && methodConfig.getPageStreaming().hasPageSizeField() && field.equals(methodConfig.getPageStreaming().getPageSizeField()); } }
private List<StaticLangPagedResponseView> generatePagedResponseWrappers( InterfaceContext context) { addPagedResponseWrapperImports(context.getImportTypeTable()); ImmutableList.Builder<StaticLangPagedResponseView> pagedResponseWrappersList = ImmutableList.builder(); for (MethodModel method : context.getSupportedMethods()) { if (context.getMethodConfig(method).isPageStreaming()) { pagedResponseWrappersList.add( generatePagedResponseWrapper( context.asRequestMethodContext(method), context.getImportTypeTable())); } } return pagedResponseWrappersList.build(); }
@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; }
@Override public List<String> getReturnDocLines( TransformationContext context, MethodContext methodContext, Synchronicity synchronicity) { MethodModel method = methodContext.getMethodModel(); MethodConfig methodConfig = methodContext.getMethodConfig(); if (method.getResponseStreaming()) { String classInfo = method.getOutputTypeName(methodContext.getTypeTable()).getFullName(); return ImmutableList.of("An enumerable of " + classInfo + " instances.", ""); } if (methodConfig.isPageStreaming()) { String resourceTypeName = getTypeFormatter() .getFullNameForElementType(methodConfig.getPageStreaming().getResourcesField()); return ImmutableList.of( "An enumerable of " + resourceTypeName + " instances.", "See Google::Gax::PagedEnumerable documentation for other", "operations such as per-page iteration or access to the response", "object."); } return ImmutableList.of(); }
private StaticLangApiMethodView createSmokeTestCaseApiMethodView(MethodContext methodContext) { StaticLangApiMethodView initialApiMethodView; if (methodContext.getMethodConfig().isPageStreaming()) { initialApiMethodView = apiMethodTransformer.generatePagedRequestObjectMethod(methodContext); } else { initialApiMethodView = apiMethodTransformer.generateRequestObjectMethod(methodContext); } StaticLangApiMethodView.Builder apiMethodView = initialApiMethodView.toBuilder(); InitCodeView initCodeView = initCodeTransformer.generateInitCode( methodContext, testCaseTransformer.createSmokeTestInitContext(methodContext)); apiMethodView.initCode(initCodeView); return apiMethodView.build(); } }
private ApiMethodDocView generateMethodDoc(GapicMethodContext context) { ApiMethodDocView.Builder docBuilder = ApiMethodDocView.newBuilder(); SurfaceNamer surfaceNamer = context.getNamer(); MethodModel method = context.getMethodModel(); MethodConfig methodConfig = context.getMethodConfig(); docBuilder.mainDocLines(surfaceNamer.getDocLines(method, methodConfig)); docBuilder.paramDocs(apiMethodParamTransformer.generateParamDocs(context)); docBuilder.returnTypeName(surfaceNamer.getDynamicLangReturnTypeName(context)); docBuilder.returnsDocLines( surfaceNamer.getReturnDocLines( context.getSurfaceInterfaceContext(), context, Synchronicity.Sync)); if (methodConfig.isPageStreaming()) { docBuilder.pageStreamingResourceTypeName( surfaceNamer.getTypeNameDoc( context.getTypeTable(), methodConfig.getPageStreaming().getResourcesField().getType())); } docBuilder.throwsDocLines(surfaceNamer.getThrowsDocLines(methodConfig)); return docBuilder.build(); }