提交 5495723c1a7bc604139bf8e388d5d407e0f911d3

作者 WZP 万忠平
1 个父辈 26001952

wzp

@@ -8,10 +8,10 @@ @@ -8,10 +8,10 @@
8 ***************************************************************************/ 8 ***************************************************************************/
9 #include "dmpservercontext.h" 9 #include "dmpservercontext.h"
10 10
11 -DmpServerContext::DmpServerContext(const DmpServerRequest *request, DmpServerResponse *response, const DmpProject *project): 11 +DmpServerContext::DmpServerContext(const DmpServerRequest *request, DmpServerResponse *response, const DmpServerProject *serverProject):
12 request_(request), 12 request_(request),
13 response_(response), 13 response_(response),
14 - project_(project) 14 + serverProject_(serverProject)
15 { 15 {
16 16
17 } 17 }
@@ -15,18 +15,18 @@ @@ -15,18 +15,18 @@
15 15
16 class DmpServerResponse; 16 class DmpServerResponse;
17 class DmpServerRequest; 17 class DmpServerRequest;
18 -class DmpProject; 18 +class DmpServerProject;
19 class SERVER_EXPORT DmpServerContext 19 class SERVER_EXPORT DmpServerContext
20 { 20 {
21 public: 21 public:
22 - DmpServerContext(const DmpServerRequest *request, DmpServerResponse *response, const DmpProject *project); 22 + DmpServerContext(const DmpServerRequest *request, DmpServerResponse *response, const DmpServerProject *serverProject);
23 const DmpServerRequest *request() const { return request_;} 23 const DmpServerRequest *request() const { return request_;}
24 DmpServerResponse *response() const { return response_;} 24 DmpServerResponse *response() const { return response_;}
25 - const DmpProject *project() const { return project_;} 25 + const DmpServerProject *serverProject() const { return serverProject_;}
26 26
27 private: 27 private:
28 const DmpServerRequest *request_ = nullptr; 28 const DmpServerRequest *request_ = nullptr;
29 DmpServerResponse *response_ = nullptr; 29 DmpServerResponse *response_ = nullptr;
30 - const DmpProject *project_ = nullptr; 30 + const DmpServerProject *serverProject_ = nullptr;
31 }; 31 };
32 #endif // __dmpservercontext_h__ 32 #endif // __dmpservercontext_h__
@@ -23,7 +23,10 @@ public: @@ -23,7 +23,10 @@ public:
23 const std::string &description, 23 const std::string &description,
24 const DmpProject *project); 24 const DmpProject *project);
25 std::string createTime() { return time_;} 25 std::string createTime() { return time_;}
26 - const DmpProject* project() { return project_;} 26 + const DmpProject* project() const { return project_;}
  27 + std::string name() const { return name_;}
  28 + std::string title() const { return title_;}
  29 + std::string description() const { return description_;}
27 int status() { return status_;} 30 int status() { return status_;}
28 void setStatus(int status) { status_ = status;} 31 void setStatus(int status) { status_ = status;}
29 private: 32 private:
@@ -50,8 +50,6 @@ public: @@ -50,8 +50,6 @@ public:
50 void setHeader(const std::string &name, const std::string &value); 50 void setHeader(const std::string &name, const std::string &value);
51 Headers headers() const { return headers_; } 51 Headers headers() const { return headers_; }
52 bool isRestful() const { return isRestful_; } 52 bool isRestful() const { return isRestful_; }
53 - std::string serviceName() const { return serviceName_;}  
54 - void setServiceName(const std::string &serviceName) { serviceName_ = serviceName;}  
55 53
56 DmpServerParameters serverParameters() const { return params_; } 54 DmpServerParameters serverParameters() const { return params_; }
57 void setParameter(const std::string &name, const std::string &value); 55 void setParameter(const std::string &name, const std::string &value);
@@ -70,7 +68,6 @@ protected: @@ -70,7 +68,6 @@ protected:
70 std::string port_; 68 std::string port_;
71 std::string path_; 69 std::string path_;
72 std::string query_; 70 std::string query_;
73 - std::string serviceName_;  
74 bool isRestful_; 71 bool isRestful_;
75 72
76 private: 73 private:
@@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
15 #include <map> 15 #include <map>
16 #include "dmpservercontext.h" 16 #include "dmpservercontext.h"
17 #include "dmpserverrequest.h" 17 #include "dmpserverrequest.h"
  18 +#include "dmpserverproject.h"
