efunc: generate map data

Change-Id: I613166d3ebc016fc1c37bff61a909ab60aae8836
diff --git a/web/gui/src/main/webapp/app/fw/util/ee.js b/web/gui/src/main/webapp/app/fw/util/ee.js
new file mode 100644
index 0000000..43455c2
--- /dev/null
+++ b/web/gui/src/main/webapp/app/fw/util/ee.js
@@ -0,0 +1,62 @@
+/*
+ *  Copyright 2016 Open Networking Laboratory
+ *
+ *  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.
+ */
+
+/*
+ ONOS GUI -- Util -- EE functions
+ */
+(function () {
+    'use strict';
+
+    // injected services
+    var fs;
+
+    // function references
+    var fcc = String.fromCharCode;
+
+    function computeTransform(x) {
+        var m = x.split(':'),
+            h = Number(m[0]),
+            d = m[1],
+            n = d.length,
+            w = [],
+            i;
+
+        for (i = 0; i<n; i+=2)
+            w.push(fcc(Number(d.slice(i, i+2))));
+
+        return fs.eecode(h, w.join(''));
+    }
+
+    function genMap(data) {
+        var map = {};
+
+        data.forEach(function (x) {
+            var r = computeTransform(x);
+            map['shift' + r.e] = r.o.toLowerCase() + '.bin';
+        });
+        return map;
+    }
+
+    angular.module('onosUtil')
+    .factory('EeService',
+    ['FnService', function (_fs_) {
+        fs = _fs_;
+
+        return {
+            genMap: genMap
+        }
+    }]);
+}());
diff --git a/web/gui/src/main/webapp/index.html b/web/gui/src/main/webapp/index.html
index 3d22c9a..5266d89 100644
--- a/web/gui/src/main/webapp/index.html
+++ b/web/gui/src/main/webapp/index.html
@@ -41,6 +41,7 @@
     <script src="app/directives.js"></script>
 
     <script src="app/fw/util/util.js"></script>
+    <script src="app/fw/util/ee.js"></script>
     <script src="app/fw/util/fn.js"></script>
     <script src="app/fw/util/random.js"></script>
     <script src="app/fw/util/theme.js"></script>