2 * @copyright 2017 highstreet technologies and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 define(['app/mwtnCommons/mwtnCommons.module', 'app/mwtnMediator/mwtnMediator.module'],function(mwtnMediatorApp) {
11 mwtnMediatorApp.register.factory('$mwtnMediator', function($http, $q, $mwtnCommons, $mwtnDatabase, $mwtnLog) {
13 var COMPONENT = '$mwtnMediator';
14 $mwtnLog.info({component: COMPONENT, message: '$mwtnMediator started!'});
18 // import of mwtnCommons
19 service.gridOptions = $mwtnCommons.gridOptions;
20 service.highlightFilteredHeader = $mwtnCommons.highlightFilteredHeader;
22 service.getAllData = $mwtnDatabase.getAllData;
23 service.getFilteredSortedData = $mwtnDatabase.getFilteredSortedData;
24 service.logGridOptions = $mwtnCommons.gridOptions;
26 // service specific functions
27 service.getServerData = function(id){
28 var deferred = $q.defer();
29 var functionid="mwtn";
30 var type="mediator-server";
31 var sort = [ { 'id' : {order : 'asc'}}];
33 if(id===undefined)//get all
34 $mwtnDatabase.getAllData(functionid,type,0,99,sort,null).then(function(success){
36 success.data.hits.hits.map(function(entry){
39 url: entry._source.url,
40 name: entry._source.name
44 deferred.resolve(list);
46 $mwtnLog.error({component: 'private getAlldata', message: JSON.stringify(error.data)});
47 deferred.reject(error);
50 $mwtnDatabase.getFilteredSortedData(functionid,type,0,99,sort,{'match':{'id':id}}).then(function(success){
52 success.data.hits.hits.map(function(entry){
55 url: entry._source.url,
56 name: entry._source.name
60 deferred.resolve(list.length>0?list[0]:undefined);
62 $mwtnLog.error({component: 'private getFilteredSortedData', message: JSON.stringify(error.data)});
63 deferred.reject(error);
66 return deferred.promise;
71 service.getMaxId = function(){
72 var deferred = $q.defer();
73 $mwtnDatabase.getAllData(functionid,type,0,99,sort,{'match'}).then(function(success){
75 return deferred.promise;
78 service.addServer = function(name,url){
79 var deferred = $q.defer();
80 var functionId="mwtn";
81 var docType="mediator-server";
83 var data={name:name,url:url};
86 $mwtnDatabase.createSingleDocument(functionId, docType, id, data).then(function(success){
89 deferred.resolve(data);
91 $mwtnLog.error({component: 'private addServer', message: JSON.stringify(error.data)});
92 deferred.reject(error);
94 return deferred.promise;
96 service.removeServer = function(id){
97 var deferred = $q.defer();
98 var functionId="mwtn";
99 var docType="mediator-server";
101 $mwtnDatabase.deleteSingleDocument(functionId, docType, id).then(function(success){
102 deferred.resolve(data);
104 $mwtnLog.error({component: 'private removeServer', message: JSON.stringify(error.data)});
105 deferred.reject(error);
107 return deferred.promise;