diff --git a/example/generator/bundle.json b/example/generator/bundle.json index b2050e07e9..6a182e6a7a 100644 --- a/example/generator/bundle.json +++ b/example/generator/bundle.json @@ -10,9 +10,9 @@ "depends": [ "$q", "$timeout" ] }, { - "implementation": "SinewaveDateProvider.js", + "implementation": "SinewaveTimeProvider.js", "type": "provider", - "provides": "dateService" + "provides": "timeService" } ], "capabilities": [ diff --git a/example/generator/src/SinewaveDateProvider.js b/example/generator/src/SinewaveTimeProvider.js similarity index 73% rename from example/generator/src/SinewaveDateProvider.js rename to example/generator/src/SinewaveTimeProvider.js index 9b819a8796..2f2bcc2391 100644 --- a/example/generator/src/SinewaveDateProvider.js +++ b/example/generator/src/SinewaveTimeProvider.js @@ -22,7 +22,9 @@ /*global define*/ define([ + './SinewaveTimeSystem' ], function ( + SinewaveTimeSystem ) { "use strict"; @@ -32,24 +34,19 @@ define([ * not necessarily be formatted as UTC dates. * @memberof example/generator * @constructor - * @implements {DateService} + * @implements {TimeService} */ - function SinewaveDateProvider() { + function SinewaveTimeProvider() { + this.indexTimeSystem = new SinewaveTimeSystem(); } - SinewaveDateProvider.prototype.validate = function (text, key) { - return key === 'generator.index' && /^#\d+$/.test(text); + SinewaveTimeProvider.prototype.systems = function () { + return [ 'generator.index' ]; }; - SinewaveDateProvider.prototype.format = function (value, key) { - return key === 'generator.index' ? - ('#' + Math.floor(value)) : - undefined; + SinewaveTimeProvider.prototype.system = function (key) { + return key === 'generator.index' ? this.indexTimeSystem : undefined; }; - SinewaveDateProvider.prototype.parse = function (text, key) { - return key === 'generator.index' && parseInt(key.substring(1), 10); - }; - - return SinewaveDateProvider; + return SinewaveTimeProvider; }); diff --git a/example/generator/src/SinewaveTimeSystem.js b/example/generator/src/SinewaveTimeSystem.js new file mode 100644 index 0000000000..c248de4bfd --- /dev/null +++ b/example/generator/src/SinewaveTimeSystem.js @@ -0,0 +1,55 @@ +/***************************************************************************** + * Open MCT Web, Copyright (c) 2014-2015, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT Web includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ +/*global define*/ + +define([ + './SinewaveTelemetrySeries' +], function ( + SinewaveTelemetrySeries +) { + "use strict"; + + function SinewaveTimeSystem(now) { + } + + SinewaveTimeSystem.prototype.format = function (value) { + return ('#' + Math.floor(value)); + }; + + SinewaveTimeSystem.prototype.parse = function (text) { + return parseInt(text.substring(1), 10); + }; + + SinewaveTimeSystem.prototype.validate = function (text) { + return (/^#\d+$/).test(text); + }; + + SinewaveTimeSystem.prototype.now = function () { + return new SinewaveTelemetrySeries().getPointCount(); + }; + + SinewaveTimeSystem.prototype.increment = function (scale) { + return Math.pow(10, (scale || 0) + 1); + }; + + return SinewaveTimeSystem; +});