| /////////////////////////////////////////////////////////////////////////////// |
| // Copyright (c) 2000-2019 Ericsson Telecom AB Telecom AB // |
| // // |
| // All rights reserved. This program and the accompanying materials // |
| // are made available under the terms of the Eclipse Public License v2.0 // |
| // which accompanies this distribution, and is available at // |
| // https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html // |
| /////////////////////////////////////////////////////////////////////////////// |
| function DataGenerator() {
|
|
|
| var LISTLENGTH = 3;
|
|
|
| var TypeEnum = {
|
| intType : 1,
|
| floatType : 2,
|
| boolType : 3,
|
| charstringType : 4,
|
| octetstringType : 5,
|
| hexstringType : 6,
|
| bitstringType : 7,
|
| integerlistType : 8,
|
| floatlistType : 9,
|
| charstringlistType : 10,
|
| statusLEDType : 11
|
| }
|
|
|
| function genPredef(content, tp) {
|
| var obj = {
|
| node : {
|
| val : content,
|
| tp : tp
|
| }
|
| };
|
| return obj;
|
| }
|
|
|
| function genString(source, element) {
|
| var obj = {
|
| node : {
|
| val : source + " " + element,
|
| tp : TypeEnum.charstringType
|
| }
|
| }
|
| return obj;
|
| }
|
|
|
| function genStringList(source, element) {
|
| var obj = {list : []};
|
| for (var i = 0; i < LISTLENGTH; ++i) {
|
| var stringnode = genString(source, element);
|
| stringnode.node.val += " " + i;
|
| obj.list.push(stringnode);
|
| }
|
| return obj;
|
| }
|
|
|
| function genInt(source, element) {
|
| var obj = {
|
| node : {
|
| val : Math.floor((Math.random() * 5) + 1),
|
| tp : TypeEnum.intType
|
| }
|
| }
|
| return obj;
|
| }
|
|
|
| function genIntList(source, element) {
|
| var obj = {list : []};
|
| for (var i = 0; i < LISTLENGTH; ++i) {
|
| obj.list.push(genInt(source, element));
|
| }
|
| return obj;
|
| }
|
|
|
| function genFloat(source, element) {
|
| var obj = {
|
| node : {
|
| val : Math.random(),
|
| tp : TypeEnum.floatType
|
| }
|
| }
|
| return obj;
|
| }
|
|
|
| function genFloatList(source, element) {
|
| var number = Math.floor((Math.random() * 5) + 1);
|
| var obj = {list : []};
|
| for (var i = 0; i < LISTLENGTH; ++i) {
|
| obj.list.push(genFloat(source, element));
|
| }
|
| return obj;
|
| }
|
|
|
| function genBool(source, element) {
|
| var obj = {
|
| node : {
|
| val : Math.floor((Math.random() * 2)) == 0,
|
| tp : TypeEnum.boolType
|
| }
|
| }
|
| return obj;
|
| }
|
|
|
| function genStatusLEDType(source, element) {
|
| var LedList = [
|
| "[led:blue]Idle",
|
| "[led:blue]Stopped",
|
| "[led:black]Off",
|
| "[led:green]Running",
|
| "[led:red]Stopping"
|
| ];
|
| var number = Math.floor((Math.random() * LedList.length));
|
| var obj = {
|
| node : {
|
| val : LedList[number],
|
| tp : TypeEnum.statusLEDType
|
| }
|
| }
|
| return obj;
|
| }
|
|
|
| this.generateContent = function(source, element, type) {
|
| var obj;
|
|
|
| switch (type) {
|
| case "intType":
|
| obj = genInt(source, element);
|
| break;
|
| case "floatType":
|
| obj = genFloat(source, element);
|
| break;
|
| case "boolType":
|
| obj = genBool(source, element);
|
| break;
|
| case "charstringType":
|
| obj = genString(source, element);
|
| break;
|
| case "charstringlistType":
|
| obj = genStringList(source, element);
|
| break;
|
| case "floatlistType":
|
| obj = genFloatList(source, element);
|
| break;
|
| case "integerlistType":
|
| obj = genIntList(source, element);
|
| break;
|
| case "statusLEDType":
|
| obj = genStatusLEDType(source, element);
|
| break;
|
| default:
|
| mlog("Unsupported type, using charstringType: ", "source: " + source, "element: " + element, "type: " + type, "");
|
| obj = genString(source, element, TypeEnum.charstringType);
|
| break;
|
| }
|
|
|
| return obj;
|
| }
|
| } |