diff --git a/platform/core/src/capabilities/PersistenceCapability.js b/platform/core/src/capabilities/PersistenceCapability.js index 8e1990892d..aacf48f2e1 100644 --- a/platform/core/src/capabilities/PersistenceCapability.js +++ b/platform/core/src/capabilities/PersistenceCapability.js @@ -60,11 +60,6 @@ define( this.$q = $q; } - function getKey(id) { - var parts = id.split(":"); - return parts.length > 1 ? parts.slice(1).join(":") : id; - } - /** * Checks if the value returned is falsey, and if so returns a * rejected promise @@ -131,7 +126,7 @@ define( // ...and persist return persistenceFn.apply(persistenceService, [ this.getSpace(), - getKey(domainObject.getId()), + this.getKey(), domainObject.getModel() ]).then(function (result) { return rejectIfFalsey(result, self.$q); @@ -159,7 +154,7 @@ define( return this.persistenceService.readObject( this.getSpace(), - this.domainObject.getId() + this.getKey() ).then(updateModel); }; @@ -178,6 +173,17 @@ define( return this.identifierService.parse(id).getSpace(); }; + + /** + * Get the key for this domain object in the given space. + * + * @returns {string} the key of the object in it's space. + */ + PersistenceCapability.prototype.getKey = function () { + var id = this.domainObject.getId(); + return this.identifierService.parse(id).getKey(); + }; + return PersistenceCapability; } ); diff --git a/platform/core/test/capabilities/PersistenceCapabilitySpec.js b/platform/core/test/capabilities/PersistenceCapabilitySpec.js index ca37936735..5c826dc602 100644 --- a/platform/core/test/capabilities/PersistenceCapabilitySpec.js +++ b/platform/core/test/capabilities/PersistenceCapabilitySpec.js @@ -101,6 +101,7 @@ define( }); mockIdentifierService.parse.andReturn(mockIdentifier); mockIdentifier.getSpace.andReturn(SPACE); + mockIdentifier.getKey.andReturn(id); persistence = new PersistenceCapability( mockCacheService, mockPersistenceService,