Ack, code review only./BR HansN
On 05/23/14 11:15, praveen.malv...@oracle.com wrote:
>   osaf/services/saf/amf/amfd/compcstype.cc  |   4 +-
>   osaf/services/saf/amf/amfd/ctcstype.cc    |  37 
> +++++++-----------------------
>   osaf/services/saf/amf/amfd/include/comp.h |   5 ++-
>   osaf/services/saf/amf/amfd/util.cc        |   2 +-
>   4 files changed, 15 insertions(+), 33 deletions(-)
>
>
> diff --git a/osaf/services/saf/amf/amfd/compcstype.cc 
> b/osaf/services/saf/amf/amfd/compcstype.cc
> --- a/osaf/services/saf/amf/amfd/compcstype.cc
> +++ b/osaf/services/saf/amf/amfd/compcstype.cc
> @@ -206,7 +206,7 @@ static int is_config_valid(const SaNameT
>   
>       ctcstype_name.length = sprintf((char*)ctcstype_name.value, "%s,%s", 
> cstype_name, comptype_name->value);
>   
> -     if (avd_ctcstype_get(&ctcstype_name) == NULL) {
> +     if (ctcstype_db->find(&ctcstype_name) == NULL) {
>               if (opdata == NULL) {
>                       report_ccb_validation_error(opdata, "'%s' does not 
> exist in model", ctcstype_name.value);
>                       goto free_cstype_name;
> @@ -258,7 +258,7 @@ static AVD_COMPCS_TYPE *compcstype_creat
>       ctcstype_name.length = sprintf((char*)ctcstype_name.value,
>               "%s,%s", cstype_name, comp->comp_type->name.value);
>   
> -     ctcstype = avd_ctcstype_get(&ctcstype_name);
> +     ctcstype = ctcstype_db->find(&ctcstype_name);
>   
>       if 
> (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompNumMaxActiveCSIs"), 
> attributes, 0,
>                               &num_max_act_csi) != SA_AIS_OK) {
> diff --git a/osaf/services/saf/amf/amfd/ctcstype.cc 
> b/osaf/services/saf/amf/amfd/ctcstype.cc
> --- a/osaf/services/saf/amf/amfd/ctcstype.cc
> +++ b/osaf/services/saf/amf/amfd/ctcstype.cc
> @@ -23,11 +23,11 @@
>   #include <comp.h>
>   #include <imm.h>
>   
> -static NCS_PATRICIA_TREE ctcstype_db;
> +AmfDb<AVD_CTCS_TYPE> *ctcstype_db = NULL;
>   
>   static void ctcstype_db_add(AVD_CTCS_TYPE *ctcstype)
>   {
> -     unsigned int rc = ncs_patricia_tree_add(&ctcstype_db, 
> &ctcstype->tree_node);
> +     unsigned int rc = ctcstype_db->insert(ctcstype);
>       osafassert(rc == NCSCC_RC_SUCCESS);
>   }
>   
> @@ -74,7 +74,6 @@ static AVD_CTCS_TYPE *ctcstype_create(co
>   
>       memcpy(ctcstype->name.value, dn->value, dn->length);
>       ctcstype->name.length = dn->length;
> -     ctcstype->tree_node.key_info = (uint8_t *)&(ctcstype->name);
>   
>       error = 
> immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCtCompCapability"), 
> attributes, 0, &ctcstype->saAmfCtCompCapability);
>       osafassert(error == SA_AIS_OK);
> @@ -96,25 +95,6 @@ static AVD_CTCS_TYPE *ctcstype_create(co
>       return ctcstype;
>   }
>   
> -static void ctcstype_delete(AVD_CTCS_TYPE *ctcstype)
> -{
> -     unsigned int rc;
> -
> -     rc = ncs_patricia_tree_del(&ctcstype_db, &ctcstype->tree_node);
> -     osafassert(rc == NCSCC_RC_SUCCESS);
> -     delete ctcstype;
> -}
> -
> -AVD_CTCS_TYPE *avd_ctcstype_get(const SaNameT *dn)
> -{
> -     SaNameT tmp = {0};
> -
> -     tmp.length = dn->length;
> -     memcpy(tmp.value, dn->value, tmp.length);
> -
> -     return (AVD_CTCS_TYPE *)ncs_patricia_tree_get(&ctcstype_db, (uint8_t 
> *)&tmp);
> -}
> -
>   SaAisErrorT avd_ctcstype_config_get(const SaNameT *comp_type_dn, 
> AVD_COMP_TYPE *comp_type)
>   {
>       SaAisErrorT error = SA_AIS_ERR_FAILED_OPERATION;
> @@ -143,7 +123,7 @@ SaAisErrorT avd_ctcstype_config_get(cons
>               if (!is_config_valid(&dn, attributes, NULL))
>                       goto done2;
>   
> -             if ((ctcstype = avd_ctcstype_get(&dn)) == NULL ) {
> +             if ((ctcstype = ctcstype_db->find(&dn)) == NULL ) {
>                       if ((ctcstype = ctcstype_create(&dn, attributes)) == 
> NULL)
>                               goto done2;
>   
> @@ -199,8 +179,11 @@ static void ctcstype_ccb_apply_cb(CcbUti
>               ctcstype_db_add(ctcstype);
>               break;
>       case CCBUTIL_DELETE:
> -             ctcstype = avd_ctcstype_get(&opdata->objectName);
> -             ctcstype_delete(ctcstype);
> +             ctcstype = ctcstype_db->find(&opdata->objectName);
> +             if (ctcstype != NULL) {
> +                     ctcstype_db->erase(ctcstype);
> +                     delete ctcstype;
> +             }
>               break;
>       default:
>               osafassert(0);
> @@ -212,10 +195,8 @@ static void ctcstype_ccb_apply_cb(CcbUti
>   
>   void avd_ctcstype_constructor(void)
>   {
> -     NCS_PATRICIA_PARAMS patricia_params;
> +     ctcstype_db = new AmfDb<AVD_CTCS_TYPE>;
>   
> -     patricia_params.key_size = sizeof(SaNameT);
> -     osafassert(ncs_patricia_tree_init(&ctcstype_db, &patricia_params) == 
> NCSCC_RC_SUCCESS);
>       avd_class_impl_set("SaAmfCtCsType", NULL, NULL,
>               ctcstype_ccb_completed_cb, ctcstype_ccb_apply_cb);
>   }
> 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
> @@ -39,6 +39,7 @@
>   #include <ncspatricia.h>
>   #include <amf_d2nmsg.h>
>   #include <cb.h>
> +#include "db_template.h"
>   
>   class AVD_SU;
>   
> @@ -165,7 +166,6 @@ typedef struct avd_comp_cs_type_tag {
>   
>   /* AMF Class SaAmfCtCsType */
>   typedef struct {
> -     NCS_PATRICIA_NODE tree_node;    /* name is key */
>       SaNameT name;
>       SaAmfCompCapabilityModelT saAmfCtCompCapability;
>       SaUint32T saAmfCtDefNumMaxActiveCSIs;
> @@ -173,6 +173,8 @@ typedef struct {
>       AVD_COMP_TYPE *comptype;
>   } AVD_CTCS_TYPE;
>   
> +extern AmfDb<AVD_CTCS_TYPE> *ctcstype_db;
> +
>   extern AVD_COMP_GLOBALATTR avd_comp_global_attrs;
>   
>   /**
> @@ -224,7 +226,6 @@ extern SaAisErrorT avd_compglobalattrs_c
>   extern void avd_compglobalattrs_constructor(void);
>   
>   extern SaAisErrorT avd_ctcstype_config_get(const SaNameT *comp_type_dn, 
> AVD_COMP_TYPE *comp_type);
> -extern AVD_CTCS_TYPE *avd_ctcstype_get(const SaNameT *dn);
>   extern void avd_ctcstype_constructor(void);
>   
>   extern AVD_COMPCS_TYPE *avd_compcstype_new(const SaNameT *dn);
> diff --git a/osaf/services/saf/amf/amfd/util.cc 
> b/osaf/services/saf/amf/amfd/util.cc
> --- a/osaf/services/saf/amf/amfd/util.cc
> +++ b/osaf/services/saf/amf/amfd/util.cc
> @@ -661,7 +661,7 @@ static SaAmfCompCapabilityModelT get_com
>       SaNameT dn;
>       avsv_create_association_class_dn(&csi->cstype->name,
>               &comp->comp_type->name, "safSupportedCsType", &dn);
> -     AVD_CTCS_TYPE *ctcs_type = avd_ctcstype_get(&dn);
> +     AVD_CTCS_TYPE *ctcs_type = ctcstype_db->find(&dn);
>       osafassert(ctcs_type);
>       return ctcs_type->saAmfCtCompCapability;
>   }


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to