ack, code review only/Regards HansN
On 06/04/14 12:20, praveen.malv...@oracle.com wrote:
>   osaf/services/saf/amf/amfd/ckpt_updt.cc  |   6 ++--
>   osaf/services/saf/amf/amfd/csi.cc        |  42 
> +++++++++----------------------
>   osaf/services/saf/amf/amfd/csiattr.cc    |  12 ++++----
>   osaf/services/saf/amf/amfd/include/csi.h |   2 +-
>   osaf/services/saf/amf/amfd/pg.cc         |   2 +-
>   osaf/services/saf/amf/amfd/sgproc.cc     |   8 +++---
>   6 files changed, 28 insertions(+), 44 deletions(-)
>
>
> diff --git a/osaf/services/saf/amf/amfd/ckpt_updt.cc 
> b/osaf/services/saf/amf/amfd/ckpt_updt.cc
> --- a/osaf/services/saf/amf/amfd/ckpt_updt.cc
> +++ b/osaf/services/saf/amf/amfd/ckpt_updt.cc
> @@ -443,7 +443,7 @@ uint32_t avd_ckpt_siass(AVD_CL_CB *cb, A
>                                       LOG_ER("avd_comp_get FAILED for '%s'", 
> su_si_rel_ptr->comp_name.value);
>                                       return NCSCC_RC_FAILURE;
>                               }
> -                             if ((csi_ptr = avd_csi_get 
> (&(su_si_rel_ptr->csi_name))) == NULL) {
> +                             if ((csi_ptr = 
> csi_db->find(Amf::to_string(&(su_si_rel_ptr->csi_name)))) == NULL) {
>                                       /* This condition will arise if there 
> is some delay in the ccb apply callback
>                                        * So create csi and add it to the 
> csi_db here, later in the ccb apply callback
>                                        * attributes will be updated and csi 
> will be added to the model
> @@ -474,8 +474,8 @@ uint32_t avd_ckpt_siass(AVD_CL_CB *cb, A
>                                       return NCSCC_RC_FAILURE;
>                               }
>   
> -                             if ((csi_ptr = avd_csi_get 
> (&(su_si_ckpt->csi_name))) == NULL) {
> -                                     LOG_ER("avd_csi_get FAILED for 
> '%s'",su_si_ckpt->csi_name.value);
> +                             if ((csi_ptr = 
> csi_db->find(Amf::to_string(&(su_si_ckpt->csi_name)))) == NULL) {
> +                                     LOG_ER("csi_db->find() FAILED for 
> '%s'",su_si_ckpt->csi_name.value);
>                                       return NCSCC_RC_FAILURE;
>                               }
>                               /* Find the relevant comp-csi to send susi 
> delete. */
> diff --git a/osaf/services/saf/amf/amfd/csi.cc 
> b/osaf/services/saf/amf/amfd/csi.cc
> --- a/osaf/services/saf/amf/amfd/csi.cc
> +++ b/osaf/services/saf/amf/amfd/csi.cc
> @@ -24,12 +24,11 @@
>   #include <imm.h>
>   #include <proc.h>
>   
> -static NCS_PATRICIA_TREE csi_db;
> +AmfDb<std::string, AVD_CSI> *csi_db = NULL;
>   
>   void avd_csi_delete(AVD_CSI *csi)
>   {
>       AVD_CSI_ATTR *temp;
> -     unsigned int rc;
>       TRACE_ENTER2("%s", csi->name.value);
>   
>       /* Delete CSI attributes */
> @@ -42,8 +41,7 @@ void avd_csi_delete(AVD_CSI *csi)
>       avd_cstype_remove_csi(csi);
>       avd_si_remove_csi(csi);
>   
> -     rc = ncs_patricia_tree_del(&csi_db, &csi->tree_node);
> -     osafassert(rc == NCSCC_RC_SUCCESS);
> +     csi_db->erase(Amf::to_string(&csi->name));
>       
>       if (csi->saAmfCSIDependencies != NULL) {
>               AVD_CSI_DEPS *csi_dep;
> @@ -81,16 +79,6 @@ void csi_cmplt_delete(AVD_CSI *csi, bool
>       TRACE_LEAVE2();
>   }
>   
> -AVD_CSI *avd_csi_get(const SaNameT *dn)
> -{
> -     SaNameT tmp = {0};
> -
> -     tmp.length = dn->length;
> -     memcpy(tmp.value, dn->value, tmp.length);
> -     
> -     return (AVD_CSI *)ncs_patricia_tree_get(&csi_db, (uint8_t *)&tmp);
> -}
> -
>   /**
>    * Validate configuration attributes for an AMF CSI object
>    * @param csi
> @@ -148,7 +136,7 @@ static int is_config_valid(const SaNameT
>                               return 0;
>                       }
>   
> -                     if (avd_csi_get(&saAmfCSIDependency) == NULL) {
> +                     if (csi_db->find(Amf::to_string(&saAmfCSIDependency)) 
> == NULL) {
>                               /* CSI does not exist in current model, check 
> CCB if passed as param */
>                               if (opdata == NULL) {
>                                       /* initial loading, check IMM */
> @@ -271,9 +259,8 @@ AVD_CSI *csi_create(const SaNameT *csi_n
>       csi = new AVD_CSI();
>       memcpy(csi->name.value, csi_name->value, csi_name->length);
>       csi->name.length = csi_name->length;
> -     csi->tree_node.key_info = (uint8_t *)&(csi->name);
>   
> -     if (ncs_patricia_tree_add(&csi_db, &csi->tree_node) != NCSCC_RC_SUCCESS)
> +     if (csi_db->insert(Amf::to_string(&csi->name), csi) != NCSCC_RC_SUCCESS)
>               osafassert(0);
>   
>       return csi;
> @@ -382,7 +369,7 @@ SaAisErrorT avd_csi_config_get(const SaN
>               if (!is_config_valid(&csi_name, attributes, NULL))
>                       goto done2;
>   
> -             if ((csi = avd_csi_get (&csi_name)) == NULL)
> +             if ((csi = csi_db->find(Amf::to_string(&csi_name))) == NULL)
>               {
>                       csi = csi_create(&csi_name);
>   
> @@ -539,7 +526,7 @@ static SaAisErrorT csi_ccb_completed_mod
>               if (!strcmp(attr_mod->modAttr.attrName, "saAmfCSType")) {
>                       AVD_CSI *csi;
>                       SaNameT cstype_name = *(SaNameT*) 
> attr_mod->modAttr.attrValues[0];
> -                     csi = avd_csi_get(&opdata->objectName);
> +                     csi = csi_db->find(Amf::to_string(&opdata->objectName));
>                       if(SA_AMF_ADMIN_LOCKED != csi->si->saAmfSIAdminState) {
>                               report_ccb_validation_error(opdata, "Parent SI 
> is not in locked state, SI state '%d'",
>                                               csi->si->saAmfSIAdminState);
> @@ -587,7 +574,7 @@ static SaAisErrorT csi_ccb_completed_del
>   
>       TRACE_ENTER2("CCB ID %llu, '%s'", opdata->ccbId, 
> opdata->objectName.value);
>   
> -     csi = avd_csi_get(&opdata->objectName);
> +     csi = csi_db->find(Amf::to_string(&opdata->objectName));
>   
>       if (avd_cb->avail_state_avd != SA_AMF_HA_ACTIVE) {
>               if (csi == NULL) {
> @@ -677,15 +664,15 @@ static void ccb_apply_delete_hdlr(CcbUti
>       AVD_SU_SI_REL *t_sisu;
>       AVD_COMP_CSI_REL *t_csicomp;
>       AVD_CSI *csi = static_cast<AVD_CSI*>(opdata->userData);
> -     AVD_CSI *csi_db;
> +     AVD_CSI *csi_in_db;
>   
>       bool first_sisu = true;
>   
>       if (avd_cb->avail_state_avd != SA_AMF_HA_ACTIVE) {
>               /* A double check whether csi has been deleted from DB or not 
> and whether pointer stored userData
>                  is still valid. */
> -             csi_db =  avd_csi_get(&opdata->objectName);
> -             if ((csi == NULL) || (csi_db == NULL)) {
> +             csi_in_db =  csi_db->find(Amf::to_string(&opdata->objectName));
> +             if ((csi == NULL) || (csi_in_db == NULL)) {
>                       /* This means that csi has been deleted during 
> checkpointing at STDBY and delete callback
>                          has arrived delayed.*/
>                       LOG_WA("CSI delete apply (STDBY): csi does not exist");
> @@ -771,7 +758,7 @@ static void csi_ccb_apply_modify_hdlr(st
>   
>           TRACE_ENTER2("CCB ID %llu, '%s'", opdata->ccbId, 
> opdata->objectName.value);
>    
> -     csi = avd_csi_get(&opdata->objectName);
> +     csi = csi_db->find(Amf::to_string(&opdata->objectName));
>       while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL) {
>               if (!strcmp(attr_mod->modAttr.attrName, "saAmfCSType")) {
>                       struct avd_cstype *csi_type;
> @@ -809,7 +796,7 @@ static void csi_ccb_apply_modify_hdlr(st
>   static void csi_ccb_apply_create_hdlr(struct CcbUtilOperationData *opdata)
>   {
>       AVD_CSI *csi = NULL;
> -     if ((csi = avd_csi_get (&opdata->objectName)) == NULL) {
> +     if ((csi = csi_db->find(Amf::to_string(&opdata->objectName))) == NULL) {
>               /* this check is added because, some times there is
>                  possibility that before getting ccb apply callback
>                  we might get compcsi create checkpoint and csi will
> @@ -1255,10 +1242,7 @@ void avd_csi_add_csiattr(AVD_CSI *csi, A
>   
>   void avd_csi_constructor(void)
>   {
> -     NCS_PATRICIA_PARAMS patricia_params;
> -
> -     patricia_params.key_size = sizeof(SaNameT);
> -     osafassert(ncs_patricia_tree_init(&csi_db, &patricia_params) == 
> NCSCC_RC_SUCCESS);
> +     csi_db = new AmfDb<std::string, AVD_CSI>;
>       avd_class_impl_set("SaAmfCSI", NULL, NULL, csi_ccb_completed_cb,
>               csi_ccb_apply_cb);
>   }
> diff --git a/osaf/services/saf/amf/amfd/csiattr.cc 
> b/osaf/services/saf/amf/amfd/csiattr.cc
> --- a/osaf/services/saf/amf/amfd/csiattr.cc
> +++ b/osaf/services/saf/amf/amfd/csiattr.cc
> @@ -296,7 +296,7 @@ static SaAisErrorT csiattr_ccb_completed
>                       SA_MAX_NAME_LENGTH);
>       csi_dn.length = strlen((char *)&csi_dn.value);
>   
> -     if (NULL == (csi = avd_csi_get(&csi_dn))) {
> +     if (NULL == (csi = csi_db->find(Amf::to_string(&csi_dn)))) {
>               /* if CSI is NULL, that means the CSI is added in the same CCB
>                * so allow the csi attributes also to be added in any state of 
> the parent SI
>                */
> @@ -353,7 +353,7 @@ static SaAisErrorT csiattr_ccb_completed
>                       SA_MAX_NAME_LENGTH);
>       csi_dn.length = strlen((char *)&csi_dn.value);
>   
> -     if (NULL == (csi = avd_csi_get(&csi_dn))) {
> +     if (NULL == (csi = csi_db->find(Amf::to_string(&csi_dn)))) {
>               report_ccb_validation_error(opdata, "csi '%s' doesn't exists", 
> csi_dn.value);
>               goto done;
>       }
> @@ -454,7 +454,7 @@ static SaAisErrorT csiattr_ccb_completed
>                           SA_MAX_NAME_LENGTH);
>           csi_dn.length = strlen((char *)&csi_dn.value);
>   
> -        if (NULL == (csi = avd_csi_get(&csi_dn))) {
> +        if (NULL == (csi = csi_db->find(Amf::to_string(&csi_dn)))) {
>                   report_ccb_validation_error(opdata, "csi '%s' doesn't 
> exists", csi_dn.value);
>                   goto done;
>           }
> @@ -505,7 +505,7 @@ static void csiattr_create_apply(CcbUtil
>       AVD_CSI *csi;
>   
>       csiattr = csiattr_create(&opdata->objectName, 
> opdata->param.create.attrValues);
> -     csi = avd_csi_get(opdata->param.create.parentName);
> +     csi = csi_db->find(Amf::to_string(opdata->param.create.parentName));
>       avd_csi_add_csiattr(csi, csiattr);
>   }
>   
> @@ -525,7 +525,7 @@ static void csiattr_modify_apply(CcbUtil
>                           SA_MAX_NAME_LENGTH);
>           csi_dn.length = strlen((char *)&csi_dn.value);
>   
> -        csi = avd_csi_get(&csi_dn);
> +        csi = csi_db->find(Amf::to_string(&csi_dn));
>   
>           csiattr_dn_to_csiattr_name(&opdata->objectName, &csi_attr_name);
>       /* create new name-value pairs for the modified csi attribute */
> @@ -634,7 +634,7 @@ static void csiattr_delete_apply(CcbUtil
>                           SA_MAX_NAME_LENGTH);
>           csi_dn.length = strlen((char *)&csi_dn.value);
>   
> -        csi = avd_csi_get(&csi_dn);
> +        csi = csi_db->find(Amf::to_string(&csi_dn));
>   
>       if (NULL == csi) {
>               /* This is the case when csi might have been deleted before csi 
> attr.
> diff --git a/osaf/services/saf/amf/amfd/include/csi.h 
> b/osaf/services/saf/amf/amfd/include/csi.h
> --- a/osaf/services/saf/amf/amfd/include/csi.h
> +++ b/osaf/services/saf/amf/amfd/include/csi.h
> @@ -54,7 +54,6 @@ typedef struct avd_csi_deps_tag {
>    * associated with the CSI on the AvD.
>    */
>   typedef struct avd_csi_tag {
> -     NCS_PATRICIA_NODE tree_node;    /* key will be the CSI name */
>   
>       SaNameT name;
>       SaNameT saAmfCSType;
> @@ -82,6 +81,7 @@ typedef struct avd_csi_tag {
>       bool assign_flag;   /* Flag used while assigning. to mark this csi has 
> been assigned a Comp
>                                  from * current SI being assigned */
>   } AVD_CSI;
> +extern AmfDb<std::string, AVD_CSI> *csi_db;
>   
>   typedef struct avd_cstype {
>       SaNameT name;           /* name of the CSType */
> diff --git a/osaf/services/saf/amf/amfd/pg.cc 
> b/osaf/services/saf/amf/amfd/pg.cc
> --- a/osaf/services/saf/amf/amfd/pg.cc
> +++ b/osaf/services/saf/amf/amfd/pg.cc
> @@ -82,7 +82,7 @@ void avd_pg_trk_act_evh(AVD_CL_CB *cb, A
>       }
>   
>       /* get the node & csi */
> -     csi = avd_csi_get(&info->csi_name);
> +     csi = csi_db->find(Amf::to_string(&info->csi_name));
>   
>       /* update the pg lists maintained on csi & node */
>       if (csi != NULL) {
> diff --git a/osaf/services/saf/amf/amfd/sgproc.cc 
> b/osaf/services/saf/amf/amfd/sgproc.cc
> --- a/osaf/services/saf/amf/amfd/sgproc.cc
> +++ b/osaf/services/saf/amf/amfd/sgproc.cc
> @@ -913,7 +913,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>                               susi->csi_add_rem = static_cast<SaBoolT>(false);
>                               comp = avd_comp_get(&susi->comp_name);
>                               osafassert(comp);
> -                             csi = avd_csi_get(&susi->csi_name);
> +                             csi = 
> csi_db->find(Amf::to_string(&susi->csi_name));
>                               osafassert(csi);
>   
>                               for (t_comp_csi = susi->list_of_csicomp; 
> t_comp_csi; t_comp_csi = t_comp_csi->susi_csicomp_next) {
> @@ -935,7 +935,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>                                               all_csi_rem = false;
>                                               comp = 
> avd_comp_get(&t_sisu->comp_name);
>                                               osafassert(comp);
> -                                             csi = 
> avd_csi_get(&t_sisu->csi_name);
> +                                             csi = 
> csi_db->find(Amf::to_string(&t_sisu->csi_name));
>                                               osafassert(csi);
>   
>                                               for (t_comp_csi = 
> t_sisu->list_of_csicomp; t_comp_csi; t_comp_csi = 
> t_comp_csi->susi_csicomp_next) {
> @@ -974,7 +974,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>                               susi->csi_add_rem = static_cast<SaBoolT>(false);
>                               comp = avd_comp_get(&susi->comp_name);
>                               osafassert(comp);
> -                             csi = avd_csi_get(&susi->csi_name);
> +                             csi = 
> csi_db->find(Amf::to_string(&susi->csi_name));
>                               osafassert(csi);
>   
>                               for (t_comp_csi = susi->list_of_csicomp; 
> t_comp_csi; t_comp_csi = t_comp_csi->susi_csicomp_next) {
> @@ -991,7 +991,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>                                               /* Find the comp csi 
> relationship. */
>                                               comp = 
> avd_comp_get(&t_sisu->comp_name);
>                                               osafassert(comp);
> -                                             csi = 
> avd_csi_get(&t_sisu->csi_name);
> +                                             csi = 
> csi_db->find(Amf::to_string(&t_sisu->csi_name));
>                                               osafassert(csi);
>   
>                                               for (t_comp_csi = 
> t_sisu->list_of_csicomp; t_comp_csi; t_comp_csi = 
> t_comp_csi->susi_csicomp_next) {


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their 
applications. Written by three acclaimed leaders in the field, 
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to