Commit Graph

204 Commits

Author SHA1 Message Date
e3afaf0842 [Entanglement] Add Go To Original
nasa/openmctweb#147
2015-10-06 16:26:08 -07:00
60f2f9fb6c [Location] Add getOriginal method
Add a getOriginal method to the location capability, to simplify
loading of original versions of objects. nasa/openmctweb#147
2015-10-06 16:18:51 -07:00
70bc17c79f Merge remote-tracking branch 'github-open/open97' into open-master 2015-09-23 13:44:48 -07:00
fa60d62039 [Entanglement] Simplify test case
...per review feedback from nasa/openmctweb#98
2015-09-23 12:49:04 -07:00
082122ddec [Entanglement] Move policyService.allow.andReturn
...to locations where the specified return value
can be more closely correlated to the relevant
test cases. nasa/openmctweb#98
2015-09-23 12:46:23 -07:00
6dbccd5000 [Entanglement] Update test cases around error-throwing
...per code review feedback, nasa/openmctweb#97
2015-09-23 12:43:03 -07:00
97892869ae [Entanglement] Move composition check up
Move check for composition up higher in the sequence of
if-blocks in the validation step of linking; remove
fallback to [] for undefined composition, which is no
longer necessary as a consequence of this.

nasa/openmctweb#98
2015-09-22 15:53:27 -07:00
8db334e45b Revert "[LinkService] Reorder/refactor validation"
This reverts commit c17269ba8b.
2015-09-22 15:51:15 -07:00
4743833f7c [Entanglement] Verify revalidation
Verify that move/copy/link revalidate when performed and
throw errors when moving/copying/linking would be invalid.
nasa/openmctweb#98
2015-09-22 15:49:22 -07:00
6996883b85 [Entanglement] Update specs
Update specs for move/copy/link services to account
for re-validation at time an action is performed.
nasa/openmctweb#98
2015-09-22 15:42:39 -07:00
119403e71c [Entanglement] Throw errors if validation is skipped
...per feedback from nasa/openmctweb#98
2015-09-22 14:39:15 -07:00
ff24f06475 [Entanglement] Add JSDoc
...per feedback from nasa/openmctweb#98
2015-09-22 14:10:06 -07:00
597b18af1c [LinkService] Amend test cases
Remove redundant test case; modify composition-checking
test case to expose correct capability information.
In response to feedback from nasa/openmctweb#98
2015-09-22 14:07:46 -07:00
b4a2bfd727 [LinkService] Change variable name
...based on feedback from nasa/openmctweb#98
2015-09-22 13:50:10 -07:00
55362f6b26 [LinkService] Clarify comment
Clarify comment, based on feedback from nasa/openmctweb#98
2015-09-22 13:48:11 -07:00
c17269ba8b [LinkService] Reorder/refactor validation
Reoder validation to consider the composition capability
first; refactor to express as a single expression to clarify
validation logic (explicitly say 'and' instead of implying
it with control flow.)

Based on feedback from nasa/openmctweb#98
2015-09-22 13:37:56 -07:00
411f0d904d [Entanglement] Test LocatingObjectDecorator 2015-09-17 14:45:05 -07:00
c4aed57165 [Entanglement] Refactor LocatingObjectDecorator
Rearrange code in LocatingObjectDecorator to make it easier to
follow; add comments.
2015-09-17 13:51:50 -07:00
88b8528aaf [Entanglement] Log a warning on cycle detection
nasa/openmctweb#84
2015-09-17 13:42:08 -07:00
d1c0d81120 [Entanglement] Contextualize objects by location
Add a context capability to domain objects based
on their location at the time they are loaded.
nasa/openmctweb#84
2015-09-17 13:37:57 -07:00
b2649de649 [Composition] Update specs
Update specs for changes to the return value of
composition.add, nasa/openmctweb#97
2015-09-02 11:45:52 -07:00
b1238b0c96 [Composition] Return newly-contextualized object
After adding to composition, return the newly-contextualized
object; this is regularly used by other services.
2015-09-02 11:37:47 -07:00
8759fdbd95 [Composition] Update specs
Update specs to reflect usage of the add method in
the composition capability.
2015-09-02 09:37:26 -07:00
d3d94d67ea [Composition] Use composition.add from LinkService 2015-09-02 09:16:58 -07:00
b39753d0a6 [Entanglement] Separate out location
Separate out location property from the CreationService,
instead handle in the entanglement bundle; this is
consistent with changes for identity management (attaching
a creator to newly-created domain object models).
for nasa/openmctweb#92
2015-09-01 10:57:56 -07:00
f27e4d6e06 Merge branch 'open-master' into open1482c
Merge in latest in preparation to merge; WTD-1482

