Issue 11014

Apply eager loading convention to ALL responses

11014
Reporter: kbraak
Type: Improvement
Summary: Apply eager loading convention to ALL responses
Priority: Major
Resolution: Invalid
Status: Closed
Created: 2012-03-23 10:39:07.609
Updated: 2013-12-16 17:50:47.453
Resolved: 2013-12-10 16:37:06.417
        
Description: It does not matter if the object is part of a paging response or a single GET, the object's fields (and the object's field's fields, etc) should be eagerly loaded following a convention.

The agreed upon convention is, that:
-1st level entities: eagerly loaded
 -2nd level components: eagerly loaded
   -2nd level entities: load ONLY their main properties

In this way, contacts, endpoints, tags and further entities are only eagerly loaded for primary (1st level) entities.

For example:

TechnicalInstallation
   - name
   - description
   - hostingOrganization (2nd level entities load only their main properties)
       -name
       -description
   - identifiers (2nd level components eagerly loaded)
       -my id 1
       - my id 2

If we don't follow this consistent approach, we could be in danger of loading the entire graph!

Please see this wiki page for further information: http://dev.gbif.org/wiki/display/POR/Response+Conventions]]>
    


Author: kbraak@gbif.org
Comment: Today I ensured that NetworkEntityServices eagerly load the sub-resources (contacts, identifiers, tags, endpoints) on list(), not just the get(). Please see: http://code.google.com/p/gbif-registry/source/detail?r=2655 for the change
Created: 2012-04-17 18:03:08.158
Updated: 2012-04-17 18:03:08.158


Author: kbraak@gbif.org
Comment: Today I ensured the networkEntityKey is being populated for all subresources. See issue REG-211
Created: 2012-05-24 14:40:13.151
Updated: 2012-05-24 14:40:13.151


Author: kbraak@gbif.org
Comment: Invalid, since it relates to the former Registry version.
Created: 2013-12-10 16:37:06.44
Updated: 2013-12-10 16:37:06.44