/** Returns the InterfaceConfig for the given API interface. */ public InterfaceConfig getInterfaceConfig(String fullName) { return getInterfaceConfigMap().get(fullName); }
/** True if contains an InterfaceConfig for the specified API interface */ @Override public boolean hasInterfaceConfig(InterfaceModel apiInterface) { return getInterfaceConfigMap().containsKey(apiInterface.getFullName()); }
/** Returns the InterfaceConfig for the given API interface. */ @Override public InterfaceConfig getInterfaceConfig(InterfaceModel apiInterface) { return getInterfaceConfigMap().get(apiInterface.getFullName()); }
/** Returns the GapicInterfaceConfig for the given API interface. */ public GapicInterfaceConfig getInterfaceConfig(Interface apiInterface) { return (GapicInterfaceConfig) getInterfaceConfigMap().get(apiInterface.getFullName()); }
@Override /* Returns the DiscoGapicMethodConfig for the given method. */ public DiscoGapicMethodConfig getMethodConfig(MethodModel method) { String methodName = method.getFullName(); for (InterfaceConfig config : getProductConfig().getInterfaceConfigMap().values()) { for (MethodConfig methodConfig : config.getMethodConfigs()) { if (methodConfig.getMethodModel().getFullName().equals(methodName)) { return (DiscoGapicMethodConfig) methodConfig; } } } throw new IllegalArgumentException("Interface config does not exist for method: " + methodName); }
public List<GrpcElementDocView> generateElementDocs( GapicProductConfig productConfig, ModelTypeTable typeTable, SurfaceNamer namer, ProtoContainerElement containerElement) { ImmutableList.Builder<GrpcElementDocView> children = ImmutableList.builder(); Set<String> lroTypes = productConfig .getInterfaceConfigMap() .values() .stream() .flatMap(i -> i.getMethodConfigs().stream()) .map(MethodConfig::getLongRunningConfig) .filter(Objects::nonNull) .flatMap(lro -> Stream.of(lro.getReturnType(), lro.getMetadataType())) .map(t -> ((ProtoTypeRef) t).getProtoType()) .map(TypeRef::getMessageType) .map(MessageType::getFullName) .collect(ImmutableSet.toImmutableSet()); Collection<MessageType> messages = containerElement .getMessages() .stream() .filter(m -> m.isReachable() || lroTypes.contains(m.getFullName())) .collect(ImmutableList.toImmutableList()); children.addAll(generateMessageDocs(productConfig, typeTable, namer, messages)); children.addAll(generateEnumDocs(typeTable, namer, containerElement.getEnums())); return children.build(); }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productionConfig) { List<ViewModel> viewModels = Lists.newArrayList(); boolean shouldGenerateSamplePackages = productionConfig .getInterfaceConfigMap() .values() .stream() .flatMap(config -> config.getMethodConfigs().stream()) .anyMatch(config -> config.getSampleSpec().isConfigured()); if (!shouldGenerateSamplePackages) { return viewModels; } for (PackageMetadataView.Builder builder : this.generateMetadataViewBuilders(model, packageConfig, null)) { builder.additionalDependencies(additionalSampleDependencies()); viewModels.add(builder.build()); } return viewModels; }
private static boolean hasSmokeTestConfig(GapicProductConfig productConfig) { return productConfig .getInterfaceConfigMap() .values() .stream() .anyMatch(config -> config.getSmokeTestConfig() != null); } }
for (String interfaceName : productConfig.getInterfaceConfigMap().keySet()) { SchemaTransformationContext requestContext = SchemaTransformationContext.create(interfaceName, context.getSchemaTypeTable(), context); productConfig.getInterfaceConfigMap().get(interfaceName).getMethodConfigs()) { Method method = ((DiscoveryMethodModel) methodConfig.getMethodModel()).getDiscoMethod(); namePatternsToMethod.put(DiscoGapicParser.getCanonicalPath(method.flatPath()), method); productConfig.getInterfaceConfigMap().get(interfaceName).getSingleResourceNameConfigs()) { String namePattern = nameConfig.getNamePattern(); if (namePatterns.contains(namePattern)) {
Collection<ProtoFile> localImportFiles = productConfig .getInterfaceConfigMap() .keySet() .stream()
/** * 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; }
public GapicProductConfig withPackageName(String packageName) { return new AutoValue_GapicProductConfig( getInterfaceConfigMap(), packageName, getDomainLayerLocation(), getReleaseLevel(), getResourceNameMessageConfigs(), getCopyrightLines(), getLicenseLines(), getResourceNameConfigs(), getProtoParser(), getTransportProtocol(), getDefaultResourceNameFieldConfigMap(), getConfigSchemaVersion(), enableStringFormattingFunctionsOverride()); }