@Override public boolean run(Model model) { log.append("stage1"); testModel.putAttribute(stage1, true); return true; } });
@Override public boolean run(Model model) { log.append("stage2"); testModel.putAttribute(stage2, true); return true; } });
@Override public void startMerging() { // Attach the RestAnalyzer to the model so we can retrieve it during merging. getModel().putAttribute(REST_ANALYZER_KEY, new RestAnalyzer(this)); }
@Override public void startMerging() { // Attach the RestAnalyzer to the model so we can retrieve it during merging. getModel().putAttribute(REST_ANALYZER_KEY, new RestAnalyzer(this)); }
public static <A> A withScopedModel( final Model model, @Nullable String endpoint, Supplier<A> action) { Scoper savedScoper = model.getScoper(); String savedEndpoint = model.getAttribute(ENDPOINT_FILTER_KEY); try { scopeModel(model, endpoint); return action.get(); } finally { model.setScoper(savedScoper); if (savedEndpoint != null) { model.putAttribute(ENDPOINT_FILTER_KEY, savedEndpoint); } } }
public static <A> A withScopedModel( final Model model, @Nullable String endpoint, Supplier<A> action) { Scoper savedScoper = model.getScoper(); String savedEndpoint = model.getAttribute(ENDPOINT_FILTER_KEY); try { scopeModel(model, endpoint); return action.get(); } finally { model.setScoper(savedScoper); if (savedEndpoint != null) { model.putAttribute(ENDPOINT_FILTER_KEY, savedEndpoint); } } }
@Override public void endMerging() { Model model = getModel(); // Attach the rest collections to the model. model.putAttribute( CollectionAttribute.KEY, model.getAttribute(REST_ANALYZER_KEY).finalizeAndGetCollections()); model.removeAttribute(REST_ANALYZER_KEY); super.endMerging(); }
@Override public void endMerging() { Model model = getModel(); // Attach the rest collections to the model. model.putAttribute( CollectionAttribute.KEY, model.getAttribute(REST_ANALYZER_KEY).finalizeAndGetCollections()); model.removeAttribute(REST_ANALYZER_KEY); super.endMerging(); }
/** * Scopes down a model based on a specified endpoint name. */ public static void scopeModel(final Model model, @Nullable String endpoint) { model.establishStage(Merged.KEY); endpoint = Strings.isNullOrEmpty(endpoint) ? model.getServiceConfig().getName() : endpoint; if (endpoint == null) { // If the endpoint is still null, that means the service config has no name, which means it // is a test config, and we should do nothing. return; } validateEndpoint(model, endpoint); model.putAttribute(ENDPOINT_FILTER_KEY, endpoint); model.setScoper(model.getScoper().restrict(new Predicate<ProtoElement>() { @Override public boolean apply(ProtoElement element) { return inEndpoint(model, element); } }, "")); }
@Override public void startMerging() { super.startMerging(); Documentation doc = getModel().getServiceConfig().getDocumentation(); getModel() .putAttribute( DocumentationPagesAttribute.KEY, DocumentationPagesAttribute.create(processDocumentPages(doc))); }
@Override public void startMerging() { super.startMerging(); Documentation doc = getModel().getServiceConfig().getDocumentation(); getModel() .putAttribute( DocumentationPagesAttribute.KEY, DocumentationPagesAttribute.create(processDocumentPages(doc))); }
@Override public void startMerging() { Service service = getModel().getServiceConfig(); List<Endpoint> sourceEndpoints = service.getEndpointsCount() != 0 ? service.getEndpointsList() : createDefaultEndpoints(service); checkForDuplicates(sourceEndpoints); List<Endpoint> processedEndpoints = populateDefaults(sourceEndpoints); getModel().putAttribute(EndpointUtil.ENDPOINTS_KEY, processedEndpoints); }
@Override public void startMerging() { Service service = getModel().getServiceConfig(); List<Endpoint> sourceEndpoints = service.getEndpointsCount() != 0 ? service.getEndpointsList() : createDefaultEndpoints(service); checkForDuplicates(sourceEndpoints); List<Endpoint> processedEndpoints = populateDefaults(sourceEndpoints); getModel().putAttribute(EndpointUtil.ENDPOINTS_KEY, processedEndpoints); }
@Override public boolean run(Model model) { Service.Builder normalizedConfig = model.getServiceConfig().toBuilder(); // Normalize descriptor. new DescriptorNormalizer(model).run(normalizedConfig); normalizeAspects(model, model.getConfigAspects(), normalizedConfig); model.setNormalizedConfig(normalizedConfig.build()); model.putAttribute(Normalized.KEY, new Normalized()); return true; }
@Override public boolean run(Model model) { Service.Builder normalizedConfig = model.getServiceConfig().toBuilder(); // Normalize descriptor. new DescriptorNormalizer(model).run(normalizedConfig); normalizeAspects(model, model.getConfigAspects(), normalizedConfig); model.setNormalizedConfig(normalizedConfig.build()); model.putAttribute(Normalized.KEY, new Normalized()); return true; }
private void merge(Method method) { // TODO(user): Cleanup the use of apiVersion restVersions (VersionAttribute vs // RestVersionsAttribute) in the tools framework. Some references are using the attributes // incorrectly due to the confusion caused by the names. String apiVersion = deriveApiVersion(method); Set<String> restVersions = calculateRestVersions(method); method.putAttribute(VersionAttribute.KEY, VersionAttribute.create(apiVersion)); // UM uses the logical version with a suffix appended, if defined. String versionSuffix = method.getModel().getApiV1VersionSuffix(); method.putAttribute(VersionAttribute.USAGE_MANAGER_KEY, VersionAttribute.create(ApiVersionUtil.appendVersionSuffix(apiVersion, versionSuffix))); // Add the rest versions into RestVersionsAttribute only if parent of the method is included in // the model roots. if (roots.contains(method.getParent())) { if (getModel().hasAttribute(RestVersionsAttribute.KEY)) { getModel().getAttribute(RestVersionsAttribute.KEY).getVersions().addAll(restVersions); } else { getModel().putAttribute(RestVersionsAttribute.KEY, new RestVersionsAttribute(restVersions)); } } }
@Override public boolean run(Model model) { int oldErrorCount = model.getDiagReporter().getDiagCollector().getErrorCount(); SymbolTable symbolTable = new SymbolTableBuilder(model).run(); model.setSymbolTable(symbolTable); new ReferenceResolver(model, symbolTable).run(); if (oldErrorCount == model.getDiagReporter().getDiagCollector().getErrorCount()) { // No new errors produced -- success. model.putAttribute(Resolved.KEY, new Resolved()); return true; } return false; } }
@Override public boolean run(Model model) { int oldErrorCount = model.getDiagReporter().getDiagCollector().getErrorCount(); SymbolTable symbolTable = new SymbolTableBuilder(model).run(); model.setSymbolTable(symbolTable); new ReferenceResolver(model, symbolTable).run(); if (oldErrorCount == model.getDiagReporter().getDiagCollector().getErrorCount()) { // No new errors produced -- success. model.putAttribute(Resolved.KEY, new Resolved()); return true; } return false; } }
@Override public void startMerging() { getModel().putAttribute(USAGE_KEY, getModel().getServiceConfig().getUsage()); for (int i = 0; i < getModel().getServiceConfig().getUsage().getRequirementsCount(); ++i) { validateRequirement( MessageLocationContext.createForRepeatedByFieldName( getModel().getServiceConfig().getUsage(), Usage.REQUIREMENTS_FIELD_NUMBER, i), getModel().getServiceConfig().getUsage().getRequirements(i)); } super.startMerging(); }
@Override public void startMerging() { getModel().putAttribute(USAGE_KEY, getModel().getServiceConfig().getUsage()); for (int i = 0; i < getModel().getServiceConfig().getUsage().getRequirementsCount(); ++i) { validateRequirement( MessageLocationContext.createForRepeatedByFieldName( getModel().getServiceConfig().getUsage(), Usage.REQUIREMENTS_FIELD_NUMBER, i), getModel().getServiceConfig().getUsage().getRequirements(i)); } super.startMerging(); }