Skip to content

Commit 12d1302

Browse files
authored
Merge pull request nasa#1459 from nasa/open1458
[Plot] Add current conductor bounds to telemetry requests via the old API.
2 parents b69e033 + 0941939 commit 12d1302

File tree

4 files changed

+66
-105
lines changed

4 files changed

+66
-105
lines changed

platform/features/conductor/compatibility/bundle.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,9 @@
2121
*****************************************************************************/
2222

2323
define([
24-
"./src/ConductorTelemetryDecorator",
2524
"./src/ConductorRepresenter",
2625
'legacyRegistry'
2726
], function (
28-
ConductorTelemetryDecorator,
2927
ConductorRepresenter,
3028
legacyRegistry
3129
) {
@@ -39,16 +37,6 @@ define([
3937
"openmct"
4038
]
4139
}
42-
],
43-
"components": [
44-
{
45-
"type": "decorator",
46-
"provides": "telemetryService",
47-
"implementation": ConductorTelemetryDecorator,
48-
"depends": [
49-
"openmct"
50-
]
51-
}
5240
]
5341
}
5442
});

platform/features/conductor/compatibility/src/ConductorTelemetryDecorator.js

Lines changed: 0 additions & 87 deletions
This file was deleted.

platform/telemetry/src/TelemetryCapability.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,9 @@ define(
139139
type = domainObject.getCapability("type"),
140140
typeRequest = (type && type.getDefinition().telemetry) || {},
141141
modelTelemetry = domainObject.getModel().telemetry,
142-
fullRequest = Object.create(typeRequest);
142+
fullRequest = Object.create(typeRequest),
143+
bounds,
144+
timeSystem;
143145

144146
// Add properties from the telemetry field of this
145147
// specific domain object.
@@ -160,6 +162,19 @@ define(
160162
fullRequest.key = domainObject.getId();
161163
}
162164

165+
if (request.start === undefined && request.end === undefined) {
166+
bounds = this.openmct.conductor.bounds();
167+
fullRequest.start = bounds.start;
168+
fullRequest.end = bounds.end;
169+
}
170+
171+
if (request.domain === undefined) {
172+
timeSystem = this.openmct.conductor.timeSystem();
173+
if (timeSystem !== undefined) {
174+
fullRequest.domain = timeSystem.metadata.key;
175+
}
176+
}
177+
163178
return fullRequest;
164179
};
165180

platform/telemetry/test/TelemetryCapabilitySpec.js

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,22 @@ define(
9797
});
9898

9999
mockAPI = {
100-
telemetry: mockTelemetryAPI
100+
telemetry: mockTelemetryAPI,
101+
conductor: {
102+
bounds: function () {
103+
return {
104+
start: 0,
105+
end: 1
106+
};
107+
},
108+
timeSystem: function () {
109+
return {
110+
metadata: {
111+
key: 'mockTimeSystem'
112+
}
113+
};
114+
}
115+
}
101116
};
102117

103118
telemetry = new TelemetryCapability(
@@ -133,7 +148,8 @@ define(
133148
id: "testId", // from domain object
134149
source: "testSource", // from model
135150
key: "testKey", // from model
136-
start: 42 // from argument
151+
start: 42, // from argument
152+
domain: 'mockTimeSystem'
137153
}]);
138154
});
139155

@@ -150,7 +166,10 @@ define(
150166
expect(telemetry.getMetadata()).toEqual({
151167
id: "testId", // from domain object
152168
source: "testSource",
153-
key: "testKey"
169+
key: "testKey",
170+
start: 0,
171+
end: 1,
172+
domain: 'mockTimeSystem'
154173
});
155174
});
156175

@@ -164,7 +183,10 @@ define(
164183
expect(telemetry.getMetadata()).toEqual({
165184
id: "testId", // from domain object
166185
source: "testSource", // from model
167-
key: "testId" // from domain object
186+
key: "testId", // from domain object
187+
start: 0,
188+
end: 1,
189+
domain: 'mockTimeSystem'
168190
});
169191
});
170192

@@ -243,7 +265,10 @@ define(
243265
[{
244266
id: "testId", // from domain object
245267
source: "testSource",
246-
key: "testKey"
268+
key: "testKey",
269+
start: 0,
270+
end: 1,
271+
domain: 'mockTimeSystem'
247272
}]
248273
);
249274

@@ -260,8 +285,28 @@ define(
260285
expect(mockUnsubscribe).not.toHaveBeenCalled();
261286
subscription(); // should be an unsubscribe function
262287
expect(mockUnsubscribe).toHaveBeenCalled();
288+
});
289+
290+
it("applies time conductor bounds if request bounds not defined", function () {
291+
var fullRequest = telemetry.buildRequest({});
292+
var mockBounds = mockAPI.conductor.bounds();
293+
294+
expect(fullRequest.start).toBe(mockBounds.start);
295+
expect(fullRequest.end).toBe(mockBounds.end);
296+
297+
fullRequest = telemetry.buildRequest({start: 10, end: 20});
298+
299+
expect(fullRequest.start).toBe(10);
300+
expect(fullRequest.end).toBe(20);
301+
});
263302

303+
it("applies domain from time system if none defined", function () {
304+
var fullRequest = telemetry.buildRequest({});
305+
var mockTimeSystem = mockAPI.conductor.timeSystem();
306+
expect(fullRequest.domain).toBe(mockTimeSystem.metadata.key);
264307

308+
fullRequest = telemetry.buildRequest({domain: 'someOtherDomain'});
309+
expect(fullRequest.domain).toBe('someOtherDomain');
265310
});
266311
});
267312
}

0 commit comments

Comments
 (0)