提交 5495723c1a7bc604139bf8e388d5d407e0f911d3

作者 WZP 万忠平
1 个父辈 26001952

wzp

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