From: František Dvořák Date: Thu, 29 Mar 2007 13:25:08 +0000 (+0000) Subject: Various fixes (robusness, doc, ...). X-Git-Tag: merge_313_dst~5 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=7f9d6ea88f7e62b8acfa74f2c1c9b8d3b2c40805;p=jra1mw.git Various fixes (robusness, doc, ...). --- diff --git a/org.glite.jp.index/src/conf.c b/org.glite.jp.index/src/conf.c index 52b44c5..2769fed 100644 --- a/org.glite.jp.index/src/conf.c +++ b/org.glite.jp.index/src/conf.c @@ -176,7 +176,8 @@ static int read_conf(glite_jp_is_conf *conf, char *conf_file) soap.recvfd = fd; soap_begin_recv(&soap); memset(&out, 0, sizeof(out)); - + + soap_default__jpelem__ServerConfigurationResponse(&soap, &out); if (!soap_get__jpelem__ServerConfigurationResponse(&soap, &out, "ServerConfiguration", NULL)) { soap_end_recv(&soap); soap_end(&soap); @@ -211,10 +212,8 @@ static int read_conf(glite_jp_is_conf *conf, char *conf_file) conf->feeds[i] = calloc(1, sizeof(*conf->feeds[i])); conf->feeds[i]->PS_URL=strdup(feed->primaryServer); - if (feed->__sizecondition) { - glite_jpis_SoapToPrimaryQueryConds(&soap, feed->__sizecondition, - feed->condition, &conf->feeds[i]->query); - } + if (glite_jpis_SoapToPrimaryQueryConds(&soap, feed->__sizecondition, + feed->condition, &conf->feeds[i]->query)) return EINVAL; conf->feeds[i]->history = feed->history; conf->feeds[i]->continuous = feed->continuous; diff --git a/org.glite.jp.index/src/db_ops.c b/org.glite.jp.index/src/db_ops.c index 44649a0..3f2f24d 100644 --- a/org.glite.jp.index/src/db_ops.c +++ b/org.glite.jp.index/src/db_ops.c @@ -149,7 +149,7 @@ static int glite_jpis_db_queries_serialize(glite_jpis_context_t isctx, void **bl size_t datalen; if ((ret = array_init(blob, len, &maxlen, 1024)) != 0) return ret; - query = *queries; + query = queries ? *queries : NULL; while(query && query->attr) { if ((ret = array_add_long(blob, len, &maxlen, COND_MAGIC)) != 0) goto fail; datalen = strlen(query->attr) + 1; diff --git a/org.glite.jp.index/src/ws_is_typeref.c b/org.glite.jp.index/src/ws_is_typeref.c index a888351..471fde5 100644 --- a/org.glite.jp.index/src/ws_is_typeref.c +++ b/org.glite.jp.index/src/ws_is_typeref.c @@ -159,8 +159,8 @@ static int SoapToPrimaryQueryCond( glite_jp_query_rec_t *qr; - assert(in); assert(out); - qr = calloc(2, sizeof(*qr)); + assert(in && in->attr); assert(out); + *out = qr = calloc(2, sizeof(*qr)); qr[0].attr = strdup(in->attr); glite_jpis_SoapToQueryOp(in->op, &(qr[0].op)); @@ -184,8 +184,6 @@ static int SoapToPrimaryQueryCond( glite_jpis_SoapToAttrOrig(soap, in->origin, &(qr[0].origin) ); - *out = qr; - return 0; } @@ -206,12 +204,13 @@ int glite_jpis_SoapToPrimaryQueryConds( glite_jp_query_rec_t **qr; int i; - assert(in); assert(out); + assert(in || !size); assert(out); qr = calloc(size+1, sizeof(*qr)); for (i=0; ibinary, in->size2, in->value2, &qr->value2)) return SOAP_FAULT; - default: + case GLITE_JP_QUERYOP_EQUAL: + case GLITE_JP_QUERYOP_UNEQUAL: + case GLITE_JP_QUERYOP_LESS: + case GLITE_JP_QUERYOP_GREATER: if (QueryRecordValToSoap(soap, in->binary, in->size, in->value, &qr->value)) return SOAP_FAULT; + case GLITE_JP_QUERYOP_EXISTS: + break; + default: + assert(0); // unknown or undefined operation break; } diff --git a/org.glite.jp.primary/examples/README.test b/org.glite.jp.primary/examples/README.test index 9150f3c..9b939b7 100644 --- a/org.glite.jp.primary/examples/README.test +++ b/org.glite.jp.primary/examples/README.test @@ -48,7 +48,7 @@ $ ./jpps-test GetJobAttr JOBID http://egee.cesnet.cz/en/Schema/JP/System:regtime Record JP tag: -------------- -$ jpps-test RecordTag JPBID TagA 1 blah +$ jpps-test RecordTag JOBID TagA 1 blah TODO