private static Endpoint getEndpointConfig(Model model, final String endpoint) { List<Endpoint> endpointConfigs = model.getAttribute(ENDPOINTS_KEY); return Iterables.tryFind(endpointConfigs, new Predicate<Endpoint>() { @Override public boolean apply(Endpoint input) { return endpoint.equals(input.getName()); } }).orNull(); } }
private static Endpoint getEndpointConfig(Model model, final String endpoint) { List<Endpoint> endpointConfigs = model.getAttribute(ENDPOINTS_KEY); return Iterables.tryFind(endpointConfigs, new Predicate<Endpoint>() { @Override public boolean apply(Endpoint input) { return endpoint.equals(input.getName()); } }).orNull(); } }
/** Get the documentation pages from given model. */ public static List<Page> getToplevelPages(Model model) { return model.hasAttribute(DocumentationPagesAttribute.KEY) ? model.getAttribute(DocumentationPagesAttribute.KEY).toplevelPages() : ImmutableList.<Page>of(); }
/** Get the documentation pages from given model. */ public static List<Page> getToplevelPages(Model model) { return model.hasAttribute(DocumentationPagesAttribute.KEY) ? model.getAttribute(DocumentationPagesAttribute.KEY).toplevelPages() : ImmutableList.<Page>of(); }
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 HttpAttribute apply(HttpRule additionalRule) { HttpAttribute binding = constructBinding(method, additionalRule, isFromIdl, null, false); if (binding != null) { resolve(binding, method); // Construct REST method. binding.setRestMethod( getModel().getAttribute(REST_ANALYZER_KEY).analyzeMethod(method, binding)); } return binding; } });
@Override public void startNormalization(Service.Builder builder) { builder.setUsage(getModel().getAttribute(USAGE_KEY)); super.startNormalization(builder); }
@Override public void startNormalization(Service.Builder builder) { builder.clearEndpoints(); builder.addAllEndpoints(getModel().getAttribute(EndpointUtil.ENDPOINTS_KEY)); }
@Override public void startNormalization(Service.Builder builder) { builder.clearEndpoints(); builder.addAllEndpoints(getModel().getAttribute(EndpointUtil.ENDPOINTS_KEY)); }
@Override public void startNormalization(Service.Builder builder) { builder.setUsage(getModel().getAttribute(USAGE_KEY)); super.startNormalization(builder); }
@Override public HttpAttribute apply(HttpRule additionalRule) { HttpAttribute binding = constructBinding(method, additionalRule, isFromIdl, null, false); if (binding != null) { resolve(binding, method); // Construct REST method. binding.setRestMethod( getModel().getAttribute(REST_ANALYZER_KEY).analyzeMethod(method, binding)); } return binding; } });
private static boolean inEndpoint(Model model, ProtoElement element) { String endpoint = model.getAttribute(ENDPOINT_FILTER_KEY); if (element instanceof ProtoFile) { return true; } else if (element instanceof Interface) { Endpoint endpointConfig = getEndpointConfig(model, endpoint); if (endpointConfig != null) { return true; } return false; } else { return inEndpoint(model, element.getParent()); } }
private static boolean inEndpoint(Model model, ProtoElement element) { String endpoint = model.getAttribute(ENDPOINT_FILTER_KEY); if (element instanceof ProtoFile) { return true; } else if (element instanceof Interface) { Endpoint endpointConfig = getEndpointConfig(model, endpoint); if (endpointConfig != null) { return true; } return false; } else { return inEndpoint(model, element.getParent()); } }
@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(); }
@Override public void startNormalization(Service.Builder builder) { super.startNormalization(builder); if (getModel().hasAttribute(DocumentationPagesAttribute.KEY)) { Documentation.Builder docBuilder = builder.getDocumentationBuilder(); docBuilder.clearPages(); docBuilder.addAllPages( getModel().getAttribute(DocumentationPagesAttribute.KEY).toplevelPages()); } }
@Override public void startNormalization(Service.Builder builder) { super.startNormalization(builder); if (getModel().hasAttribute(DocumentationPagesAttribute.KEY)) { Documentation.Builder docBuilder = builder.getDocumentationBuilder(); docBuilder.clearPages(); docBuilder.addAllPages( getModel().getAttribute(DocumentationPagesAttribute.KEY).toplevelPages()); } }
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)); } } }
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)); } } }