Conflicts:
	platform/commonUI/browse/src/creation/CreationService.js
	platform/core/src/models/RootModelProvider.js
	platform/entanglement/src/services/LinkService.js
	platform/entanglement/src/services/MoveService.js
2015-08-19 15:00:52 -07:00
a94763041e [Move] correct logic and specification 2015-08-19 13:16:36 -07:00
26892e7104 [Location] isLink/isOriginal are antonyms
Simplify implementation of isLink/isOriginal for better maintainability.
2015-08-19 11:49:45 -07:00
94854e5965 [Location] can retrieve contextual location
Clarify naming of method for retrieving contextual location of a domain
object.

Default behavior for objects that do not have a context is to return
undefined.  Note that default behavior is not specified and could change
if needed.
2015-08-19 11:33:45 -07:00
9cf30f4213 [Location] setPrimaryLocation takes location.
Rename "persistLocation" to be more clearly named, and make it take an
argument to allow for greater control outside the capability.
2015-08-19 11:25:41 -07:00
eb776e69c0 [JSDoc] Document LocationCapability constructor 2015-08-19 11:13:24 -07:00
b93d752c88 [Code Style] Use prototypes in entanglement bundle
WTD-1482
2015-08-11 14:58:31 -07:00
31eb366e7f [JSDoc] Add namespace docs
WTD-1482.
2015-08-07 12:13:15 -07:00
c08a460d30 [JSDoc] Add annotations
Bulk-add JSDoc annotations, WTD-1482.
2015-08-07 11:44:54 -07:00
058a0d393d [Compatibility] Store reference instead of binding 2015-08-06 16:55:15 -07:00
c80e9bfa26 [Style] JSLint Compliance 2015-08-06 15:21:28 -07:00
f72f88adfa [Location] Use parent id as location
Use the parent id as the location for a model.

This greatly reduces the recursive work that must be done
during move operations to keep the location accurate.

Additionally, the locationService now implements a method
`persistLocation` which can be used to persist the current object
location as it's original location.
2015-08-06 15:05:47 -07:00
f083d019a3 [Entanglement] Move service recursively updates locations
When moving an object that supports composition, child objects which
are originals must have their location updated as well.  Children which
are links should not have their location updated, nor should any of
their children be updated.
2015-08-06 15:05:47 -07:00
10ec30ba76 [Entanglement] MoveService updates the location of moved objects
The move service updates the location of moved objects when those
objects are originals.
2015-08-06 15:05:46 -07:00
3fb4296d23 [Testing] MockLinkService returns linked object
MockLinkService.perform returns a promise for the linked domainObject.

When resolving the promise and not specifying an object to resolve it
with, it will resolve it with the domainObject that was originally
passed to it.
2015-08-06 15:05:46 -07:00
197ec0eb2c [Tests] Update Link Service Tests 2015-08-06 15:05:42 -07:00
1d162888dd [Tests] Fix location capability tests 2015-08-06 15:05:00 -07:00
3783ed69d7 [Entanglement] Move updates location of originals
When moving original objects, the location is updated to match the new
location.
2015-08-06 15:03:08 -07:00
4a755e259f [Entanglement] Link service returns object in new context
The link service return the object in the new context.
2015-08-06 14:55:50 -07:00
4c56e4ffdc [Test] add a synchronous controlled promise for testing
Add ControlledPromise, a synchronous promise that can be controlled,
allowing for easier testing of promise resolution flow.
2015-08-06 14:53:59 -07:00
9ea1d24121 [Entanglement] Add LocationCapability
DomainObjects with a context capability also gain a LocationCapability.

This capability allows you to determine the location of the current
instance of a domain object, and also provides methods for determining
if the current instance of a domain object is a link, or if it is an
original.
2015-08-04 11:24:50 -07:00
3a79801579 [Glyphs] Use placeholder glyphs for actions
Use placeholder glyphs for move, copy, link; completing
integration of #6.
2015-06-12 10:27:35 -07:00
bff272e326 [JSDoc] Add class-level documentation 2015-06-12 10:08:34 -07:00
d32c05a313 [Style] Add newline at end of file 2015-06-12 09:57:28 -07:00
11beea9dfd [Glyphs] New Glyphs for Actions 2015-06-12 09:56:22 -07:00