Ticket #895 (closed Task: fixed)

Opened 5 years ago

Last modified 5 years ago

Core API: remove "maxResultSize" parameter

Reported by: jri Owned by: jri
Priority: Major Milestone: Release 4.8
Component: DeepaMehta Standard Distribution Version: 4.7
Keywords: Cc: dgf, Malte, JuergeN
Complexity: 3 Area: Application Framework / API
Module: deepamehta-core

Description

The maxResultSize parameter was introduced in DM 4.0.4 in conjunction with the "Result Limit" feature (see #98). However the Result Limit feature is not supported since DM 4.0.14 anymore. It was dropped in the course of the storage layer reimplementation.

To not confuse developers the remainders of the Result Limit feature should be dropped completely, in particular:

  • Remove the maxResultSize parameter from all Core API methods.
  • Remove the max_result_size parameter from all RESTClient methods.
  • Remove the totalCount field from ResultSet.
  • Remove the total_count JSON property from result set serialization.

Change History

comment:1 Changed 5 years ago by jri

  • Status changed from new to accepted

comment:2 Changed 5 years ago by Jörg Richter <jri@…>

In baf7190d16b5f80e2cd72cca177f9bdcf8f68a56/deepamehta:

Core: remove result limit remainders (#895).

BREAKING CHANGES

Core API:

  • Remove maxResultSize parameter from all methods
  • Class ResultList:
    • Remove totalCount parameter from constructor
    • Remove getTotalCount() method

REST API:

  • Remove total_count JSON property from result lists

RESTClient:

  • Remove max_result_size parameter from all methods

See #895.

comment:3 Changed 5 years ago by jri

  • Status changed from accepted to closed
  • Resolution set to fixed

comment:4 Changed 5 years ago by Jörg Richter <jri@…>

In f7efd80ed860c706a79c9432748d6f246a53ecbb/deepamehta:

Core API: drop class ResultList (#941).

BREAKING CHANGES

Core API

1 class dropped:

de.deepamehta.core.service.ResultList

Since DM 4.8 all methods which returned a ResultList now return a plain java.util.List.

Background: ResultList once was instroduced in conjunction with the "Result Limit" feature but that feature is abandoned for quite a while (see #895). This makes the API uniform as the develper must no longer treat ResultList and List results differently.

1 new method in DeepaMehtaUtils:

public static <T extends DeepaMehtaObject> List<T> loadChildTopics(List<T> objects)

Before 4.8 this method was located in ResultList? and is now a static utility.

REST API

As a consequence all responses which returned a "ResultList?" now return the plain result array.

Pre-4.8 response:

{
    items: [...]
}

Since 4.8:

[...]

3rd-party clients (which do not rely on the Webclient's rest_client.js) must be adapted.

These REST API calls are affected:

Core

GET /core/topic/{id}/related_topics
GET /core/topic/{id}/related_assocs
GET /core/association/{id}/related_topics
GET /core/association/{id}/related_assocs

Webclient

GET /webclient/topic/{id}/related_topics

Contacts

GET /contact/{id}/institutions
GET /contact/{id}/persons

Events

GET /event/participant/{id}
GET /event/{id}/participants

Factes

GET /facet/multi/{facet_type_uri}/topic/{id}

See #941.

Note: See TracTickets for help on using tickets.