private static void registerValidators(Model model) { model.registerValidator(new HttpConfigAspectValidator(model.getDiagReporter())); model.registerValidator(new QuotaUnitValidator(model.getDiagReporter())); model.registerValidator(new QuotaLimitValuesValidator(model.getDiagReporter())); model.registerValidator(new QuotaLimitNameValidator(model.getDiagReporter())); model.registerValidator(new QuotaMetricRuleValidator(model.getDiagReporter())); model.registerValidator(new QuotaMetricsExistValidator(model.getDiagReporter())); model.registerValidator(new AuthenticationValidator(model.getDiagReporter())); }
@Override public List<Diag> getDiags() { return model.getDiagReporter().getDiagCollector().getDiags(); } };
@Override public List<Diag> getDiags() { return model.getDiagReporter().getDiagCollector().getDiags(); } };
private static void validateEndpoint(Model model, final String endpoint) { if (getEndpointConfig(model, endpoint) == null) { model .getDiagReporter() .reportError( ResolvedLocation.create(SimpleLocation.TOPLEVEL), "endpoint: Primary endpoint name '%s' does not exist in the config.", endpoint); } }
private static void validateEndpoint(Model model, final String endpoint) { if (getEndpointConfig(model, endpoint) == null) { model .getDiagReporter() .reportError( ResolvedLocation.create(SimpleLocation.TOPLEVEL), "endpoint: Primary endpoint name '%s' does not exist in the config.", endpoint); } }
private void warning(String message, Object... args) { model .getDiagReporter() .getDiagCollector() .addDiag(Diag.warning(SimpleLocation.TOPLEVEL, message, args)); } }
private void error(String message, Object... args) { model .getDiagReporter() .getDiagCollector() .addDiag(Diag.error(SimpleLocation.TOPLEVEL, message, args)); }
/** * Returns {@link DocumentationProcessorSet} with standard processors registered. */ public static DocumentationProcessorSet standardSetup(Model model) { return new DocumentationProcessorSet( Lists.newArrayList( new CommentReferenceResolver(model), new SourceNormalizer(model.getDiagReporter(), model.getDataPath()), new CommentChecker(model.getDiagReporter()))); }
/** * Returns {@link DocumentationProcessorSet} with standard processors registered. */ public static DocumentationProcessorSet standardSetup(Model model) { return new DocumentationProcessorSet( Lists.newArrayList( new CommentReferenceResolver(model), new SourceNormalizer(model.getDiagReporter(), model.getDataPath()), new CommentChecker(model.getDiagReporter()))); }
private ConfigSource loadConfigFromFiles(List<String> configFileNames) { List<File> configFiles = pathsToFiles(configFileNames); if (model.getDiagReporter().getDiagCollector().getErrorCount() > 0) { return null; } ImmutableMap<String, Message> supportedConfigTypes = ImmutableMap.of( ConfigProto.getDescriptor().getFullName(), ConfigProto.getDefaultInstance()); return MultiYamlReader.read( model.getDiagReporter().getDiagCollector(), configFiles, supportedConfigTypes); }
@Override protected void process() throws IOException { // Suppress all lint warnings if the flag is true. if (options.get(SUPPRESS_WARNINGS)) { model.getDiagReporter().getDiagSuppressor().suppressAllWarningsUnder(model); } // Generate the normalized config. model.establishStage(Normalized.KEY); }
public static String getScopedDescription(ProtoElement element, boolean reportWarning) { Model model = element.getModel(); LocationContext location = ResolvedLocation.create(element.getLocation()); String internalCommentFilteredString = new CommentFilter(model.getDiagReporter(), location, model.getVisibilityLabels()) .process(getDescription(element)); return sanitizeTodos( model.getDiagReporter(), location, internalCommentFilteredString, reportWarning); }
@Override protected void process() throws IOException { // Suppress all lint warnings if the flag is true. if (options.get(SUPPRESS_WARNINGS)) { model.getDiagReporter().getDiagSuppressor().suppressAllWarningsUnder(model); } // Generate the normalized config. model.establishStage(Normalized.KEY); }
public static String getScopedDescription(ProtoElement element, boolean reportWarning) { Model model = element.getModel(); LocationContext location = ResolvedLocation.create(element.getLocation()); String internalCommentFilteredString = new CommentFilter(model.getDiagReporter(), location, model.getVisibilityLabels()) .process(getDescription(element)); return sanitizeTodos( model.getDiagReporter(), location, internalCommentFilteredString, reportWarning); }
/** * Set a filter for warnings based on regular expression for aspect name. Only warnings containing * the aspect name pattern are produced. */ public void setWarningFilter(@Nullable String aspectNamePattern) { // Add as a pattern to the model. model .getDiagReporter() .getDiagSuppressor() .addPattern(model, String.format("^(?!.*(%s)).*", aspectNamePattern)); }
@Override protected void process() throws Exception { model.establishStage(Merged.KEY); if (model.getDiagReporter().getDiagCollector().getErrorCount() > 0) { for (Diag diag : model.getDiagReporter().getDiagCollector().getDiags()) { System.err.println(diag.toString()); } return; } Map<String, GeneratedResult<Doc>> results = generate(model); ToolUtil.writeFiles(GeneratedResult.extractBodies(results), options.get(OUTPUT_DIR)); }
private void assertError(final String phrase) { Assert.assertTrue(model.getDiagReporter().getDiagCollector().hasErrors()); Assert.assertTrue( Iterators.any( model.getDiagReporter().getDiagCollector().getDiags().iterator(), new Predicate<Diag>() { @Override public boolean apply(Diag diag) { return diag.getKind() == Kind.ERROR && diag.toString().contains(phrase); } })); }
@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); }
@Test public void mergesWithApiVersion() throws Exception { createApi("service_with_version.proto"); model.setConfigSources( testConfig.getApiYamlConfigSources( model.getDiagReporter().getDiagCollector(), ImmutableList.of("service_with_version.yaml"))); StandardSetup.registerStandardConfigAspects(model); model.establishStage(Merged.KEY); Interface iface = getInterface("protiary.test.v2.Storage"); Assert.assertEquals("v2", iface.getAttribute(VersionAttribute.KEY).majorVersion()); }
@Test public void mergesWithBetaVersion() throws Exception { createApi("service_with_beta_version.proto"); model.setConfigSources( testConfig.getApiYamlConfigSources( model.getDiagReporter().getDiagCollector(), ImmutableList.of("service_with_beta_version.yaml"))); StandardSetup.registerStandardConfigAspects(model); model.establishStage(Merged.KEY); Interface iface = getInterface("protiary.test.v2beta1.Storage"); Assert.assertEquals("v2beta1", iface.getAttribute(VersionAttribute.KEY).majorVersion()); }