From: Lukasz Wojciechowski Date: Sun, 30 Nov 2014 00:48:42 +0000 (+0100) Subject: Implement listPolicies() in service Logic layer X-Git-Tag: accepted/tizen/common/20150119.084431~70 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F51%2F31051%2F7;p=platform%2Fcore%2Fsecurity%2Fcynara.git Implement listPolicies() in service Logic layer Implementation lists policies from Storage and returns filled vector of Policies. It catches also BucketNotExistsException that is thrown when invalid bucket is passed in ListRequest. Change-Id: I7b3777b70f654d9a7324c6203e9f25eebb029f1e --- diff --git a/src/service/logic/Logic.cpp b/src/service/logic/Logic.cpp index 684eac3..679da17 100644 --- a/src/service/logic/Logic.cpp +++ b/src/service/logic/Logic.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -42,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -50,6 +52,8 @@ #include #include #include +#include +#include #include
#include @@ -277,6 +281,20 @@ void Logic::execute(RequestContextPtr context, InsertOrUpdateBucketRequestPtr re request->sequenceNumber())); } +void Logic::execute(RequestContextPtr context, ListRequestPtr request) { + bool bucketValid = true; + + std::vector policies; + try { + policies = m_storage->listPolicies(request->bucket(), request->filter()); + } catch (const BucketNotExistsException &ex) { + bucketValid = false; + } + + context->returnResponse(context, std::make_shared(policies, bucketValid, + request->sequenceNumber())); +} + void Logic::execute(RequestContextPtr context, RemoveBucketRequestPtr request) { auto code = CodeResponse::Code::OK; try { diff --git a/src/service/logic/Logic.h b/src/service/logic/Logic.h index 33c5701..d347071 100644 --- a/src/service/logic/Logic.h +++ b/src/service/logic/Logic.h @@ -70,6 +70,7 @@ public: virtual void execute(RequestContextPtr context, CancelRequestPtr request); virtual void execute(RequestContextPtr context, CheckRequestPtr request); virtual void execute(RequestContextPtr context, InsertOrUpdateBucketRequestPtr request); + virtual void execute(RequestContextPtr context, ListRequestPtr request); virtual void execute(RequestContextPtr context, RemoveBucketRequestPtr request); virtual void execute(RequestContextPtr context, SetPoliciesRequestPtr request); virtual void execute(RequestContextPtr context, SignalRequestPtr request);