protected Collection createCollection(List<?> list, ApiRequest request) { CollectionImpl collection = new CollectionImpl(); collection.setResourceType(request.getType()); for (Object obj : list) { Resource resource = createResource(request.getSchemaFactory(), obj); if (resource != null) { collection.getData().add(resource); if (collection.getResourceType() == null) { collection.setResourceType(resource.getType()); } } } return collection; }
protected void addFilters(CollectionImpl collection, ApiRequest request) { Schema schema = request.getSchemaFactory().getSchema(collection.getResourceType()); Map<String, List<Condition>> conditions = new TreeMap<String, List<Condition>>(request.getConditions()); for (String key : schema.getCollectionFilters().keySet()) { if (!conditions.containsKey(key)) { conditions.put(key, null); } } collection.setFilters(conditions); }
protected void addSort(CollectionImpl collection, ApiRequest request) { UrlBuilder urlBuilder = ApiContext.getUrlBuilder(); Set<String> sortLinks = getSortLinks(request.getSchemaFactory(), collection.getResourceType()); Map<String, URL> sortLinkMap = new TreeMap<String, URL>(); for (String sortLink : sortLinks) { URL sortUrl = urlBuilder.sort(sortLink); if (sortUrl != null) { sortLinkMap.put(sortLink, sortUrl); } } collection.setSortLinks(sortLinkMap); collection.setSort(request.getSort()); }
protected Collection createCollection(List<?> list, ApiRequest request) { CollectionImpl collection = new CollectionImpl(); if (request != null) { String collectionType = getCollectionType(list, request); collection.setResourceType(collectionType); collection.setCreateTypes(createTypes); collection.setCreateDefaults(request.getCreateDefaults()); Resource resource = convertResponse(obj, request); if (resource != null) { collection.getData().add(resource); if (collection.getResourceType() == null) { collection.setResourceType(resource.getType());
@Override protected void generate(ApiRequest request) throws IOException { if (request.getVersion() != null) return; UrlBuilder urlBuilder = ApiContext.getUrlBuilder(); List<Resource> apiVersions = new ArrayList<Resource>(); for (String version : versions.getVersions()) { apiVersions.add(new VersionImpl(version)); } CollectionImpl collection = new CollectionImpl(); collection.getLinks().put(UrlBuilder.LATEST, urlBuilder.version(versions.getLatest())); collection.getLinks().put(UrlBuilder.SELF, urlBuilder.current()); collection.setData(apiVersions); collection.setResourceType(apiVersions.get(0).getType()); request.setResponseObject(collection); }
@Override protected Collection createCollection(List<?> list, ApiRequest request) { Collection collection = super.createCollection(list, request); if (collection instanceof CollectionImpl) { if ("v1".equals(request.getVersion()) && collection instanceof CollectionImpl) { ((CollectionImpl) collection).setResourceType("environment"); } } return collection; }
protected void addPagination(List<?> list, CollectionImpl collection, ApiRequest request) { Pagination pagination = request.getPagination(); if (pagination == null) { return; } collection.setPagination(pagination.getResponse()); }