forked from SuperMap/iClient-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDatasourceService.js
More file actions
119 lines (113 loc) · 4.51 KB
/
DatasourceService.js
File metadata and controls
119 lines (113 loc) · 4.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/* Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
* This program are made available under the terms of the Apache License, Version 2.0
* which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
import {SuperMap} from '../SuperMap';
import {CommonServiceBase} from '@supermap/iclient-common/iServer/CommonServiceBase';
import {DatasourceService as CommonDatasourceService} from '@supermap/iclient-common/iServer/DatasourceService';
import { SetDatasourceParameters } from '@supermap/iclient-common/iServer/SetDatasourceParameters';
import { Util as CommonUtil } from '@supermap/iclient-common/commontypes/Util';
/**
* @class SuperMap.REST.DatasourceService
* @category iServer Data Datasource
* @classdesc 数据源服务类。
* @extends {SuperMap.CommonServiceBase}
* @param {string} url - 服务地址。
* @param {Object} options - 参数。
* @param {boolean} [options.crossOrigin] - 是否允许跨域请求。
* @param {Object} [options.headers] - 请求头。
*/
export class DatasourceService extends CommonServiceBase {
constructor(url, options) {
super(url, options);
this.CLASS_NAME = "SuperMap.REST.DatasourceService";
}
/**
* @function SuperMap.REST.supermap.DatasourceService.prototype.getDatasources
* @description 数据源集查询服务。
* @example
* new SuperMap.REST.DatasourceService(url).getDatasources(function(result){
* //doSomething
* });
* @param {RequestCallback} callback - 回调函数。
*/
getDatasources(callback) {
const me = this;
const datasourceService = new CommonDatasourceService(me.url, {
proxy: me.proxy,
withCredentials: me.withCredentials,
crossOrigin: me.crossOrigin,
headers: me.headers,
serverType: me.serverType,
eventListeners: {
scope: me,
processCompleted: callback,
processFailed: callback
}
});
datasourceService.getDatasourcesService();
}
/**
* @function SuperMap.REST.DatasourceService.prototype.getDatasource
* @description 数据源信息查询服务。
* @example
* new SuperMap.REST.DatasourceService(url).getDatasource(datasourceName,function(result){
* //doSomething
* });
* @param {string} datasourceName - 数据源名称。
* @param {RequestCallback} callback 回调函数。
*/
getDatasource(datasourceName, callback) {
if (!datasourceName) {
return;
}
const me = this;
const datasourceService = new CommonDatasourceService(me.url, {
proxy: me.proxy,
withCredentials: me.withCredentials,
crossOrigin: me.crossOrigin,
headers: me.headers,
serverType: me.serverType,
eventListeners: {
scope: me,
processCompleted: callback,
processFailed: callback
}
});
datasourceService.getDatasourceService(datasourceName);
}
/**
* @function SuperMap.REST.supermap.DatasourceService.prototype.setDatasource
* @description 数据源信息设置服务。可实现更改当前数据源信息。
* @example
* new SuperMap.REST.DatasourceService(url).setDatasource(params, function(result){
* //doSomething
* });
* @param {SuperMap.SetDatasourceParameters} params - 数据源信息设置参数类。
* @param {RequestCallback} callback - 回调函数。
*/
setDatasource(params, callback) {
if (!(params instanceof SetDatasourceParameters)) {
return;
}
const datasourceParams = {
description: params.description ,
coordUnit: params.coordUnit,
distanceUnit: params.distanceUnit
};
const me = this;
const url = CommonUtil.urlPathAppend(me.url,`datasources/name/${params.datasourceName}`);
const datasourceService = new CommonDatasourceService(url, {
proxy: me.proxy,
withCredentials: me.withCredentials,
crossOrigin: me.crossOrigin,
headers: me.headers,
serverType: me.serverType,
eventListeners: {
processCompleted: callback,
processFailed: callback
}
});
datasourceService.setDatasourceService(datasourceParams);
}
}
SuperMap.REST.DatasourceService = DatasourceService;