[Add] Cache models on instantiation

...to remove need for Edit to persist these immediately, which in
turn causes #770 and #678
This commit is contained in:
Victor Woeltjen
2016-03-21 10:18:06 -07:00
parent ad4c456ca2
commit 17faf000b0
5 changed files with 86 additions and 12 deletions

View File

@@ -44,10 +44,15 @@ define(
* @param {IdentifierService} identifierService service to generate
* new identifiers
*/
function Instantiate(capabilityService, identifierService) {
function Instantiate(
capabilityService,
identifierService,
cacheService
) {
return function (model, id) {
var capabilities = capabilityService.getCapabilities(model);
id = id || identifierService.generate();
cacheService.put(id, model);
return new DomainObjectImpl(id, model, capabilities);
};
}