X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fsru_util.cpp;h=1e3090e50d4308fb659ec842ac246f6ea9abfa4b;hb=ac8dc223f367519284b186c9eed00f15b7bc202a;hp=c02007bf33d4e78d3fbdcfd3a5f252e5c07a080c;hpb=09d9b36e4529a5cf42066f4a1e5b3ce635e04f34;p=metaproxy-moved-to-github.git diff --git a/src/sru_util.cpp b/src/sru_util.cpp index c02007b..1e3090e 100644 --- a/src/sru_util.cpp +++ b/src/sru_util.cpp @@ -228,7 +228,8 @@ bool mp_util::build_sru_response(mp::Package &package, Z_SRW_PDU * mp_util::decode_sru_request(mp::Package &package, mp::odr &odr_de, mp::odr &odr_en, - Z_SRW_PDU *sru_pdu_res, + Z_SRW_diagnostic **diagnostic, + int *num_diagnostic, Z_SOAP **soap, char *charset) { @@ -251,15 +252,8 @@ Z_SRW_PDU * mp_util::decode_sru_request(mp::Package &package, // closing connection if we did not ... if (0 == yaz_sru_decode(http_req, &sru_pdu_req, soap, odr_de, &charset, - &(sru_pdu_res->u.explain_response->diagnostics), - &(sru_pdu_res->u.explain_response->num_diagnostics))) + diagnostic, num_diagnostic)) { - if (sru_pdu_res->u.explain_response->num_diagnostics) - { - //sru_pdu_res = sru_pdu_res_exp; - package.session().close(); - return 0; - } return sru_pdu_req; } else if (0 == yaz_srw_decode(http_req, &sru_pdu_req, soap, @@ -281,40 +275,6 @@ mp_util::check_sru_query_exists(mp::Package &package, Z_SRW_PDU *sru_pdu_res, Z_SRW_searchRetrieveRequest const *sr_req) { -#ifdef Z_SRW_query_type_cql - if ((sr_req->query_type == Z_SRW_query_type_cql && !sr_req->query.cql)) - { - yaz_add_srw_diagnostic(odr_en, - &(sru_pdu_res->u.response->diagnostics), - &(sru_pdu_res->u.response->num_diagnostics), - YAZ_SRW_MANDATORY_PARAMETER_NOT_SUPPLIED, - "query"); - yaz_add_srw_diagnostic(odr_en, - &(sru_pdu_res->u.response->diagnostics), - &(sru_pdu_res->u.response->num_diagnostics), - YAZ_SRW_QUERY_SYNTAX_ERROR, - "CQL query is empty"); - return false; - } - if ((sr_req->query_type == Z_SRW_query_type_xcql && !sr_req->query.xcql)) - { - yaz_add_srw_diagnostic(odr_en, - &(sru_pdu_res->u.response->diagnostics), - &(sru_pdu_res->u.response->num_diagnostics), - YAZ_SRW_QUERY_SYNTAX_ERROR, - "XCQL query is empty"); - return false; - } - if ((sr_req->query_type == Z_SRW_query_type_pqf && !sr_req->query.pqf)) - { - yaz_add_srw_diagnostic(odr_en, - &(sru_pdu_res->u.response->diagnostics), - &(sru_pdu_res->u.response->num_diagnostics), - YAZ_SRW_QUERY_SYNTAX_ERROR, - "PQF query is empty"); - return false; - } -#else if (!sr_req->query) { yaz_add_srw_diagnostic(odr_en, @@ -329,7 +289,6 @@ mp_util::check_sru_query_exists(mp::Package &package, "CQL query is empty"); return false; } -#endif return true; } @@ -381,27 +340,8 @@ std::ostream& std::operator<<(std::ostream& os, Z_SRW_PDU& srw_pdu) os << " " << (sr->recordSchema); else os << " -"; - -#ifdef Z_SRW_query_type_cql - switch (sr->query_type){ - case Z_SRW_query_type_cql: - os << " CQL"; - if (sr->query.cql) - os << " " << sr->query.cql; - break; - case Z_SRW_query_type_xcql: - os << " XCQL"; - break; - case Z_SRW_query_type_pqf: - os << " PQF"; - if (sr->query.pqf) - os << " " << sr->query.pqf; - break; - } -#else os << " " << (sr->queryType ? sr->queryType : "cql") << " " << sr->query; -#endif } } break;