|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
#include "util.h"
|
|
|
|
|
|
|
|
|
|
boolean judge(tag_t top,string &status,string &name)
|
|
|
|
|
void judge(tag_t top,string &status,stringstream &ss)
|
|
|
|
|
{
|
|
|
|
|
int line_cnt;
|
|
|
|
|
tag_t *lines;
|
|
|
|
@ -14,13 +14,11 @@ boolean judge(tag_t top,string &status,string &name)
|
|
|
|
|
if (temp.length()>0&&status.find(val) != -1)
|
|
|
|
|
{
|
|
|
|
|
AOM_ask_value_string(lines[j], "bl_rev_object_string", &val);
|
|
|
|
|
name = val;
|
|
|
|
|
return false;
|
|
|
|
|
ss << val << ',';
|
|
|
|
|
}
|
|
|
|
|
if (!judge(lines[j], status, name))
|
|
|
|
|
return false;
|
|
|
|
|
judge(lines[j], status, ss);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int bs_bom_check(EPM_rule_message_t msg)
|
|
|
|
@ -34,8 +32,8 @@ int bs_bom_check(EPM_rule_message_t msg)
|
|
|
|
|
TC_argument_list_t * arguments = msg.arguments;
|
|
|
|
|
int arg_cnt = TC_number_of_arguments(arguments), status = 0;
|
|
|
|
|
vector<string> types;
|
|
|
|
|
string name;
|
|
|
|
|
map<string, string> paras;
|
|
|
|
|
stringstream ss;
|
|
|
|
|
for (auto i = 0; i < arg_cnt; i++)
|
|
|
|
|
{
|
|
|
|
|
char *temp_key, *temp_val;
|
|
|
|
@ -61,18 +59,22 @@ int bs_bom_check(EPM_rule_message_t msg)
|
|
|
|
|
continue;
|
|
|
|
|
printf("begin check \n");
|
|
|
|
|
BOM_set_window_top_line(win, NULLTAG, attachments[i], NULLTAG, &top);
|
|
|
|
|
if(!judge(top, paras["status"],name))
|
|
|
|
|
AOM_UIF_ask_value(top, "jd2_last_release_status", &val);
|
|
|
|
|
if (tc_strlen(val) && paras["status"].find(val) != -1)
|
|
|
|
|
{
|
|
|
|
|
ifail = EPM_nogo;
|
|
|
|
|
break;
|
|
|
|
|
AOM_ask_value_string(top, "bl_rev_object_string", &val);
|
|
|
|
|
ss << val << ',';
|
|
|
|
|
}
|
|
|
|
|
judge(top, paras["status"], ss);
|
|
|
|
|
|
|
|
|
|
printf("end check \n");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
BOM_close_window(win);
|
|
|
|
|
if (ifail==EPM_nogo) {
|
|
|
|
|
name += paras["prompt"];
|
|
|
|
|
EMH_store_error_s1(EMH_severity_user_error, EMH_PROP_error_base, name.c_str());
|
|
|
|
|
if (ss.str().length()) {
|
|
|
|
|
ss<< paras["prompt"];
|
|
|
|
|
EMH_store_error_s1(EMH_severity_user_error, EMH_PROP_error_base, ss.str().c_str());
|
|
|
|
|
ifail = EPM_nogo;
|
|
|
|
|
}
|
|
|
|
|
return ifail;
|
|
|
|
|
}
|
|
|
|
|