mirror of
https://github.com/Telecominfraproject/wlan-cloud-owprov.git
synced 2025-10-29 09:42:38 +00:00
Adding tree import.
This commit is contained in:
@@ -49,42 +49,42 @@ namespace OpenWifi {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool APConfig::merge(const Poco::JSON::Object::Ptr & A, const Poco::JSON::Object::Ptr & B, Poco::JSON::Object &C) {
|
||||
bool APConfig::merge(const Poco::JSON::Object::Ptr & A, const Poco::JSON::Object::Ptr & B, Poco::JSON::Object::Ptr &C) {
|
||||
|
||||
for(const auto &i:*A) {
|
||||
const std::string & K = i.first;
|
||||
// std::cout << "KEY: " << K << std::endl;
|
||||
// std::cout << "KEY: " << K << std::endl;
|
||||
if(B->has(K)) {
|
||||
if(A->isArray(K)) {
|
||||
// std::cout << "ISARRAY" << std::endl;
|
||||
// std::cout << "ISARRAY" << std::endl;
|
||||
if(B->isArray(K)) {
|
||||
Poco::JSON::Array Arr;
|
||||
auto AR1=A->getArray(K);
|
||||
auto AR2=B->getArray(K);
|
||||
mergeArray(K,AR1,AR2,Arr);
|
||||
C.set(K,Arr);
|
||||
C->set(K,Arr);
|
||||
} else {
|
||||
C.set(K,A->getArray(K));
|
||||
C->set(K,A->getArray(K));
|
||||
}
|
||||
}
|
||||
else if(A->isObject(K) && B->isObject(K)) {
|
||||
// std::cout << "ISOBJECT" << std::endl;
|
||||
Poco::JSON::Object R;
|
||||
// std::cout << "ISOBJECT" << std::endl;
|
||||
Poco::JSON::Object::Ptr R;
|
||||
merge(A->getObject(K),B->getObject(K),R);
|
||||
C.set(K,R);
|
||||
C->set(K,R);
|
||||
}
|
||||
else {
|
||||
C.set(K,i.second);
|
||||
C->set(K,i.second);
|
||||
}
|
||||
} else {
|
||||
C.set(K,i.second);
|
||||
C->set(K,i.second);
|
||||
}
|
||||
}
|
||||
|
||||
for(const auto &i:*B) {
|
||||
const std::string & K = i.first;
|
||||
if(!A->has(K))
|
||||
C.set(K,i.second);
|
||||
C->set(K,i.second);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -118,19 +118,20 @@ namespace OpenWifi {
|
||||
// globals
|
||||
// unit
|
||||
|
||||
Poco::JSON::Object CFG;
|
||||
Poco::JSON::Object::Ptr CFG;
|
||||
for(const auto &i:Config_) {
|
||||
Poco::JSON::Parser P;
|
||||
auto O = P.parse(i.configuration).extract<Poco::JSON::Object::Ptr>();
|
||||
for(const auto &j:*O) {
|
||||
CFG.set(j.first,j.second);
|
||||
}
|
||||
Poco::JSON::Object::Ptr Result;
|
||||
merge(CFG, O, Result);
|
||||
CFG = Result;
|
||||
}
|
||||
|
||||
Configuration = CFG;
|
||||
Configuration = *CFG;
|
||||
|
||||
if(Config_.empty())
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace OpenWifi {
|
||||
|
||||
bool FindRadio(const std::string &Band, const Poco::JSON::Array::Ptr &Arr, Poco::JSON::Object::Ptr & Radio);
|
||||
bool mergeArray(const std::string &K, const Poco::JSON::Array::Ptr &A , const Poco::JSON::Array::Ptr &B, Poco::JSON::Array &Arr);
|
||||
bool merge(const Poco::JSON::Object::Ptr & A, const Poco::JSON::Object::Ptr & B, Poco::JSON::Object &C);
|
||||
bool merge(const Poco::JSON::Object::Ptr & A, const Poco::JSON::Object::Ptr & B, Poco::JSON::Object::Ptr &C);
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ gettag() {
|
||||
}
|
||||
|
||||
addtag() {
|
||||
payload="{ \"name\" : \"$1\",\"entity\" : \"$2\", \"serialNumber\" : \"$1\", \"deviceType\" : \"linksys_ea8300\" }";
|
||||
payload="{ \"name\" : \"$1\", \"serialNumber\" : \"$1\", \"deviceType\" : \"linksys_ea8300\" }";
|
||||
curl ${FLAGS} -X POST "https://${OWPROV}/api/v1/inventory/1" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer ${token}" \
|
||||
@@ -372,7 +372,7 @@ case "$1" in
|
||||
"tree") login; tree ; logout;;
|
||||
"importtree") login; importtree $2; logout;;
|
||||
"deviceconfig") login; deviceconfig "$2"; logout;;
|
||||
"addtag") login; addtag $2 $3; logout;;
|
||||
"addtag") login; addtag "$2"; logout;;
|
||||
"unassigntag") login; unassigntag $2; logout;;
|
||||
"addunassignedtag") login; addunassignedtag $2 ; logout;;
|
||||
"getunassignedtags") login; getunassignedtags ; logout;;
|
||||
|
||||
Reference in New Issue
Block a user