ack, code review only/Regards HansN
On 06/04/14 12:20, praveen.malv...@oracle.com wrote:
>   osaf/services/saf/amf/amfd/comp.cc        |  12 +++++-----
>   osaf/services/saf/amf/amfd/comptype.cc    |  33 
> ++++++------------------------
>   osaf/services/saf/amf/amfd/include/comp.h |   2 +-
>   3 files changed, 14 insertions(+), 33 deletions(-)
>
>
> diff --git a/osaf/services/saf/amf/amfd/comp.cc 
> b/osaf/services/saf/amf/amfd/comp.cc
> --- a/osaf/services/saf/amf/amfd/comp.cc
> +++ b/osaf/services/saf/amf/amfd/comp.cc
> @@ -217,7 +217,7 @@ static void comp_add_to_model(AVD_COMP *
>       su = comp->su = su_db->find(Amf::to_string(&dn));
>   
>       avd_comp_db_add(comp);
> -     comp->comp_type = avd_comptype_get(&comp->saAmfCompType);
> +     comp->comp_type = 
> comptype_db->find(Amf::to_string(&comp->saAmfCompType));
>       osafassert(comp->comp_type);
>       avd_comptype_add_comp(comp);
>       su->add_comp(comp);
> @@ -316,7 +316,7 @@ static int is_config_valid(const SaNameT
>       rc = immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompType"), 
> attributes, 0, &aname);
>       osafassert(rc == SA_AIS_OK);
>   
> -     if (avd_comptype_get(&aname) == NULL) {
> +     if (comptype_db->find(Amf::to_string(&aname)) == NULL) {
>               /* Comp type does not exist in current model, check CCB */
>               if (opdata == NULL) {
>                       report_ccb_validation_error(opdata, "'%s' does not 
> exist in model", aname.value);
> @@ -484,7 +484,7 @@ static AVD_COMP *comp_create(const SaNam
>       error = immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompType"), 
> attributes, 0, &comp->saAmfCompType);
>       osafassert(error == SA_AIS_OK);
>   
> -     if ((comptype = avd_comptype_get(&comp->saAmfCompType)) == NULL) {
> +     if ((comptype = 
> comptype_db->find(Amf::to_string(&comp->saAmfCompType))) == NULL) {
>               LOG_ER("saAmfCompType '%s' does not exist", 
> comp->saAmfCompType.value);
>               goto done;
>       }
> @@ -851,7 +851,7 @@ static SaAisErrorT ccb_completed_modify_
>   
>               if (!strcmp(attribute->attrName, "saAmfCompType")) {
>                       SaNameT dn = *((SaNameT*)value);
> -                     if (NULL == avd_comptype_get(&dn)) {
> +                     if (NULL == comptype_db->find(Amf::to_string(&dn))) {
>                               report_ccb_validation_error(opdata, 
> "saAmfCompType '%s' not found", dn.value);
>                               goto done;
>                       }
> @@ -1115,7 +1115,7 @@ static void comp_ccb_apply_modify_hdlr(s
>   
>       comp = avd_comp_get(&opdata->objectName);
>       param.name = comp->comp_info.name;
> -     comp_type = avd_comptype_get(&comp->saAmfCompType);
> +     comp_type = comptype_db->find(Amf::to_string(&comp->saAmfCompType));
>   
>       su_node_ptr = comp->su->get_node_ptr();
>   
> @@ -1148,7 +1148,7 @@ static void comp_ccb_apply_modify_hdlr(s
>                                       opdata->objectName.value);
>                       avd_comptype_remove_comp(comp);
>                       comp->saAmfCompType = *dn;
> -                     comp->comp_type = avd_comptype_get(dn);
> +                     comp->comp_type = comptype_db->find(Amf::to_string(dn));
>                       avd_comptype_add_comp(comp);
>                       param.attr_id = saAmfCompType_ID;
>                       param.name_sec = *dn;
> diff --git a/osaf/services/saf/amf/amfd/comptype.cc 
> b/osaf/services/saf/amf/amfd/comptype.cc
> --- a/osaf/services/saf/amf/amfd/comptype.cc
> +++ b/osaf/services/saf/amf/amfd/comptype.cc
> @@ -27,33 +27,19 @@
>   /* Global variable for the singleton object used by comp class */
>   AVD_COMP_GLOBALATTR avd_comp_global_attrs;
>   
> -static NCS_PATRICIA_TREE comptype_db;
> +AmfDb<std::string, AVD_COMP_TYPE> *comptype_db = NULL;
> +
>   
>   static void comptype_db_add(AVD_COMP_TYPE *compt)
>   {
> -     unsigned int rc = ncs_patricia_tree_add(&comptype_db, 
> &compt->tree_node);
> +     unsigned int rc = 
> comptype_db->insert(Amf::to_string(&compt->name),compt);
>       osafassert (rc == NCSCC_RC_SUCCESS);
>   }
>   
> -AVD_COMP_TYPE *avd_comptype_get(const SaNameT *dn)
> -{
> -     SaNameT tmp = {0};
> -
> -     tmp.length = dn->length;
> -     memcpy(tmp.value, dn->value, tmp.length);
> -
> -     return (AVD_COMP_TYPE *)ncs_patricia_tree_get(&comptype_db, (uint8_t 
> *)&tmp);
> -}
> -
>   static void comptype_delete(AVD_COMP_TYPE *avd_comp_type)
>   {
> -     unsigned int rc;
> -
>       osafassert(NULL == avd_comp_type->list_of_comp);
> -
> -     rc = ncs_patricia_tree_del(&comptype_db, &avd_comp_type->tree_node);
> -     osafassert(rc == NCSCC_RC_SUCCESS);
> -
> +     comptype_db->erase(Amf::to_string(&avd_comp_type->name));
>       delete avd_comp_type;
>   }
>   
> @@ -101,7 +87,6 @@ static AVD_COMP_TYPE *comptype_create(co
>   
>       memcpy(compt->name.value, dn->value, dn->length);
>       compt->name.length = dn->length;
> -     compt->tree_node.key_info = (uint8_t *)&(compt->name);
>   
>       error = 
> immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCtCompCategory"), 
> attributes, 0, &compt->saAmfCtCompCategory);
>       osafassert(error == SA_AIS_OK);
> @@ -391,7 +376,7 @@ SaAisErrorT avd_comptype_config_get(void
>       while (immutil_saImmOmSearchNext_2(searchHandle, &dn, 
> (SaImmAttrValuesT_2 ***)&attributes) == SA_AIS_OK) {
>               if (config_is_valid(&dn, attributes, NULL) == false)
>                       goto done2;
> -             if ((comp_type = avd_comptype_get(&dn)) == NULL) {
> +             if ((comp_type = comptype_db->find(Amf::to_string(&dn))) == 
> NULL) {
>                       if ((comp_type = comptype_create(&dn, attributes)) == 
> NULL)
>                               goto done2;
>   
> @@ -553,7 +538,7 @@ static SaAisErrorT comptype_ccb_complete
>               rc = ccb_completed_modify_hdlr(opdata);
>               break;
>       case CCBUTIL_DELETE:
> -             comp_type = avd_comptype_get(&opdata->objectName);
> +             comp_type = 
> comptype_db->find(Amf::to_string(&opdata->objectName));
>               if (NULL != comp_type->list_of_comp) {
>                       /* check whether there exists a delete operation for
>                        * each of the Comp in the comp_type list in the 
> current CCB
> @@ -586,11 +571,7 @@ done:
>   
>   void avd_comptype_constructor(void)
>   {
> -     NCS_PATRICIA_PARAMS patricia_params;
> -
> -     patricia_params.key_size = sizeof(SaNameT);
> -     osafassert(ncs_patricia_tree_init(&comptype_db, &patricia_params) == 
> NCSCC_RC_SUCCESS);
> -
> +     comptype_db = new AmfDb<std::string, AVD_COMP_TYPE>;
>       avd_class_impl_set("SaAmfCompBaseType", NULL, NULL,
>               avd_imm_default_OK_completed_cb, NULL);
>       avd_class_impl_set("SaAmfCompType", NULL, NULL,
> diff --git a/osaf/services/saf/amf/amfd/include/comp.h 
> b/osaf/services/saf/amf/amfd/include/comp.h
> --- a/osaf/services/saf/amf/amfd/include/comp.h
> +++ b/osaf/services/saf/amf/amfd/include/comp.h
> @@ -125,7 +125,6 @@ typedef struct avd_comp_tag {
>   /* AMF Class SaAmfCompType */
>   typedef struct avd_amf_comp_type_tag {
>   
> -     NCS_PATRICIA_NODE tree_node;    /* name is key */
>       SaNameT name;
>       SaUint32T saAmfCtCompCategory;
>       SaNameT saAmfCtSwBundle;
> @@ -150,6 +149,7 @@ typedef struct avd_amf_comp_type_tag {
>       struct avd_comp_tag *list_of_comp;
>   
>   } AVD_COMP_TYPE;
> +extern  AmfDb<std::string, AVD_COMP_TYPE> *comptype_db;
>   
>   /* AMF Class SaAmfCompCsType */
>   typedef struct avd_comp_cs_type_tag {


------------------------------------------------------------------------------
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