From: Zdeněk Šustr Date: Wed, 8 Aug 2012 08:38:31 +0000 (+0000) Subject: IT WORKS! Job queries through HTTP query strings work. There will be more testing... X-Git-Tag: glite-lbjp-common-gss_R_3_2_4_1~30 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=d0f789c4d61ee1c0292d12008b7c9fe75dbc770b;p=jra1mw.git IT WORKS! Job queries through HTTP query strings work. There will be more testing, of course. --- diff --git a/org.glite.lb.server/src/lb_proto.c b/org.glite.lb.server/src/lb_proto.c index 972b4d8..ae11218 100644 --- a/org.glite.lb.server/src/lb_proto.c +++ b/org.glite.lb.server/src/lb_proto.c @@ -502,8 +502,6 @@ int parse_query_conditions(edg_wll_Context ctx, const char *query, edg_wll_Query strncpy(attribute, cond, len); orvals=cond+len; - fprintf(stderr, "****%s:\n", attribute); - for (attr=1; attr")) conds[i][j].op = EDG_WLL_QUERY_OP_GREATER; @@ -610,6 +607,19 @@ int parse_query_conditions(edg_wll_Context ctx, const char *query, edg_wll_Query } err: + if (err) { + *conds=NULL; + if (conds) { + for (j = 0; conds[j]; j++) { + for (i = 0 ; (conds[j][i].attr != EDG_WLL_QUERY_ATTR_UNDEF); i++ ) + edg_wll_QueryRecFree(&conds[j][i]); + free(conds[j]); + } + free(conds); + } + } + else *conditions=conds; + free(q); free(errmsg); return err; @@ -910,7 +920,10 @@ edg_wll_ErrorCode edg_wll_Proto(edg_wll_Context ctx, // XXX: query strings are now not recognized as flags. Needs modifying. flags = (requestPTR[1]=='?') ? edg_wll_string_to_stat_flags(requestPTR + 2) : 0; - switch (edg_wll_UserJobsServer(ctx, EDG_WLL_STAT_CHILDREN, &jobsOut, &statesOut)) { + switch ( extra_opt == HTTP_EXTRA_OPTION_QUERY ? + edg_wll_QueryJobsServer(ctx, (const edg_wll_QueryRec **)job_conditions, flags, &jobsOut, &statesOut) : + edg_wll_UserJobsServer(ctx, EDG_WLL_STAT_CHILDREN, &jobsOut, &statesOut)) { + case 0: edg_wll_UserInfoToHTML(ctx, jobsOut, statesOut, &message, text); edg_wll_ServerStatisticsIncrement(ctx, text ? SERVER_STATS_TEXT_VIEWS : SERVER_STATS_HTML_VIEWS); break;