From 1e0894028c889b1ad47be77a3b5b9bec2e892caf Mon Sep 17 00:00:00 2001 From: Franklin_Zhang Date: Wed, 10 Jan 2018 11:28:01 +0800 Subject: [PATCH 1/6] add model service factory class Signed-off-by: Franklin_Zhang --- include/INxUnknown.h | 6 ------ src/NxModelServiceFactory.cpp | 10 ++++++++++ src/NxModelServiceFactory.h | 19 +++++++++++++++++++ src/NxServiceAccess.cpp | 13 +++---------- src/NxServiceAccess.h | 3 --- 5 files changed, 32 insertions(+), 19 deletions(-) create mode 100644 src/NxModelServiceFactory.cpp create mode 100644 src/NxModelServiceFactory.h diff --git a/include/INxUnknown.h b/include/INxUnknown.h index 8dc2f3b..7576d9d 100644 --- a/include/INxUnknown.h +++ b/include/INxUnknown.h @@ -3,26 +3,21 @@ namespace NJGIS { - //!基类,支持引用计数 class INxUnknown { public: - //!构造函数 INxUnknown(): mReferenceCounter(1) { } - //!析构函数 virtual ~INxUnknown(){}; - //!添加引用计数 virtual int addRef() { return ++mReferenceCounter; } - //!减少引用计数 virtual int release() { mReferenceCounter--; @@ -33,7 +28,6 @@ namespace NJGIS return mReferenceCounter; } } - //!获得计数个数 virtual int getReferenceCounter(){return mReferenceCounter;} protected: diff --git a/src/NxModelServiceFactory.cpp b/src/NxModelServiceFactory.cpp new file mode 100644 index 0000000..4ec2fac --- /dev/null +++ b/src/NxModelServiceFactory.cpp @@ -0,0 +1,10 @@ +#include "NxModelServiceFactory.h" +#include "NxModelService.h" + + +NJGIS::SERVICE::INjModelService* NJGIS::SERVICE::NjModelServiceFactory::createModelServiceByJSON( Json::Value &jMs ) +{ + + + return NULL; +} diff --git a/src/NxModelServiceFactory.h b/src/NxModelServiceFactory.h new file mode 100644 index 0000000..50fc040 --- /dev/null +++ b/src/NxModelServiceFactory.h @@ -0,0 +1,19 @@ +#ifndef __NJGIS_NJMODELSERVICEFACTORY_H__ +#define __NJGIS_NJMODELSERVICEFACTORY_H__ + +#include "../include/INxModelService.h" +#include "json/json.h" + +namespace NJGIS +{ + namespace SERVICE + { + class NjModelServiceFactory + { + public: + static INjModelService* createModelServiceByJSON(Json::Value &jMs); + }; + } +} + +#endif \ No newline at end of file diff --git a/src/NxServiceAccess.cpp b/src/NxServiceAccess.cpp index 2728e15..fbe6624 100644 --- a/src/NxServiceAccess.cpp +++ b/src/NxServiceAccess.cpp @@ -1,5 +1,6 @@ #include "NxServiceAccess.h" #include "NxModelService.h" +#include "NxModelServiceFactory.h" #include "../utils/NxHttp.h" int NJGIS::SERVICE::NjServiceAccess::getModelServicesList( std::vector &list ) @@ -16,7 +17,7 @@ int NJGIS::SERVICE::NjServiceAccess::getModelServicesList( std::vectorcreateModelServiceByJSON(jMss[index])); + list.push_back(NjModelServiceFactory::createModelServiceByJSON(jMss[index])); } } else @@ -35,12 +36,4 @@ NJGIS::SERVICE::INjModelService* NJGIS::SERVICE::NjServiceAccess::getModelServic int NJGIS::SERVICE::NjServiceAccess::getModelServicesByName( const char* name, std::vector &list ) { throw std::exception("The method or operation is not implemented."); -} - -NJGIS::SERVICE::INjModelService* NJGIS::SERVICE::NjServiceAccess::createModelServiceByJSON( Json::Value ms ) -{ - INjModelService* pMs = NULL; - - - return pMs; -} +} \ No newline at end of file diff --git a/src/NxServiceAccess.h b/src/NxServiceAccess.h index 4068932..a79c9f5 100644 --- a/src/NxServiceAccess.h +++ b/src/NxServiceAccess.h @@ -19,9 +19,6 @@ namespace NJGIS virtual NJGIS::SERVICE::INjModelService* getModelServiceByOID( const char* oid ); virtual int getModelServicesByName( const char* name, std::vector &list ); - - private: - virtual INjModelService* createModelServiceByJSON(Json::Value ms); }; } } -- Gitee From 8146a3c1ff29517d2328a2dc59ca738c92468932 Mon Sep 17 00:00:00 2001 From: Franklin_Zhang Date: Thu, 11 Jan 2018 17:03:39 +0800 Subject: [PATCH 2/6] fix some bugs Signed-off-by: Franklin_Zhang --- src/NxModelServiceFactory.cpp | 2 +- src/NxServer.cpp | 6 +++--- src/NxServer.h | 9 ++------- src/NxService.cpp | 14 +++++++++++++- src/NxService.h | 5 +++++ src/NxServiceAccess.cpp | 1 - test/test.cpp | 2 +- 7 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/NxModelServiceFactory.cpp b/src/NxModelServiceFactory.cpp index 4ec2fac..76d2b31 100644 --- a/src/NxModelServiceFactory.cpp +++ b/src/NxModelServiceFactory.cpp @@ -4,7 +4,7 @@ NJGIS::SERVICE::INjModelService* NJGIS::SERVICE::NjModelServiceFactory::createModelServiceByJSON( Json::Value &jMs ) { - + INjModelService* pMs = new NjModelService(); return NULL; } diff --git a/src/NxServer.cpp b/src/NxServer.cpp index 51735f0..a23f0c9 100644 --- a/src/NxServer.cpp +++ b/src/NxServer.cpp @@ -6,13 +6,13 @@ int NJGIS::SERVICE::NjServer::setIPAndPort( const char* ip, const int port ) { - this->_ip = ip; + this->setIP(ip); if(port > 65535 || port < 0) { return -1; } - this->_port = port; + this->setPort(port); return 1; } NJGIS::SERVICE::INjServiceAccess* NJGIS::SERVICE::NjServer::getServiceAccess() { - return new NJGIS::SERVICE::NjServiceAccess(this->_ip.c_str(), this->_port); + return new NJGIS::SERVICE::NjServiceAccess(this->getIP(), this->getPort()); } diff --git a/src/NxServer.h b/src/NxServer.h index 42d9d42..ea50874 100644 --- a/src/NxServer.h +++ b/src/NxServer.h @@ -8,22 +8,17 @@ namespace NJGIS { namespace SERVICE { - class NjServer : public virtual INjServer, public virtual NjService + class NjServer : public virtual INjServer, public NjService { public: NjServer(){}; - NjServer(const char* ip, const int port):_ip(ip),_port(port){}; + NjServer(const char* ip, const int port):NjService(ip, port){}; virtual int setIPAndPort( const char* ip, const int port = 8060 ); virtual INjServiceAccess* getServiceAccess(); - private: - std::string _ip; - - int _port; - }; } } diff --git a/src/NxService.cpp b/src/NxService.cpp index 59b15c1..a806d12 100644 --- a/src/NxService.cpp +++ b/src/NxService.cpp @@ -42,4 +42,16 @@ int NJGIS::SERVICE::NjService::connect() return 1; } return 0; -} \ No newline at end of file +} + +int NJGIS::SERVICE::NjService::setIP( const char* ip ) +{ + this->_ip = ip; + return 1; +} + +int NJGIS::SERVICE::NjService::setPort( const int port ) +{ + this->_port = port; + return 1; +} diff --git a/src/NxService.h b/src/NxService.h index d5ba70b..0aa1732 100644 --- a/src/NxService.h +++ b/src/NxService.h @@ -10,6 +10,7 @@ namespace NJGIS class NjService : public virtual INjService { public: + NjService():_ip("127.0.0.1"),_port(8060){}; NjService(const char* ip, const int port):_ip(ip),_port(port){}; @@ -26,6 +27,10 @@ namespace NJGIS virtual int getBaseUrl( std::string &url ); + virtual int setIP( const char* ip ); + + virtual int setPort( const int port ); + private: std::string _ip; diff --git a/src/NxServiceAccess.cpp b/src/NxServiceAccess.cpp index fbe6624..b22eaae 100644 --- a/src/NxServiceAccess.cpp +++ b/src/NxServiceAccess.cpp @@ -24,7 +24,6 @@ int NJGIS::SERVICE::NjServiceAccess::getModelServicesList( std::vectorcreateServer(); + NJGIS::SERVICE::INjServer* pServer = pServerFactory->createServer("172.21.213.119"); if(pServer != NULL) { if(pServer->connect() == 1) -- Gitee From d8779669d58fc5e096155ac5635d02c49d2fc7df Mon Sep 17 00:00:00 2001 From: Franklin_Zhang Date: Thu, 11 Jan 2018 22:55:35 +0800 Subject: [PATCH 3/6] update some functions fix some bugs Signed-off-by: Franklin_Zhang --- src/NxModelService.cpp | 38 +++++++++++++------------- src/NxModelService.h | 51 ++++++++++++++++++++++++++++------- src/NxModelServiceFactory.cpp | 26 +++++++++++++++--- src/NxModelServiceFactory.h | 2 +- src/NxServiceAccess.cpp | 18 +++++++++++-- test/test.cpp | 10 +++++-- utils/NxHttp.cpp | 2 +- 7 files changed, 110 insertions(+), 37 deletions(-) diff --git a/src/NxModelService.cpp b/src/NxModelService.cpp index 62b4603..943758a 100644 --- a/src/NxModelService.cpp +++ b/src/NxModelService.cpp @@ -2,95 +2,95 @@ const char* NJGIS::SERVICE::NjModelService::getServiceOID() { - throw std::exception("The method or operation is not implemented."); + return this->_oid.c_str(); } const char* NJGIS::SERVICE::NjModelService::getServiceName() { - throw std::exception("The method or operation is not implemented."); + return this->_name.c_str(); } const char* NJGIS::SERVICE::NjModelService::getServiceType() { - throw std::exception("The method or operation is not implemented."); + return this->_type.c_str(); } const char* NJGIS::SERVICE::NjModelService::getServiceDetailURL() { - throw std::exception("The method or operation is not implemented."); + return this->_url.c_str(); } const char* NJGIS::SERVICE::NjModelService::getServicePid() { - throw std::exception("The method or operation is not implemented."); + return this->_pid.c_str(); } const char* NJGIS::SERVICE::NjModelService::getServiceMid() { - throw std::exception("The method or operation is not implemented."); + return this->_mid.c_str(); } bool NJGIS::SERVICE::NjModelService::getServiceRegister() { - throw std::exception("The method or operation is not implemented."); + return this->_registered; } const char* NJGIS::SERVICE::NjModelService::getServiceDescription() { - throw std::exception("The method or operation is not implemented."); + return this->_description.c_str(); } const char* NJGIS::SERVICE::NjModelService::getServiceVersion() { - throw std::exception("The method or operation is not implemented."); + return this->_version.c_str(); } const NJGIS::SERVICE::NjPlatform NJGIS::SERVICE::NjModelService::getServicePlatform() { - throw std::exception("The method or operation is not implemented."); + return this->_platform; } const char* NJGIS::SERVICE::NjModelService::getDeploymentTime() { - throw std::exception("The method or operation is not implemented."); + return this->_deploymentTime.c_str(); } const char* NJGIS::SERVICE::NjModelService::getImage() { - throw std::exception("The method or operation is not implemented."); + return this->_img.c_str(); } const char* NJGIS::SERVICE::NjModelService::getServiceDeployorName() { - throw std::exception("The method or operation is not implemented."); + return this->_deployorName.c_str(); } const char* NJGIS::SERVICE::NjModelService::getServiceDeployorEmail() { - throw std::exception("The method or operation is not implemented."); + return this->_deployorEmail.c_str(); } NJGIS::SERVICE::NjModelServiceStatus NJGIS::SERVICE::NjModelService::getServiceStatus() { - throw std::exception("The method or operation is not implemented."); + return this->_status; } NJGIS::SERVICE::NjModelServiceLimitation NJGIS::SERVICE::NjModelService::getServiceLimitation() { - throw std::exception("The method or operation is not implemented."); + return this->_limit; } const NJGIS::SERVICE::NjModelServicePermission NJGIS::SERVICE::NjModelService::getServicePermission() { - throw std::exception("The method or operation is not implemented."); + return this->_permission; } int NJGIS::SERVICE::NjModelService::invoke( const INjDataConfiguration* config, std::string& recordid ) { - throw std::exception("The method or operation is not implemented."); + return NULL; } int NJGIS::SERVICE::NjModelService::refresh() { - throw std::exception("The method or operation is not implemented."); + return NULL; } diff --git a/src/NxModelService.h b/src/NxModelService.h index c22fb7d..6d59776 100644 --- a/src/NxModelService.h +++ b/src/NxModelService.h @@ -13,13 +13,46 @@ namespace NJGIS public: NjModelService(){}; - NjModelService(const char* oid):_oid(oid){}; - - NjModelService(const char* oid, const char* name, const char* type, const char* url, - const char* pid, const char* mid, bool registered, const char* description, const char* version, - NJGIS::SERVICE::NjPlatform platform, const char* deploytime, const char* img, const char* deployorname, - const char* deployemail, NJGIS::SERVICE::NjModelServiceStatus status, NJGIS::SERVICE::NjModelServiceLimitation limit, - NJGIS::SERVICE::NjModelServicePermission permission ){} + NjModelService(const char* oid, const char* ip, int port):_oid(oid), NjService(ip, port){}; + + NjModelService( + const char* oid, + const char* name, + const char* type, + const char* url, + const char* pid, + const char* mid, + bool registered, + const char* description, + const char* version, + NJGIS::SERVICE::NjPlatform platform, + const char* deploytime, + const char* img, + const char* deployorname, + const char* deployemail, + NJGIS::SERVICE::NjModelServiceStatus status, + NJGIS::SERVICE::NjModelServiceLimitation limit, + NJGIS::SERVICE::NjModelServicePermission permission, + const char* ip, + int port ): + _oid(oid), + _name(name), + _type(type), + _url(url), + _pid(pid), + _mid(mid), + _registered(registered), + _description(description), + _version(version), + _platform(platform), + _deploymentTime(deploytime), + _img(img), + _deployorName(deployorname), + _deployorEmail(deployemail), + _status(status), + _limit(limit), + _permission(permission), + NjService(ip, port){} virtual const char* getServiceOID(); @@ -66,7 +99,7 @@ namespace NJGIS std::string _type; - std::string _detailurl; + std::string _url; std::string _pid; @@ -84,7 +117,7 @@ namespace NJGIS std::string _img; - std::string _deployor; + std::string _deployorName; std::string _deployorEmail; diff --git a/src/NxModelServiceFactory.cpp b/src/NxModelServiceFactory.cpp index 76d2b31..469ebe3 100644 --- a/src/NxModelServiceFactory.cpp +++ b/src/NxModelServiceFactory.cpp @@ -2,9 +2,29 @@ #include "NxModelService.h" -NJGIS::SERVICE::INjModelService* NJGIS::SERVICE::NjModelServiceFactory::createModelServiceByJSON( Json::Value &jMs ) +NJGIS::SERVICE::INjModelService* NJGIS::SERVICE::NjModelServiceFactory::createModelServiceByJSON( Json::Value &jMs, const char* ip, int port) { - INjModelService* pMs = new NjModelService(); + std::string oid = jMs["_id"].asString(); + std::string name = jMs["ms_model"]["m_name"].asString(); + std::string type = jMs["ms_model"]["m_type"].asString(); + std::string url = jMs["ms_model"]["m_url"].asString(); + std::string pid = jMs["ms_model"]["p_id"].asString(); + std::string mid = jMs["ms_model"]["m_id"].asString(); + bool registered = jMs["ms_model"]["m_register"].asBool(); + std::string des = jMs["ms_des"].asString(); + std::string version = jMs["mv_num"].asString(); + NJGIS::SERVICE::NjPlatform platform = (NJGIS::SERVICE::NjPlatform)jMs["ms_platform"].asInt(); + std::string deploymentTime = jMs["ms_des"].asString(); + std::string img = jMs["ms_des"].asString(); + std::string delpoyorname = jMs["delpoyorname"].asString(); + std::string delpoyoremail = jMs["ms_des"].asString(); + NJGIS::SERVICE::NjModelServiceStatus status = (NJGIS::SERVICE::NjModelServiceStatus)jMs["ms_status"].asInt(); + NJGIS::SERVICE::NjModelServiceLimitation limit = (NJGIS::SERVICE::NjModelServiceLimitation)jMs["ms_limited"].asInt(); + NJGIS::SERVICE::NjModelServicePermission permission = (NJGIS::SERVICE::NjModelServicePermission)jMs["ms_permission"].asInt(); - return NULL; + + INjModelService* pMs = new NjModelService(oid.c_str(), name.c_str(), type.c_str(), url.c_str(), pid.c_str(), + mid.c_str(), registered, des.c_str(), version.c_str(), platform, deploymentTime.c_str(), img.c_str(), + delpoyorname.c_str(), delpoyoremail.c_str(), status, limit, permission, ip, port); + return pMs; } diff --git a/src/NxModelServiceFactory.h b/src/NxModelServiceFactory.h index 50fc040..0a7daf6 100644 --- a/src/NxModelServiceFactory.h +++ b/src/NxModelServiceFactory.h @@ -11,7 +11,7 @@ namespace NJGIS class NjModelServiceFactory { public: - static INjModelService* createModelServiceByJSON(Json::Value &jMs); + static INjModelService* createModelServiceByJSON(Json::Value &jMs, const char* ip, int port); }; } } diff --git a/src/NxServiceAccess.cpp b/src/NxServiceAccess.cpp index b22eaae..b3e387f 100644 --- a/src/NxServiceAccess.cpp +++ b/src/NxServiceAccess.cpp @@ -17,7 +17,7 @@ int NJGIS::SERVICE::NjServiceAccess::getModelServicesList( std::vectorgetIP(), this->getPort())); } } else @@ -29,7 +29,21 @@ int NJGIS::SERVICE::NjServiceAccess::getModelServicesList( std::vectorgetBaseUrl(url); + url = url + "modelser/json/" + oid; + Json::Value jResonese; + NJGIS::SERVICE::NjHttpHelper::request_get_json_sync(url.c_str(), jResonese); + + if(jResonese["result"].asString() == "suc") + { + Json::Value jMs = jResonese["data"]; + return NjModelServiceFactory::createModelServiceByJSON(jMs, this->getIP(), this->getPort()); + } + else + { + return NULL; + } } int NJGIS::SERVICE::NjServiceAccess::getModelServicesByName( const char* name, std::vector &list ) diff --git a/test/test.cpp b/test/test.cpp index 8d5d256..9938bad 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -1,18 +1,24 @@ #include "NxServiceAPI.h" #include +#include int main() { NJGIS::SERVICE::INjServerFactory* pServerFactory = NJGIS::SERVICE::createServerFactory(); - NJGIS::SERVICE::INjServer* pServer = pServerFactory->createServer("172.21.213.119"); + NJGIS::SERVICE::INjServer* pServer = pServerFactory->createServer("172.21.212.119"); if(pServer != NULL) { if(pServer->connect() == 1) { - printf("Hello My SDK"); + std::cout <<"Hello My SDK!" << std::endl; NJGIS::SERVICE::INjServiceAccess* pServiceAccess = pServer->getServiceAccess(); std::vector list_ms; pServiceAccess->getModelServicesList(list_ms); + for(int i = 0; i < list_ms.size(); i++) + { + if(list_ms[i] == NULL) continue; + std::cout << list_ms[i]->getServiceOID() << " - " << list_ms[i]->getServiceName() << " - " << list_ms[i]->getServiceType() << std::endl; + } } } diff --git a/utils/NxHttp.cpp b/utils/NxHttp.cpp index 5e39661..05c82ad 100644 --- a/utils/NxHttp.cpp +++ b/utils/NxHttp.cpp @@ -23,7 +23,7 @@ int NJGIS::SERVICE::NjHttpHelper::request_get_sync( const char* url, std::string curl_easy_setopt(curl, CURLOPT_URL, url); // url curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false); // if want to use https curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, false); // set peer and host verify false - curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); + // curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); curl_easy_setopt(curl, CURLOPT_READFUNCTION, NULL); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NJGIS::SERVICE::NjHttpHelper::req_reply); curl_easy_setopt(curl, CURLOPT_HEADERDATA, (void *)&head); -- Gitee From 184cd67e15337b3f1d7eaa781ae928ff8e67c9ac Mon Sep 17 00:00:00 2001 From: Franklin_Zhang Date: Thu, 11 Jan 2018 23:57:04 +0800 Subject: [PATCH 4/6] Data interface update Signed-off-by: Franklin_Zhang --- include/INxData.h | 12 ++++++------ include/INxServiceAccess.h | 4 ++++ src/NxModelService.cpp | 1 + src/NxModelService.h | 1 + src/NxServiceAccess.cpp | 11 +++++++++-- src/NxServiceAccess.h | 3 +++ 6 files changed, 24 insertions(+), 8 deletions(-) diff --git a/include/INxData.h b/include/INxData.h index 47b5005..ca69f8b 100644 --- a/include/INxData.h +++ b/include/INxData.h @@ -21,17 +21,17 @@ namespace NJGIS public: virtual int isExist(); - virtual int getID(std::string& id) = 0; + virtual const char* getID() = 0; - virtual int getTag(std::string& tag) = 0; + virtual const char* getTag() = 0; - virtual int getGenarationDateTime(std::string& datetime) = 0; + virtual const char* getGenarationDateTime() = 0; - virtual int getType(NJGIS::SERVICE::NjDataType& type) = 0; + virtual NJGIS::SERVICE::NjDataType getType() = 0; - virtual int getSize(int& size) = 0; + virtual int getSize() = 0; - virtual int getValue(std::string& value) = 0; + virtual const char* getValue() = 0; virtual int save(const char* path) = 0; }; diff --git a/include/INxServiceAccess.h b/include/INxServiceAccess.h index b59c894..ca3c4da 100644 --- a/include/INxServiceAccess.h +++ b/include/INxServiceAccess.h @@ -2,6 +2,7 @@ #define __NJGIS_INJSERVICEACCESS_H__ #include "INxModelService.h" +#include "INxData.h" #include namespace NJGIS @@ -19,6 +20,9 @@ namespace NJGIS //! get model servcie by name virtual int getModelServicesByName(const char* name, std::vector &list) = 0; + + //! get a data service + virtual NJGIS::SERVICE::INjData* getDataServiceByID(const char* id) = 0; }; } diff --git a/src/NxModelService.cpp b/src/NxModelService.cpp index 943758a..a39a008 100644 --- a/src/NxModelService.cpp +++ b/src/NxModelService.cpp @@ -92,5 +92,6 @@ int NJGIS::SERVICE::NjModelService::invoke( const INjDataConfiguration* config, int NJGIS::SERVICE::NjModelService::refresh() { + //! TODO DX return NULL; } diff --git a/src/NxModelService.h b/src/NxModelService.h index 6d59776..bd657fd 100644 --- a/src/NxModelService.h +++ b/src/NxModelService.h @@ -90,6 +90,7 @@ namespace NJGIS virtual int invoke( const INjDataConfiguration* config, std::string& recordid ); + //! to refresh the information of this model service virtual int refresh(); private: diff --git a/src/NxServiceAccess.cpp b/src/NxServiceAccess.cpp index b3e387f..0260f57 100644 --- a/src/NxServiceAccess.cpp +++ b/src/NxServiceAccess.cpp @@ -48,5 +48,12 @@ NJGIS::SERVICE::INjModelService* NJGIS::SERVICE::NjServiceAccess::getModelServic int NJGIS::SERVICE::NjServiceAccess::getModelServicesByName( const char* name, std::vector &list ) { - throw std::exception("The method or operation is not implemented."); -} \ No newline at end of file + //! TODO DX + return NULL: +} + +NJGIS::SERVICE::INjData* NJGIS::SERVICE::NjServiceAccess::getDataServiceByID( const char* id ) +{ + // TODO YL + return NULL: +} diff --git a/src/NxServiceAccess.h b/src/NxServiceAccess.h index a79c9f5..d0451f1 100644 --- a/src/NxServiceAccess.h +++ b/src/NxServiceAccess.h @@ -19,6 +19,9 @@ namespace NJGIS virtual NJGIS::SERVICE::INjModelService* getModelServiceByOID( const char* oid ); virtual int getModelServicesByName( const char* name, std::vector &list ); + + virtual NJGIS::SERVICE::INjData* getDataServiceByID( const char* id ); + }; } } -- Gitee From 6a913c238ba66c2bd8d89218c00927e17a7f7b13 Mon Sep 17 00:00:00 2001 From: Franklin_Zhang Date: Fri, 12 Jan 2018 00:19:53 +0800 Subject: [PATCH 5/6] Data class update Signed-off-by: Franklin_Zhang --- src/NxData.cpp | 42 ++++++++++++++++++++++++++++++++ src/NxData.h | 47 ++++++++++++++++++++++++++++++++++++ src/NxDataFactory.cpp | 6 +++++ src/NxDataFactory.h | 19 +++++++++++++++ src/NxModelServiceRecord.cpp | 0 src/NxModelServiceRecord.h | 0 6 files changed, 114 insertions(+) create mode 100644 src/NxData.cpp create mode 100644 src/NxData.h create mode 100644 src/NxDataFactory.cpp create mode 100644 src/NxDataFactory.h create mode 100644 src/NxModelServiceRecord.cpp create mode 100644 src/NxModelServiceRecord.h diff --git a/src/NxData.cpp b/src/NxData.cpp new file mode 100644 index 0000000..a3dde88 --- /dev/null +++ b/src/NxData.cpp @@ -0,0 +1,42 @@ +#include "NxData.h" + +int NJGIS::SERVICE::NjData::isExist() +{ + return NULL; +} + +const char* NJGIS::SERVICE::NjData::getID() +{ + return NULL; +} + +const char* NJGIS::SERVICE::NjData::getTag() +{ + return NULL; +} + +const char* NJGIS::SERVICE::NjData::getGenarationDateTime() +{ + return NULL; +} + +NJGIS::SERVICE::NjDataType NJGIS::SERVICE::NjData::getType() +{ + return this->_type; +} + +int NJGIS::SERVICE::NjData::getSize() +{ + return NULL; +} + +const char* NJGIS::SERVICE::NjData::getValue() +{ + return NULL; +} + +int NJGIS::SERVICE::NjData::save( const char* path ) +{ + return NULL; +} + diff --git a/src/NxData.h b/src/NxData.h new file mode 100644 index 0000000..825a895 --- /dev/null +++ b/src/NxData.h @@ -0,0 +1,47 @@ +#ifndef __NJGIS_NJDATA_H__ +#define __NJGIS_NJDATA_H__ + +#include "../include/INxData.h" +#include "NxService.h" + +namespace NJGIS +{ + namespace SERVICE + { + class NjData : public virtual INjData, public virtual NjService + { + public: + virtual int isExist(); + + virtual const char* getID(); + + virtual const char* getTag(); + + virtual const char* getGenarationDateTime(); + + virtual NJGIS::SERVICE::NjDataType getType(); + + virtual int getSize(); + + virtual const char* getValue(); + + virtual int save( const char* path ); + + private: + std::string _id; + + std::string _tag; + + int _size; + + std::string _genarationDateTime; + + NJGIS::SERVICE::NjDataType _type; + + std::string _value; + + }; + } +} + +#endif \ No newline at end of file diff --git a/src/NxDataFactory.cpp b/src/NxDataFactory.cpp new file mode 100644 index 0000000..414625d --- /dev/null +++ b/src/NxDataFactory.cpp @@ -0,0 +1,6 @@ +#include "NxDataFactory.h" + +NJGIS::SERVICE::INjData* NJGIS::SERVICE::NjDataFactory::createDataByJSON( Json::Value jData, const char* ip, int port ) +{ + return NULL; +} \ No newline at end of file diff --git a/src/NxDataFactory.h b/src/NxDataFactory.h new file mode 100644 index 0000000..528aec4 --- /dev/null +++ b/src/NxDataFactory.h @@ -0,0 +1,19 @@ +#ifndef __NJGIS_NJDATAFACTORY_H__ +#define __NJGIS_NJDATAFACTORY_H__ + +#include "../include/INxData.h" +#include "json/json.h" + +namespace NJGIS +{ + namespace SERVICE + { + class NjDataFactory + { + public: + static NJGIS::SERVICE::INjData* createDataByJSON(Json::Value jData, const char* ip, int port); + }; + } +} + +#endif \ No newline at end of file diff --git a/src/NxModelServiceRecord.cpp b/src/NxModelServiceRecord.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/NxModelServiceRecord.h b/src/NxModelServiceRecord.h new file mode 100644 index 0000000..e69de29 -- Gitee From 5dd4a440f7e7a5084247e658aa95c5ba55bcddb9 Mon Sep 17 00:00:00 2001 From: Franklin_Zhang Date: Fri, 12 Jan 2018 01:20:06 +0800 Subject: [PATCH 6/6] update model service record interface Signed-off-by: Franklin_Zhang --- include/INxModelServiceRecord.h | 21 ++++++++++++--------- src/NxModelServiceRecord.cpp | 1 + src/NxModelServiceRecord.h | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/include/INxModelServiceRecord.h b/include/INxModelServiceRecord.h index bfe9ba5..f4a038e 100644 --- a/include/INxModelServiceRecord.h +++ b/include/INxModelServiceRecord.h @@ -4,8 +4,9 @@ #include #include -#include "INxUnknown.h" +#include "INxService.h" #include "INxDataConfiguration.h" +#include "INxModelService.h" namespace NJGIS @@ -20,22 +21,24 @@ namespace NJGIS } NjRecordStatus; - class INjModelServiceRecord : public virtual INxUnknown + class INjModelServiceRecord : public virtual INjService { public: - virtual int getID(std::string& id) = 0; + virtual const char* getID() = 0; - virtual int getServiceID(std::string& id) = 0; + virtual const char* getModelServiceID() = 0; - virtual int getStartDatetime(std::string& datetime) = 0; + virtual INjModelService* getModelService() = 0; - virtual int getTimeSpan(int& span) = 0; + virtual const char* getStartDatetime() = 0; - virtual int getInputData(INjDataConfiguration* &input) = 0; + virtual int getTimeSpan() = 0; - virtual int getOutputData(INjDataConfiguration* &output) = 0; + virtual INjDataConfiguration* getInputData() = 0; - virtual int getStatus(NjRecordStatus& status) = 0; + virtual INjDataConfiguration* getOutputData() = 0; + + virtual NjRecordStatus getStatus() = 0; virtual int getRunningInfo(std::string& stardout, std::string& standerr, std::string& invokeerr) = 0; diff --git a/src/NxModelServiceRecord.cpp b/src/NxModelServiceRecord.cpp index e69de29..baa9dce 100644 --- a/src/NxModelServiceRecord.cpp +++ b/src/NxModelServiceRecord.cpp @@ -0,0 +1 @@ +#include "INxModelServiceRecord.h" diff --git a/src/NxModelServiceRecord.h b/src/NxModelServiceRecord.h index e69de29..3ff240c 100644 --- a/src/NxModelServiceRecord.h +++ b/src/NxModelServiceRecord.h @@ -0,0 +1,19 @@ +#ifndef __NJGIS_NJMODELSERVICERECORD_H__ +#define __NJGIS_NJMODELSERVICERECORD_H__ + +#include "../include/INxModelServiceRecord.h" +#include "NxService.h" + +namespace NJGIS +{ + namespace SERVICE + { + class NxModelServiceRecord : public virtual INjModelServiceRecord, public virtual NjService + { + public: + + }; + } +} + +#endif \ No newline at end of file -- Gitee