summaryrefslogtreecommitdiffstats
path: root/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module
diff options
context:
space:
mode:
authordemx8as6 <martin.skorupski@highstreet-technologies.com>2018-07-10 18:07:44 +0200
committerTimoney, Dan (dt5972) <dt5972@att.com>2018-07-11 16:30:28 -0400
commit27fb2d06608fbb070ae2c15a5580a4f5b2423d15 (patch)
treeccd717991b4e556b67f1fd2cacb345b4d174b41f /sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module
parent60315525ab5e7c12a9f47c409092e8dba6ad656d (diff)
Add seed code for sdnr app based on ONF Centennial
At this point in time all the Carbon code from ONF Centennial is added to ONAP. Later it needs to be refactored and modified for ODL Oxygen. Change-Id: Iff85dd940c05c3827f1c4e6f9542ecd060c58a46 Issue-ID: SDNC-374 Signed-off-by: demx8as6 <martin.skorupski@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module')
-rw-r--r--sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/pom.xml14
-rw-r--r--sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/logo_chat.gifbin0 -> 2046 bytes
-rw-r--r--sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat-custom.css3
-rw-r--r--sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.controller.js69
-rw-r--r--sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.module.js50
-rwxr-xr-xsdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.pngbin0 -> 1862 bytes
-rw-r--r--sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.services.js103
-rw-r--r--sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.tpl.html102
8 files changed, 341 insertions, 0 deletions
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/pom.xml b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/pom.xml
new file mode 100644
index 00000000..730c40b1
--- /dev/null
+++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>odlChat</artifactId>
+ <groupId>com.highstreet.technologies.odl.dlux</groupId>
+ <version>0.5.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>odlChat-module</artifactId>
+ <name>${prefix} ${project.artifactId}</name>
+ <packaging>jar</packaging>
+</project> \ No newline at end of file
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/logo_chat.gif b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/logo_chat.gif
new file mode 100644
index 00000000..deb44fd2
--- /dev/null
+++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/logo_chat.gif
Binary files differ
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat-custom.css b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat-custom.css
new file mode 100644
index 00000000..4d9f8d24
--- /dev/null
+++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat-custom.css
@@ -0,0 +1,3 @@
+/**
+ * Add your application related css here
+ */ \ No newline at end of file
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.controller.js b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.controller.js
new file mode 100644
index 00000000..310e05d5
--- /dev/null
+++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.controller.js
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2016 highstreet technologies GmbH and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+define(
+ [ 'app/odlChat/odlChat.module', 'app/odlChat/odlChat.services' ],
+ function(odlChatApp) {
+
+ var main = function($scope, $rootScope, $odlChat) {
+
+ $rootScope.section_logo = 'src/app/odlChat/odlChat.png';
+
+ $scope.collection = [];
+ $scope.chat = {
+ nickname : 'anonymous',
+ message : "Hey, what's up?!"
+ };
+
+ var listenToNotifications = function(socketLocation) {
+ try {
+ var notificatinSocket = new WebSocket(socketLocation);
+
+ notificatinSocket.onmessage = function(event) {
+ // we process our received event here
+ $odlChat.getData(event, function(info, tweet) {
+ $scope.collection.push(tweet);
+ if ($scope.collection.length > 20) {
+ $scope.collection.shift();
+ }
+
+ $scope.chat.message = info;
+ });
+ };
+ notificatinSocket.onerror = function(error) {
+ console.log("Socket error: " + JSON.stringify(error));
+ };
+ notificatinSocket.onopen = function(event) {
+ console.log("Socket connection opened.");
+ };
+ notificatinSocket.onclose = function(event) {
+ console.log("Socket connection closed.");
+ };
+ // if there is a problem on socket creation we get
+ // exception (i.e. when socket address is incorrect)
+ } catch (e) {
+ alert("Error when creating WebSocket" + e);
+ }
+ };
+
+ $scope.send = function(chat) {
+ $odlChat.send(chat, function(info) {
+ console.log(info);
+ });
+ };
+
+ var path = "/opendaylight-inventory:nodes/opendaylight-inventory:node[opendaylight-inventory:id='odlChat']";
+ $odlChat.register(path, function(socketLocation) {
+ listenToNotifications(socketLocation);
+ });
+ };
+
+ odlChatApp.register.controller('odlChatCtrl', [ '$scope', '$rootScope',
+ '$odlChat', main ]);
+
+ }); \ No newline at end of file
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.module.js b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.module.js
new file mode 100644
index 00000000..6bd5387f
--- /dev/null
+++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.module.js
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2016 highstreet technologies GmbH and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+define(['angularAMD', 'app/routingConfig', 'app/core/core.services', 'common/config/env.module'], function(ng) {
+ var odlChatApp = angular.module('app.odlChat', ['app.core', 'ui.router.state','config']);
+
+ odlChatApp.config(function($stateProvider, $compileProvider, $controllerProvider, $provide, NavHelperProvider, $translateProvider) {
+ odlChatApp.register = {
+ controller : $controllerProvider.register,
+ directive : $compileProvider.directive,
+ factory : $provide.factory,
+ service : $provide.service
+
+ };
+
+
+ NavHelperProvider.addControllerUrl('app/odlChat/odlChat.controller');
+ NavHelperProvider.addToMenu('odlChat', {
+ "link" : "#/odlChat",
+ "active" : "main.odlChat",
+ "title" : "Chat",
+ "icon" : "fa-comments", // Add navigation icon css class here
+ "page" : {
+ "title" : "Chat",
+ "description" : "odlChat"
+ }
+ });
+
+ var access = routingConfig.accessLevels;
+
+ $stateProvider.state('main.odlChat', {
+ url: 'odlChat',
+ access: access.admin,
+ views : {
+ 'content' : {
+ templateUrl: 'src/app/odlChat/odlChat.tpl.html',
+ controller: 'odlChatCtrl'
+ }
+ }
+ });
+
+ });
+
+ return odlChatApp;
+});
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.png b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.png
new file mode 100755
index 00000000..3b79097e
--- /dev/null
+++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.png
Binary files differ
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.services.js b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.services.js
new file mode 100644
index 00000000..1a137f5c
--- /dev/null
+++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.services.js
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2016 highstreet technologies GmbH and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+define(['app/mwtnCommons/mwtnCommons.module', 'app/odlChat/odlChat.module'],function(odlChatApp) {
+
+ odlChatApp.register.factory('$odlChat', function($http, $mwtnCommons) {
+
+ var createStream = function(streamName, callback) {
+ var request = {
+ method : 'GET',
+ url : [ service.base, 'streams/stream/', streamName ].join('')
+ };
+ $http(request).then(function successCallback(response) {
+ console.log(response.headers('Location'));
+ callback(response.headers('Location'));
+ }, function errorCallback(response) {
+ console.error(JSON.stringify(response));
+ callback();
+ });
+ };
+
+ var service = {
+ base : window.location.origin + "/restconf/",
+ };
+
+
+ service.getData = function(event, callback) {
+
+ var request = {
+ method : 'GET',
+ url : [ service.base,
+ 'config/opendaylight-inventory:nodes/node/odlChat/' ].join('')
+ };
+ $http(request).then(function successCallback(response) {
+ tweet = {
+ nickname : response.data.node[0]['flow-node-inventory:manufacturer'],
+ message : response.data.node[0]['flow-node-inventory:description'],
+ time : JSON.stringify(new Date()).split('T')[1].substring(0, 5)
+ };
+ callback('', tweet);
+ }, function errorCallback(response) {
+ console.error(JSON.stringify(response));
+ callback('ERROR while sending ;(');
+ });
+
+ };
+
+ service.register = function(path, callback) {
+ var request = {
+ method : 'POST',
+ url : [ service.base,
+ 'operations/sal-remote:create-data-change-event-subscription' ]
+ .join(''),
+ data : {
+ "input" : {
+ "path" : path,
+ "sal-remote-augment:datastore" : "CONFIGURATION",
+ "sal-remote-augment:scope" : "SUBTREE"
+ }
+ }
+ };
+ $http(request).then(
+ function successCallback(response) {
+ createStream(response.data.output['stream-name'], function(
+ socketLocation) {
+ callback(socketLocation);
+ });
+ }, function errorCallback(response) {
+ console.error(JSON.stringify(response));
+ });
+ };
+
+ service.send = function(chat, callback) {
+ var request = {
+ method : 'PUT',
+ url : [ service.base,
+ 'config/opendaylight-inventory:nodes/node/odlChat' ].join(''),
+ data : {
+ "node" : [ {
+ "id" : "odlChat",
+ "flow-node-inventory:manufacturer" : chat.nickname,
+ "flow-node-inventory:software" : "",
+ "flow-node-inventory:serial-number" : "",
+ "flow-node-inventory:hardware" : "",
+ "flow-node-inventory:description" : chat.message
+ } ]
+ }
+ };
+ $http(request).then(function successCallback(response) {
+ callback('send successfully');
+ }, function errorCallback(response) {
+ console.error(JSON.stringify(response));
+ callback('ERROR while sending ;(');
+ });
+ };
+ return service;
+ });
+}); \ No newline at end of file
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.tpl.html b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.tpl.html
new file mode 100644
index 00000000..c3d90ae3
--- /dev/null
+++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/odlChat/odlChat-module/src/main/resources/odlChat/odlChat.tpl.html
@@ -0,0 +1,102 @@
+<!-- This is the landing page of you application, Update the content as per your requirements -->
+<div class="owl container" style="width: 800px">
+
+ <div class="row">
+ <div class="col-md-11">
+ <h4>Simple chat application based on (ODL) WebSockets</h4>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-md-11">
+ <hr/ >
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-md-11">
+ <p>
+ <span class="white">The beauty of WebSockets within OpenDaylight.</span>
+ </p>
+ <p>
+ <span class="white">Useful links:</span>
+ <ul>
+ <li>
+ <a href="https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf:Change_event_notification_subscription">
+ <span class="white">https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf:Change_event_notification_subscription</span>
+ </a>
+ </li>
+ <li>
+ <a href="https://wiki.opendaylight.org/view/OpenDaylight_DLUX:Create_application_with_archetype">
+ <span class="white">https://wiki.opendaylight.org/view/OpenDaylight_DLUX:Create_application_with_archetype</span>
+ </a>
+ </li>
+ </ul>
+ </p>
+ <p>
+ <span class="white">Code:</span>
+ <ul>
+ <li>
+ <a href="https://github.com/OpenNetworkingFoundation/CENTENNIAL/tree/master/code/ux/odlChat">
+ <span class="white">https://github.com/OpenNetworkingFoundation/CENTENNIAL/tree/master/code/ux/odlChat</span>
+ </a>
+ </li>
+ </ul>
+ </p>
+
+
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-md-11">
+ <hr/ >
+ </div>
+ </div>
+
+ <div class="row" ng-repeat="tweet in collection">
+ <div class="col-md-2 text-right">
+ <span class="white">{{tweet.nickname}}:</span>
+ </div>
+ <div class="col-md-8">
+ <span class="white">
+ <b>{{tweet.message}}</b>
+ </span>
+ </div>
+ <div class="col-md-1">
+ <span>{{tweet.time}}</span>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-md-11">
+ <hr/ >
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-md-2 text-right">
+ <input class="form-control" type="text" step="1" ng-model="chat.nickname" />
+ </div>
+ <div class="col-md-8 text-right">
+ <input class="form-control" type="text" step="1" ng-model="chat.message" />
+ </div>
+ <div class="col-md-1">
+ <button class="btn btn-primary" type="submit" ng-click="send(chat)">{{'MWTN_SEND' | translate}}</button>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-md-2 text-right">
+ <span class="white">{{'MWTN_NICKNAME' | translate}} </span>
+ </div>
+ <div class="col-md-8 text-right">
+ <span class="white">{{'MWTN_MESSAGE' | translate}} </span>
+ </div>
+ <div class="col-md-1"></div>
+ </div>
+</div>
+<hr />
+<div class="owl">
+ <span class="white">ONAP SDN-R | ONF Wireless for @distversion@ - Build: @buildtime@</span>
+</div>