switch (methodConfig.getGrpcStreamingType()) { case ServerStreaming: return ImmutableList.of("The server stream."); default: throw new IllegalStateException( "Invalid streaming: " + methodConfig.getGrpcStreamingType());
public List<MethodModel> getSupportedMethods(InterfaceContext context) { List<MethodModel> result = new ArrayList<>(); boolean mixinsDisabled = !context.getFeatureConfig().enableMixins(); for (MethodModel method : context.getSupportedMethods()) { if (mixinsDisabled && context.getMethodConfig(method).getRerouteToGrpcInterface() != null) { continue; } MethodConfig methodConfig = context.getMethodConfig(method); if (methodConfig.getGrpcStreamingType() == GrpcStreamingType.ClientStreaming) { // Client-streaming not yet supported continue; } result.add(method); } return result; }
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; }
private List<ModifyMethodView> generateModifyMethods(GapicInterfaceContext context) { SurfaceNamer namer = context.getNamer(); List<ModifyMethodView> modifyMethods = new ArrayList<>(); Set<String> modifyTypeNames = new HashSet<>(); for (MethodModel method : csharpCommonTransformer.getSupportedMethods(context)) { MethodContext methodContext = context.asRequestMethodContext(method); String inputTypeFullName = methodContext.getMethodModel().getInputFullName(); if (modifyTypeNames.contains(inputTypeFullName)) { continue; } modifyTypeNames.add(inputTypeFullName); MethodConfig methodConfig = methodContext.getMethodConfig(); ModifyMethodView.Builder builder = ModifyMethodView.builder(); builder.name(namer.getModifyMethodName(methodContext)); builder.requestTypeName( method.getAndSaveRequestTypeName(context.getImportTypeTable(), context.getNamer())); builder.grpcStreamingType(methodConfig.getGrpcStreamingType()); modifyMethods.add(builder.build()); } return modifyMethods; }
@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()); } }
.getMethodModel() .getAndSaveRequestTypeName(context.getTypeTable(), context.getNamer()); switch (context.getMethodConfig().getGrpcStreamingType()) { case NonStreaming: SimpleParamDocView nonStreamingDoc = default: throw new UnsupportedOperationException( "Cannot handle streaming type: " + context.getMethodConfig().getGrpcStreamingType());
MethodConfig methodConfig = context.getMethodConfig(method); if (methodConfig.isGrpcStreaming()) { if (methodConfig.getGrpcStreamingType() == GrpcStreamingType.ClientStreaming) { addGrpcStreamingTestImports(context, methodConfig.getGrpcStreamingType()); MethodContext methodContext = context.asRequestMethodContext(method); InitCodeContext initCodeContext =
List<CallingForm> callingForms; ImportTypeTable typeTable = context.getImportTypeTable(); switch (methodConfig.getGrpcStreamingType()) { case BidiStreaming: typeTable.saveNicknameFor("com.google.api.gax.rpc.BidiStreamingCallable"); default: throw new IllegalArgumentException( "Invalid streaming type: " + methodConfig.getGrpcStreamingType());
public List<MockGrpcMethodView> createMockGrpcMethodViews(InterfaceContext context) { if (!context.getProductConfig().getTransportProtocol().equals(TransportProtocol.GRPC)) { return ImmutableList.of(); } List<? extends MethodModel> methods = context.getInterfaceMethods(); ArrayList<MockGrpcMethodView> mocks = new ArrayList<>(methods.size()); for (MethodModel method : methods) { if (context.getMethodConfig(method) == null) { continue; } MethodContext methodContext = context.asRequestMethodContext(method); String requestTypeName = method.getAndSaveRequestTypeName(methodContext.getTypeTable(), methodContext.getNamer()); String responseTypeName = method.getAndSaveResponseTypeName(methodContext.getTypeTable(), methodContext.getNamer()); MethodConfig methodConfig = methodContext.getMethodConfig(); mocks.add( MockGrpcMethodView.newBuilder() .name(methodContext.getNamer().getApiMethodName(method, VisibilityConfig.PUBLIC)) .requestTypeName(requestTypeName) .responseTypeName(responseTypeName) .grpcStreamingType(methodConfig.getGrpcStreamingType()) .streamHandleTypeName(methodContext.getNamer().getStreamingServerName(method)) .build()); } return mocks; }
ApiCallableImplType callableImplType = ApiCallableImplType.SimpleApiCallable; if (methodConfig.isGrpcStreaming()) { callableImplType = ApiCallableImplType.of(methodConfig.getGrpcStreamingType()); } else if (methodConfig.isBatching()) { callableImplType = ApiCallableImplType.BatchingApiCallable;
callableImplType = ApiCallableImplType.of(methodConfig.getGrpcStreamingType()); apiCallableBuilder.grpcStreamingType(methodConfig.getGrpcStreamingType()); } else if (methodConfig.isBatching()) { callableImplType = ApiCallableImplType.BatchingApiCallable;
case ClientStreamingApiCallable: case ServerStreamingApiCallable: settings.type(ApiCallableImplType.of(methodConfig.getGrpcStreamingType())); if (methodConfig.getGrpcStreaming().hasResourceField()) { FieldModel resourceType = methodConfig.getGrpcStreaming().getResourcesField();
methodViewBuilder.callableName(context.getNamer().getCallableName(method)); methodViewBuilder.modifyMethodName(namer.getModifyMethodName(context)); methodViewBuilder.grpcStreamingType(context.getMethodConfig().getGrpcStreamingType()); methodViewBuilder.visibility( namer.getVisiblityKeyword(context.getMethodConfig().getVisibility()));
.asserts(initCodeTransformer.generateRequestAssertViews(methodContext, initCodeContext)) .clientMethodType(clientMethodType) .grpcStreamingType(methodConfig.getGrpcStreamingType()) .hasRequestParameters(hasRequestParameters) .hasReturnValue(hasReturnValue)