Exemple #1
0
void test_case_cscore_004(const UINT32 cscore_md_id)
{
    void *csdoc_words_1;
    void *csdoc_words_2;
    void *csdoc_words_3;
    void *csdoc_words_list;
    void *csword_docs;
    void *csdoc;

    csdoc_words_list = clist_new(MM_CSDOC_WORDS, 0);
    ASSERT(NULL_PTR != csdoc_words_list);

    /*make csdoc_words_1 = {doc={1001,1002,1003}, words={pepople, republic, of, china}}*/
    csdoc_words_1 = cscore_csdoc_words_new(cscore_md_id);
    ASSERT(NULL_PTR != csdoc_words_1);
    csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_1);
    __test_case_cscore_csdoc_set_doc(cscore_md_id, csdoc, 1001, 1002, 1003);
    __test_case_cscore_csdoc_words_add_words(cscore_md_id, csdoc_words_1, 4, (UINT8 *)"pepole", (UINT8 *)"republic", (UINT8 *)"of", (UINT8 *)"china");
    clist_push_back(csdoc_words_list, (void *)csdoc_words_1);

    /*make csdoc_words_2 = {doc={1101,1002,1003}, words={pepople, working, hard}}*/
    csdoc_words_2 = cscore_csdoc_words_new(cscore_md_id);
    ASSERT(NULL_PTR != csdoc_words_2);    
    csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_2);
    __test_case_cscore_csdoc_set_doc(cscore_md_id, csdoc, 1101, 1002, 1003);
    __test_case_cscore_csdoc_words_add_words(cscore_md_id, csdoc_words_2, 3, (UINT8 *)"pepole", (UINT8 *)"working", (UINT8 *)"hard");
    clist_push_back(csdoc_words_list, (void *)csdoc_words_2);

    /*make csdoc_words_3 = {doc={1101,1002,1003}, words={pepople, living, happ}}*/
    csdoc_words_3 = cscore_csdoc_words_new(cscore_md_id);
    ASSERT(NULL_PTR != csdoc_words_3);    
    csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_3);
    __test_case_cscore_csdoc_set_doc(cscore_md_id, csdoc, 1011, 1002, 1003);
    __test_case_cscore_csdoc_words_add_words(cscore_md_id, csdoc_words_3, 3, (UINT8 *)"pepole", (UINT8 *)"living", (UINT8 *)"happ");
    clist_push_back(csdoc_words_list, (void *)csdoc_words_3);

    /*import csdoc_words_1 into bigtable*/
    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: import beg\n");
    ASSERT(EC_TRUE == cscore_csdoc_words_list_import(cscore_md_id, csdoc_words_list));
    clist_free_with_modi(csdoc_words_list, cscore_md_id);
    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: import end\n");

    /*make csword_docs ready*/
    csword_docs = cscore_csword_docs_new(cscore_md_id);
    ASSERT(NULL_PTR != csword_docs);

    /*add cswords to csword_docs*/
    __test_case_cscore_csword_docs_set_word(cscore_md_id, csword_docs, (UINT8 *)"pepole");

    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: export beg\n");
    ASSERT(EC_TRUE == cscore_csword_docs_export(cscore_md_id, CBGT_SELECT_FROM_ALL_TABLE, csword_docs));
    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: export end\n");
    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: export result:\n");
    cscore_csword_docs_print(LOGSTDOUT, csword_docs);
    cscore_csword_docs_free(cscore_md_id, csword_docs);

    return;
}
Exemple #2
0
static void __test_case_cscore_csword_list_add_word(const UINT32 cscore_md_id, void *csword_list, const UINT8 *word_name)
{
    void *csword;

    csword = cscore_csword_make_by_str_content(cscore_md_id, word_name);
    ASSERT(NULL_PTR != csword);
    clist_push_back(csword_list, (void *)csword);
    return;
}
Exemple #3
0
EC_BOOL cproc_irecv_node(CPROC *cproc, CPROC_ITEM *cproc_item, CLIST *save_to_list)
{
    TASK_NODE *task_node;

    task_node = CPROC_ITEM_INCOMING_TASK_NODE(cproc_item);
    if(NULL_PTR != task_node)
    {
        TASK_BRD_DEFAULT_ACTIVE_COUNTER_INC(LOC_CPROC_0003);

        if(EC_FALSE == cproc_fix_task_node(cproc, cproc_item, task_node))
        {
            return (EC_TRUE);
        }
        clist_push_back(save_to_list, (void *)task_node);/*here task node not decoded yet*/
        TASK_NODE_COMP(task_node) = TASK_WAS_RECV;
        CPROC_ITEM_INCOMING_TASK_NODE(cproc_item) = NULL_PTR;
    }

    for(;;)
    {
        task_node = cproc_fetch_task_node(cproc, cproc_item);
        if(NULL_PTR == task_node)
        {
            break;
        }

        TASK_BRD_DEFAULT_ACTIVE_COUNTER_INC(LOC_CPROC_0004);

        if(TASK_NODE_BUFF_POS(task_node) == TASK_NODE_BUFF_LEN(task_node))
        {
            clist_push_back(save_to_list, (void *)task_node); /*here task node not decoded yet*/
            TASK_NODE_COMP(task_node) = TASK_WAS_RECV;
            //sys_log(LOGSTDOUT, "[DEBUG] cproc_irecv_node: save incomded task_node\n");
        }
        else
        {
            CPROC_ITEM_INCOMING_TASK_NODE(cproc_item) = task_node;
            //sys_log(LOGSTDOUT, "[DEBUG] cproc_irecv_node: save incoming task_node\n");
            /*terminate this loop*/
            break;
        }
    }
    return (EC_TRUE);
}
Exemple #4
0
clist_t* clist_copy(clist_t *list) {
    if (list == NULL) return NULL;

    clist_t *copyList = new_clist();
    cnode_t *node = NULL;
    for (node = list->front; node != NULL; node = node->next) {
        clist_push_back(copyList, node->data);
    }
    return copyList;
}
Exemple #5
0
EC_BOOL cset_add(CSET *cset, void *data, EC_BOOL (*cmp)(const void *, const void *))
{
    if(NULL_PTR != clist_search_front(cset, data, (NULL_PTR == cmp) ? cset_data_cmp_default: cmp))
    {
        //dbg_log(SEC_0128_CSET, 0)(LOGSTDOUT, "error:cset_add: cset %lx, data %lx find duplicate when add\n", cset);
        return (EC_FALSE);
    }

    clist_push_back(cset, data);
    return (EC_TRUE);
}
Exemple #6
0
void clist_insert_before(clist_t* list,
			 clist_node_t* pos,
			 clist_node_t* node)
{
  node->prev = NULL;
  node->next = NULL;

  if (pos == NULL)
    {
      clist_push_back(list, node);
    }
  else if (pos == clist_head(list))
    {
      clist_push_front(list, node);
    }
  else
    {
      node->next = pos;
      node->prev = pos->prev;
      pos->prev->next = node;
      pos->prev = node;
      ++list->count;
    }
}
Exemple #7
0
void clist_insert_after(clist_t* list,
			clist_node_t* pos,
			clist_node_t* node)
{
  node->next = NULL;
  node->prev = NULL;

  if (pos == NULL)
    {
      clist_push_front(list, node);
    }
  else if (pos == clist_tail(list))
    {
      clist_push_back(list, node);
    }
  else
    {
      pos->next->prev = node;
      node->next = pos->next;
      pos->next = node;
      node->prev = pos;
      ++list->count;
    }
}
Exemple #8
0
void test_case_cscore_003(const UINT32 cscore_md_id)
{
    void *csdoc_words_1;
    void *csdoc_words_2;
    void *csdoc_words_list;
    void *csword_docs;
    void *csdoc;
    void *csword;

    csdoc_words_list = clist_new(MM_CSDOC_WORDS, 0);
    ASSERT(NULL_PTR != csdoc_words_list);

    /*make csdoc_words_1 ready*/
    csdoc_words_1 = cscore_csdoc_words_new(cscore_md_id);
    ASSERT(NULL_PTR != csdoc_words_1);

    /*{doc={1001,1002,1003}, words={pepople, republic, of, china}}*/
    /*set csdoc of csdoc_words_1*/
    csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_1);
    cscore_csdoc_set_doc_id  (cscore_md_id, csdoc, 1001);
    cscore_csdoc_set_doc_type(cscore_md_id, csdoc, 1002);
    cscore_csdoc_set_doc_code(cscore_md_id, csdoc, 1003);

    /*add cswords to csdoc_words_1*/
    csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"pepole");
    ASSERT(NULL_PTR != csword);
    cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_1, csword);

    csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"republic");
    ASSERT(NULL_PTR != csword);
    cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_1, csword);

    csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"of");
    ASSERT(NULL_PTR != csword);
    cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_1, csword);    

    csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"china");
    ASSERT(NULL_PTR != csword);
    cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_1, csword);   

    clist_push_back(csdoc_words_list, (void *)csdoc_words_1);

    /*make csdoc_words_2 ready*/
    csdoc_words_2 = cscore_csdoc_words_new(cscore_md_id);
    ASSERT(NULL_PTR != csdoc_words_2);

    /*{doc={1101,1002,1003}, words={pepople, working, hard}}*/
    /*set csdoc of csdoc_words_2*/
    csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_2);
    cscore_csdoc_set_doc_id  (cscore_md_id, csdoc, 1101);
    cscore_csdoc_set_doc_type(cscore_md_id, csdoc, 1002);
    cscore_csdoc_set_doc_code(cscore_md_id, csdoc, 1003);

    /*add cswords to csdoc_words_2*/
    csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"pepole");
    ASSERT(NULL_PTR != csword);
    cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_2, csword);

    csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"working");
    ASSERT(NULL_PTR != csword);
    cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_2, csword);

    csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"hard");
    ASSERT(NULL_PTR != csword);
    cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_2, csword);    

    clist_push_back(csdoc_words_list, (void *)csdoc_words_2);

    /*import csdoc_words_1 into bigtable*/
    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: import beg\n");
    ASSERT(EC_TRUE == cscore_csdoc_words_list_import(cscore_md_id, csdoc_words_list));
    clist_free_with_modi(csdoc_words_list, cscore_md_id);
    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: import end\n");

    /*make csword_docs ready*/
    csword_docs = cscore_csword_docs_new(cscore_md_id);
    ASSERT(NULL_PTR != csword_docs);

    /*add cswords to csword_docs*/
    csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"pepole");
    ASSERT(NULL_PTR != csword);
    cscore_csword_docs_set_word(cscore_md_id, csword_docs, csword);
    cscore_csword_free(cscore_md_id, csword);

    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: export beg\n");
    ASSERT(EC_TRUE == cscore_csword_docs_export(cscore_md_id, CBGT_SELECT_FROM_ALL_TABLE, csword_docs));
    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: export end\n");
    dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: export result:\n");
    cscore_csword_docs_print(LOGSTDOUT, csword_docs);
    cscore_csword_docs_free(cscore_md_id, csword_docs);

    return;
}
Exemple #9
0
EC_BOOL cproc_isend_node(CPROC *cproc, CPROC_ITEM *cproc_item, TASK_NODE *task_node)
{
    clist_push_back(CPROC_ITEM_SENDING_QUEUE(cproc_item), (void *)task_node);
    return (EC_TRUE);
}