private Model setupModel() { // Prevent INFO messages from polluting the log. Logger.getLogger("").setLevel(Level.WARNING); try { serviceConfig = generateServiceConfig(); } catch (IOException e) { getDiagCollector().addDiag(Diag.error(SimpleLocation.TOPLEVEL, "Unexpected exception:%n%s", Throwables.getStackTraceAsString(e))); } model = Model.create(serviceConfig); onErrorsExit(); // Register standard processors. StandardSetup.registerStandardProcessors(model); // Register standard config aspects. StandardSetup.registerStandardConfigAspects(model); return model; }
private Model setupModel() { // Prevent INFO messages from polluting the log. Logger.getLogger("").setLevel(Level.WARNING); try { serviceConfig = generateServiceConfig(); } catch (IOException e) { getDiagCollector().addDiag(Diag.error(SimpleLocation.TOPLEVEL, "Unexpected exception:%n%s", Throwables.getStackTraceAsString(e))); } model = Model.create(serviceConfig); onErrorsExit(); // Register standard processors. StandardSetup.registerStandardProcessors(model); // Register standard config aspects. StandardSetup.registerStandardConfigAspects(model); return model; }
/** Returns a {@link Model} generated from the {@link Service} and the additionalConfigs. */ private static Model createModel(Service service, List<FileWrapper> additionalConfigs) { Model model = Model.create(service); if (additionalConfigs != null) { List<ConfigSource> allConfigs = Lists.newArrayList(); allConfigs.add(model.getServiceConfigSource()); for (FileWrapper additionalConfig : additionalConfigs) { allConfigs.add( YamlReader.readConfig( model.getDiagReporter().getDiagCollector(), additionalConfig.getFilename(), additionalConfig.getFileContents().toStringUtf8())); } model.setConfigSources(allConfigs); } StandardSetup.registerStandardProcessors(model); StandardSetup.registerStandardConfigAspects(model); return model; } }
/** Returns a {@link Model} generated from the {@link Service} and the additionalConfigs. */ private static Model createModel(Service service, List<FileWrapper> additionalConfigs) { Model model = Model.create(service); if (additionalConfigs != null) { List<ConfigSource> allConfigs = Lists.newArrayList(); allConfigs.add(model.getServiceConfigSource()); for (FileWrapper additionalConfig : additionalConfigs) { allConfigs.add( YamlReader.readConfig( model.getDiagReporter().getDiagCollector(), additionalConfig.getFilename(), additionalConfig.getFileContents().toStringUtf8())); } model.setConfigSources(allConfigs); } StandardSetup.registerStandardProcessors(model); StandardSetup.registerStandardConfigAspects(model); return model; } }
/** * Creates a model from a normalized service config, rather than from descriptor and .yaml files. */ public static Model create(Service normalizedConfig) { FileDescriptorSet regeneratedDescriptor = DescriptorGenerator.generate(normalizedConfig); Model model = create(regeneratedDescriptor); // Configured with a stripped Service Service.Builder builder = normalizedConfig.toBuilder(); ImmutableList.Builder<Api> strippedApis = ImmutableList.builder(); for (Api api : normalizedConfig.getApisList()) { strippedApis.add( Api.newBuilder().setName(api.getName()).setVersion(api.getVersion()).build()); } // NOTE: Documentation may still contain text from the original protos. builder.clearEnums(); builder.clearTypes(); builder.clearApis(); builder.addAllApis(strippedApis.build()); ConfigSource strippedConfig = ConfigSource.newBuilder(builder.build()).build(); model.setConfigSources(ImmutableList.of(strippedConfig)); return model; }
/** Creates a model, based on the provided config files. */ public Model createModel(List<String> configFileNames) { try { Model model = Model.create(getDescriptor(), protoFiles, enabledExperiments, ExtensionPool.EMPTY); model.setConfigSources( getApiYamlConfigSources(model.getDiagReporter().getDiagCollector(), configFileNames)); return model; } catch (IOException e) { throw new RuntimeException(e); } }
/** * Creates a model from a normalized service config, rather than from descriptor and .yaml files. */ public static Model create(Service normalizedConfig) { FileDescriptorSet regeneratedDescriptor = DescriptorGenerator.generate(normalizedConfig); Model model = create(regeneratedDescriptor); // Configured with a stripped Service Service.Builder builder = normalizedConfig.toBuilder(); ImmutableList.Builder<Api> strippedApis = ImmutableList.builder(); for (Api api : normalizedConfig.getApisList()) { strippedApis.add( Api.newBuilder().setName(api.getName()).setVersion(api.getVersion()).build()); } // NOTE: Documentation may still contain text from the original protos. builder.clearEnums(); builder.clearTypes(); builder.clearApis(); builder.addAllApis(strippedApis.build()); ConfigSource strippedConfig = ConfigSource.newBuilder(builder.build()).build(); model.setConfigSources(ImmutableList.of(strippedConfig)); return model; }
@Test public void resolvesOkFromProtoc() { Model testApi = Model.create(descriptors); testApi.registerProcessor(new Resolver()); Truth.assertThat(testApi.establishStage(Resolved.KEY)).isTrue(); Truth.assertThat(testApi.getDiagReporter().getDiagCollector().hasErrors()).isFalse(); StageValidator.assertStages(ImmutableList.<Key<?>>of(Resolved.KEY), testApi); }
String clientPackage, String... baseNames) { Model model = Model.create(Service.getDefaultInstance()); GapicProductConfig productConfig = GapicProductConfig.createDummyInstance(); PackageMetadataConfig packageConfig = PackageMetadataConfig.createDummyPackageMetadataConfig();
Model.create( descriptor, protoFileNames,
Model.create( descriptor, protoFileNames,
@Test public void resolvesOkWithPartialNames() { // Modify the descriptor. Protoc generates full names, and // we want to check whether we can also deal with partial names. FileDescriptorSet.Builder builder = descriptors.toBuilder(); builder .getFileBuilder(0) .getMessageTypeBuilder(0) .getFieldBuilder(1) // required N n .setTypeName("N"); Model testApi = Model.create(builder.build()); testApi.registerProcessor(new Resolver()); Truth.assertThat(testApi.establishStage(Resolved.KEY)).isTrue(); Truth.assertThat(testApi.getDiagReporter().getDiagCollector().hasErrors()).isFalse(); }
private void restify(MethodKind httpKind, String simpleName, String template) { Model model = Model.create(FileDescriptorSet.getDefaultInstance());
Model model = Model.create(generatedServiceConfig); StandardSetup.registerStandardConfigAspects(model); StandardSetup.registerStandardProcessors(model);
@Test public void resolvesWithErrors() { // Modify the descriptor injecting some errors. FileDescriptorSet.Builder builder = descriptors.toBuilder(); builder .getFileBuilder(0) .getMessageTypeBuilder(0) .getFieldBuilder(1) // required N n .setTypeName("undef_N"); builder .getFileBuilder(0) .getMessageTypeBuilder(0) .getFieldBuilder(2) // optional E e .setTypeName("undef_E"); Model testApi = Model.create(builder.build()); testApi.registerProcessor(new Resolver()); Truth.assertThat(testApi.establishStage(Resolved.KEY)).isFalse(); Truth.assertThat(testApi.getDiagReporter().getDiagCollector().getErrorCount()).isEqualTo(2); assertThat(testApi.getDiagReporter().getDiagCollector().getDiags().get(0).toString()) .contains("undef_N"); assertThat(testApi.getDiagReporter().getDiagCollector().getDiags().get(1).toString()) .contains("undef_E"); } }