forked from SuperMap/iClient-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDatasetService.js
More file actions
127 lines (119 loc) · 5.65 KB
/
Copy pathDatasetService.js
File metadata and controls
127 lines (119 loc) · 5.65 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
120
121
122
123
124
125
126
127
/* Copyright© 2000 - 2025 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 '../core/Base';
import { ServiceBase } from './ServiceBase';
import { DatasetService as CommonDatasetService } from '@supermapgis/iclient-common/iServer/DatasetService';
import { CreateDatasetParameters } from '@supermapgis/iclient-common/iServer/CreateDatasetParameters';
import { UpdateDatasetParameters } from '@supermapgis/iclient-common/iServer/UpdateDatasetParameters';
/**
* @class DatasetService
* @deprecatedclassinstance L.supermap.datasetService
* @classdesc 数据集信息服务类。提供方法:查询数据集集合、查询指定数据集信息,在指定数据源下新增、修改、删除数据集等。
* @category iServer Data Dataset
* @modulecategory Services
* @extends {ServiceBase}
* @param {string} url - 服务地址。
* @param {Object} options - 参数。
* @param {string} [options.proxy] - 服务代理地址。
* @param {boolean} [options.withCredentials] - 请求是否携带凭据。默认情况下,仅同源请求包含凭据。
* @param {boolean} [options.crossOrigin] - 是否允许跨域请求。
* @param {Object} [options.headers] - 请求头。
* @usage
*/
export var DatasetService = ServiceBase.extend({
initialize: function (url,options) {
ServiceBase.prototype.initialize.call(this, url,options);
this._datasetService = new CommonDatasetService(this.url, {
proxy: this.options.proxy,
withCredentials: this.options.withCredentials,
crossOrigin: this.options.crossOrigin,
headers: this.options.headers
});
},
/**
* @function DatasetService.prototype.getDatasets
* @description 数据集查询服务。
* @example
* new DatasetService(url).getDatasets(datasourceName,function(result){
* //doSomething
* });
* @param {string} datasourceName - 数据源名称。
* @param {RequestCallback} [callback] - 回调函数,该参数未传时可通过返回的 promise 获取结果。
* @returns {Promise} Promise 对象。
*/
getDatasets: function (datasourceName, callback) {
if (!datasourceName) {
return;
}
return this._datasetService.getDatasetsService(datasourceName, callback);
},
/**
* @function DatasetService.prototype.getDataset
* @description 数据集信息查询服务。
* @example
* new DatasetService(url).getDataset(datasourceName, datasetName, function(result){
* //doSomething
* });
* @param {string} datasourceName - 数据源名称。
* @param {string} datasetName - 数据集名称。
* @param {RequestCallback} [callback] - 回调函数,该参数未传时可通过返回的 promise 获取结果。
* @returns {Promise} Promise 对象。
*/
getDataset: function (datasourceName, datasetName, callback) {
if (!datasourceName || !datasetName) {
return;
}
return this._datasetService.getDatasetService(datasourceName, datasetName, callback);
},
/**
* @function DatasetService.prototype.setDataset
* @description 数据集信息设置服务。可实现修改已存在数据集,新增不存在数据集。
* @example
* new DatasetService(url).setDataset(params, function(result){
* //doSomething
* });
* @param {CreateDatasetParameters | UpdateDatasetParameters } params - 数据集创建参数类(当前数据源下的数据集不存在时,新建数据集) || 数据集信息更改参数类(当前数据源下的数据集存在时,更改数据集信息)
* @param {RequestCallback} [callback] - 回调函数,该参数未传时可通过返回的 promise 获取结果。
* @returns {Promise} Promise 对象。
*/
setDataset(params, callback) {
if(!(params instanceof CreateDatasetParameters) && !(params instanceof UpdateDatasetParameters)){
return;
}else if (params instanceof CreateDatasetParameters) {
var datasetParams = {
"datasetType": params.datasetType,
"datasourceName": params.datasourceName,
"datasetName": params.datasetName
}
}else if(params instanceof UpdateDatasetParameters){
datasetParams = {
"datasetName": params.datasetName,
"datasourceName": params.datasourceName,
"isFileCache": params.isFileCache,
"description": params.description,
"prjCoordSys": params.prjCoordSys,
"charset": params.charset
}
}
return this._datasetService.setDatasetService(datasetParams, callback);
},
/**
* @function DatasetService.prototype.deleteDataset
* @description 指定数据源下的数据集删除服务。
* @example
* new DatasetService(url).deleteDataset(datasourceName, datasetName, function(result){
* //doSomething
* });
* @param {string} datasourceName - 数据源名称。
* @param {string} datasetName - 数据集名称。
* @param {RequestCallback} [callback] - 回调函数,该参数未传时可通过返回的 promise 获取结果。
* @returns {Promise} Promise 对象。
*/
deleteDataset: function (datasourceName, datasetName, callback) {
return this._datasetService.deleteDatasetService(datasourceName, datasetName, callback);
}
});
export var datasetService = function (url, options) {
return new DatasetService(url, options);
};