@Override public boolean hasReroutedInterfaceMethods() { for (MethodConfig methodConfig : getMethodConfigs()) { if (!Strings.isNullOrEmpty(methodConfig.getRerouteToGrpcInterface())) { return true; } } return false; }
@Override public boolean hasReroutedInterfaceMethods() { for (MethodConfig methodConfig : getMethodConfigs()) { if (!Strings.isNullOrEmpty(methodConfig.getRerouteToGrpcInterface())) { return true; } } return false; } }
@Override public String getReroutedGrpcMethodName(MethodConfig methodConfig) { List<String> reroutes = Splitter.on('.').splitToList(methodConfig.getRerouteToGrpcInterface()); return Name.anyCamelKeepUpperAcronyms("create", reroutes.get(reroutes.size() - 1), "client") .toUpperCamel(); }
@Override public String getReroutedGrpcClientVarName(MethodConfig methodConfig) { String reroute = methodConfig.getRerouteToGrpcInterface(); if (reroute == null) { return "GrpcClient"; } else { List<String> reroutes = Splitter.on('.').splitToList(reroute); return Name.anyCamelKeepUpperAcronyms("grpc", reroutes.get(reroutes.size() - 1), "client") .toLowerCamel(); } }
@Override public String getReroutedGrpcTypeName(ImportTypeTable typeTable, MethodConfig methodConfig) { List<String> reroutes = Splitter.on('.').splitToList(methodConfig.getRerouteToGrpcInterface()); if (reroutes.size() > 2 && reroutes.get(0).equals("google") && !reroutes.get(1).equals("cloud")) { reroutes = new ArrayList<String>(reroutes); reroutes.add(1, "cloud"); } String rerouteLast = reroutes.get(reroutes.size() - 1); String name = Name.anyCamelKeepUpperAcronyms(rerouteLast).toUpperCamel() + "+" + Name.anyCamelKeepUpperAcronyms(rerouteLast, "client").toUpperCamel(); List<String> names = new ArrayList<>(); for (String reroute : reroutes) { names.add(Name.anyCamelKeepUpperAcronyms(reroute).toUpperCamel()); } String prefix = Joiner.on(".").join(names.subList(0, names.size() - 1)); String fullName = prefix + "." + name; return typeTable.getAndSaveNicknameFor(fullName); }
public Map<String, InterfaceModel> getGrpcInterfacesForService( ApiModel model, GapicProductConfig productConfig, InterfaceModel apiInterface) { if (!productConfig.getTransportProtocol().equals(TransportProtocol.GRPC)) { return ImmutableMap.of(); } Map<String, InterfaceModel> interfaces = new LinkedHashMap<>(); interfaces.put(apiInterface.getFullName(), apiInterface); InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); for (MethodConfig methodConfig : interfaceConfig.getMethodConfigs()) { String reroute = methodConfig.getRerouteToGrpcInterface(); if (!Strings.isNullOrEmpty(reroute)) { InterfaceModel targetInterface = model.getInterface(reroute); interfaces.put(reroute, targetInterface); } } return interfaces; }
public List<MethodDescriptorView> generateMethodDescriptors(InterfaceContext context) { List<MethodDescriptorView> callables = new ArrayList<>(); boolean excludeMixins = !context.getFeatureConfig().enableMixins(); for (MethodModel method : context.getSupportedMethods()) { if (excludeMixins && context.getMethodConfig(method).getRerouteToGrpcInterface() != null) { continue; } callables.add(generateMethodDescriptor(context.asRequestMethodContext(method))); } return callables; }
public List<ApiCallableView> generateStaticLangApiCallables(InterfaceContext context) { List<ApiCallableView> callableMembers = new ArrayList<>(); boolean excludeMixins = !context.getFeatureConfig().enableMixins(); for (MethodModel method : context.getSupportedMethods()) { if (excludeMixins && context.getMethodConfig(method).getRerouteToGrpcInterface() != null) { continue; } callableMembers.addAll( generateStaticLangApiCallables(context.asRequestMethodContext(method))); } return callableMembers; }
private static Map<Interface, Interface> createGrpcRerouteMap( Model model, GapicProductConfig productConfig) { HashMap<Interface, Interface> grpcRerouteMap = new HashMap<>(); for (Interface apiInterface : ProtoModels.getInterfaces(model)) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null) { continue; } if (!apiInterface.isReachable()) { continue; } for (MethodConfig methodConfig : interfaceConfig.getMethodConfigs()) { String reroute = methodConfig.getRerouteToGrpcInterface(); if (!Strings.isNullOrEmpty(reroute)) { Interface targetInterface = model.getSymbolTable().lookupInterface(reroute); grpcRerouteMap.put(targetInterface, apiInterface); } } } return grpcRerouteMap; }
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<ReroutedGrpcView> generateReroutedGrpcView(GapicInterfaceContext context) { SurfaceNamer namer = context.getNamer(); Set<ReroutedGrpcView> reroutedViews = new LinkedHashSet<>(); for (MethodModel method : getSupportedMethods(context)) { MethodConfig methodConfig = context.getMethodConfig(method); String reroute = methodConfig.getRerouteToGrpcInterface(); if (reroute != null) { ReroutedGrpcView rerouted = ReroutedGrpcView.newBuilder() .grpcClientVarName(namer.getReroutedGrpcClientVarName(methodConfig)) .typeName(namer.getReroutedGrpcTypeName(context.getImportTypeTable(), methodConfig)) .getMethodName(namer.getReroutedGrpcMethodName(methodConfig)) .build(); reroutedViews.add(rerouted); } } return new ArrayList<ReroutedGrpcView>(reroutedViews); }
methodConfig.getRerouteToGrpcInterface() == null ? context.getInterface().getFullName() : methodConfig.getRerouteToGrpcInterface(); HttpRule httpRule = getHttpRule(method.getOptionFields())
clientMethodTypeAsync = ClientMethodType.FlattenedAsyncCallSettingsMethod; if (methodConfig.getRerouteToGrpcInterface() != null) { if (methodConfig.isPageStreaming() || methodConfig.isLongRunningOperation() || methodConfig.getRerouteToGrpcInterface() != null) {