18 19
19 typedef enum 20 typedef enum
20 { 21 {
@@ -198,7 +198,7 @@ BOOST_PYTHON_MODULE(dmap_server) @@ -198,7 +198,7 @@ BOOST_PYTHON_MODULE(dmap_server)
198 .def("allow_method", pure_virtual(&DmpService::allowMethod)) 198 .def("allow_method", pure_virtual(&DmpService::allowMethod))
199 .def("execute_request", pure_virtual(&DmpService::executeRequest)); 199 .def("execute_request", pure_virtual(&DmpService::executeRequest));
200 200
201 - class_<DmpServerContext>("DmpServerContext",init<DmpServerRequest*, DmpServerResponse*, DmpProject*>()); 201 + // class_<DmpServerContext>("DmpServerContext",init<DmpServerRequest*, DmpServerResponse*, DmpProject*>());
202 202
203 class_<DmpServerRequest>("DmpServerRequest",init<std::string&>()); 203 class_<DmpServerRequest>("DmpServerRequest",init<std::string&>());
204 204
@@ -70,7 +70,7 @@ void DmpMapServer::executeRequest(DmpServerRequest &request, DmpServerResponse & @@ -70,7 +70,7 @@ void DmpMapServer::executeRequest(DmpServerRequest &request, DmpServerResponse &
70 response.writeHtml(htmlstr + "服务\"" + serviceName + "\"已经停止。</p></body></html>\n"); 70 response.writeHtml(htmlstr + "服务\"" + serviceName + "\"已经停止。</p></body></html>\n");
71 return; 71 return;
72 } 72 }
73 - DmpServerContext context {&request, &response, serverProj->project()}; 73 + DmpServerContext context {&request, &response, serverProj};
74 service->executeRequest(context); 74 service->executeRequest(context);
75 } 75 }
76 else { 76 else {
@@ -36,7 +36,7 @@ namespace DmpWms @@ -36,7 +36,7 @@ namespace DmpWms
36 void DmpWMSService::executeRequest(const DmpServerContext &context) 36 void DmpWMSService::executeRequest(const DmpServerContext &context)
37 { 37 {
38 const DmpWmsParameters params(context.request()->serverParameters()); 38 const DmpWmsParameters params(context.request()->serverParameters());
39 - const DmpProject* project = context.project(); 39 + const DmpProject* project = context.serverProject()->project();
40 const std::string request = params.Request(); 40 const std::string request = params.Request();
41 if (request.empty()) 41 if (request.empty())
42 { 42 {
@@ -65,7 +65,6 @@ void DmpTileServer::executeRequest(DmpServerRequest &request, DmpServerResponse @@ -65,7 +65,6 @@ void DmpTileServer::executeRequest(DmpServerRequest &request, DmpServerResponse
65 if(what.size() == 4) { 65 if(what.size() == 4) {
66 std::string serviceName = what[1].str(); 66 std::string serviceName = what[1].str();
67 std::string serverType = what[2].str(); 67 std::string serverType = what[2].str();
68 - request.setServiceName(serviceName);  
69 if(request.isRestful()) { 68 if(request.isRestful()) {
70 std::string queryString = what[3].str(); 69 std::string queryString = what[3].str();
71 request.setQuery(queryString); 70 request.setQuery(queryString);
@@ -79,7 +78,7 @@ void DmpTileServer::executeRequest(DmpServerRequest &request, DmpServerResponse @@ -79,7 +78,7 @@ void DmpTileServer::executeRequest(DmpServerRequest &request, DmpServerResponse
79 response.writeHtml(htmlstr + "服务\"" + serviceName + "\"已经停止。</p></body></html>\n"); 78 response.writeHtml(htmlstr + "服务\"" + serviceName + "\"已经停止。</p></body></html>\n");
80 return; 79 return;
81 } 80 }
82 - DmpServerContext context {&request, &response, serverProj->project()}; 81 + DmpServerContext context {&request, &response, serverProj};
83 service->executeRequest(context); 82 service->executeRequest(context);
84 } 83 }
85 else { 84 else {
@@ -55,7 +55,7 @@ namespace DmpTms @@ -55,7 +55,7 @@ namespace DmpTms
55 int tileCol=atoi(vec0[0].c_str()); 55 int tileCol=atoi(vec0[0].c_str());
56 int tileRow=atoi(vec[isize-2].c_str()); 56 int tileRow=atoi(vec[isize-2].c_str());
57 int tileMatrix=atoi(vec[isize-3].c_str()); 57 int tileMatrix=atoi(vec[isize-3].c_str());
58 - const DmpProject *project = context.project(); 58 + const DmpProject *project = context.serverProject()->project();
59 DmpTileLayer *tileLayer = static_cast<DmpTileLayer *>(project->getLayer()); 59 DmpTileLayer *tileLayer = static_cast<DmpTileLayer *>(project->getLayer());
60 std::string format=vec0[1].c_str(); 60 std::string format=vec0[1].c_str();
61 std::string filePath=tileLayer->getDataSource(); 61 std::string filePath=tileLayer->getDataSource();
@@ -65,10 +65,9 @@ namespace DmpWmts @@ -65,10 +65,9 @@ namespace DmpWmts
65 params = nullptr; 65 params = nullptr;
66 } 66 }
67 67
68 - const DmpProject *project = context.project(); 68 + const DmpServerProject *serverProject = context.serverProject();
  69 + const DmpProject *project = serverProject->project();
69 DmpTileLayer *tileLayer = static_cast<DmpTileLayer *>(project->getLayer(layerName)); 70 DmpTileLayer *tileLayer = static_cast<DmpTileLayer *>(project->getLayer(layerName));
70 - //context.response()->writeHtml("hello,wmts");  
71 - //const DmpWmtsParameters params(context.request()->serverParameters());  
72 71
73 if (req.empty()) 72 if (req.empty())
74 { 73 {
@@ -83,7 +82,7 @@ namespace DmpWmts @@ -83,7 +82,7 @@ namespace DmpWmts
83 else if (boost::iequals(req, "GetCapabilities")) 82 else if (boost::iequals(req, "GetCapabilities"))
84 { 83 {
85 const std::string host=context.request()->domain()+":"+context.request()->port();; 84 const std::string host=context.request()->domain()+":"+context.request()->port();;
86 - const std::string servicename=context.request()->serviceName(); 85 + const std::string servicename=serverProject->name();
87 86
88 boost::property_tree::ptree pt; 87 boost::property_tree::ptree pt;
89 pt.add("Layer.ows:Title",tileLayer->title()); 88 pt.add("Layer.ows:Title",tileLayer->title());
注册登录 后发表评论