X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=src%2Fpazpar2_config.c;h=c164680b2802386ada7ebf07c275f2957b706809;hb=4b259026074c2fb5931eac168a64e8df0be46e30;hp=c8ae0a8bb72b76e3cfcd420cdca527d3f14db9dd;hpb=5f9bcb0650ab5b1661bf75f320dfbb204c6b6d6b;p=pazpar2-moved-to-github.git diff --git a/src/pazpar2_config.c b/src/pazpar2_config.c index c8ae0a8..c164680 100644 --- a/src/pazpar2_config.c +++ b/src/pazpar2_config.c @@ -169,7 +169,8 @@ static struct conf_metadata* conf_service_add_metadata( enum conf_metadata_mergekey mt, const char *facetrule, const char *limitmap, - const char *limitcluster + const char *limitcluster, + const char *icurule ) { struct conf_metadata * md = 0; @@ -201,6 +202,7 @@ static struct conf_metadata* conf_service_add_metadata( md->facetrule = nmem_strdup_null(nmem, facetrule); md->limitmap = nmem_strdup_null(nmem, limitmap); md->limitcluster = nmem_strdup_null(nmem, limitcluster); + md->icurule = nmem_strdup_null(nmem, icurule); return md; } @@ -314,6 +316,7 @@ static int parse_metadata(struct conf_service *service, xmlNode *n, xmlChar *xml_limitmap = 0; xmlChar *xml_limitcluster = 0; xmlChar *xml_icu_chain = 0; + xmlChar *xml_icurule = 0; struct _xmlAttr *attr; @@ -357,6 +360,9 @@ static int parse_metadata(struct conf_service *service, xmlNode *n, else if (!xmlStrcmp(attr->name, BAD_CAST "limitcluster") && attr->children && attr->children->type == XML_TEXT_NODE) xml_limitcluster = attr->children->content; + else if (!xmlStrcmp(attr->name, BAD_CAST "icurule") && + attr->children && attr->children->type == XML_TEXT_NODE) + xml_icurule = attr->children->content; else { yaz_log(YLOG_FATAL, "Unknown metadata attribute '%s'", attr->name); @@ -514,7 +520,9 @@ static int parse_metadata(struct conf_service *service, xmlNode *n, mergekey_type, (const char *) xml_icu_chain, (const char *) xml_limitmap, - (const char *) xml_limitcluster); + (const char *) xml_limitcluster, + (const char *) xml_icurule + ); (*md_node)++; return 0; } @@ -1073,6 +1081,9 @@ static void info_service_metadata(struct conf_service *service, WRBUF w) case Metadata_type_position: wrbuf_puts(w, "position"); break; + case Metadata_type_retrieval: + wrbuf_puts(w, "retrieval"); + break; default: wrbuf_puts(w, "yes"); break; @@ -1274,7 +1285,7 @@ static int parse_config(struct conf_config *config, xmlNode *root) return 0; } -struct conf_config *config_create(const char *fname, int verbose) +struct conf_config *config_create(const char *fname) { xmlDoc *doc = xmlReadFile(fname, NULL, @@ -1327,16 +1338,13 @@ struct conf_config *config_create(const char *fname, int verbose) r = yaz_xml_include_simple(n, wrbuf_cstr(config->confdir)); if (r == 0) /* OK */ { - if (verbose) - { - yaz_log(YLOG_LOG, "Configuration %s after include processing", - fname); + yaz_log(YLOG_LOG, "Configuration %s after include processing", + fname); #if LIBXML_VERSION >= 20600 - xmlDocFormatDump(yaz_log_file(), doc, 0); + xmlDocFormatDump(yaz_log_file(), doc, 0); #else - xmlDocDump(yaz_log_file(), doc); + xmlDocDump(yaz_log_file(), doc); #endif - } r = parse_config(config, n); } xmlFreeDoc(doc);