Reformat
[metaproxy-moved-to-github.git] / src / filter_record_transform.cpp
index f95d040..e3b1dd7 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of Metaproxy.
-   Copyright (C) 2005-2011 Index Data
+   Copyright (C) 2005-2012 Index Data
 
 Metaproxy is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -39,7 +39,7 @@ namespace metaproxy_1 {
             Impl();
             ~Impl();
             void process(metaproxy_1::Package & package) const;
-            void configure(const xmlNode * xml_node);
+            void configure(const xmlNode * xml_node, const char *path);
         private:
             yaz_retrieval_t m_retrieval;
         };
@@ -56,9 +56,10 @@ yf::RecordTransform::~RecordTransform()
 {  // must have a destructor because of boost::scoped_ptr
 }
 
-void yf::RecordTransform::configure(const xmlNode *xmlnode, bool test_only)
+void yf::RecordTransform::configure(const xmlNode *xmlnode, bool test_only,
+                                    const char *path)
 {
-    m_p->configure(xmlnode);
+    m_p->configure(xmlnode, path);
 }
 
 void yf::RecordTransform::process(mp::Package &package) const
@@ -83,11 +84,10 @@ yf::RecordTransform::Impl::~Impl()
         yaz_retrieval_destroy(m_retrieval);
 }
 
-void yf::RecordTransform::Impl::configure(const xmlNode *xml_node)
+void yf::RecordTransform::Impl::configure(const xmlNode *xml_node,
+                                          const char *path)
 {
-    //const char *srcdir = getenv("srcdir");
-    //if (srcdir)
-    //    yaz_retrieval_set_path(m_retrieval, srcdir);
+    yaz_retrieval_set_path(m_retrieval, path);
 
     if (!xml_node)
         throw mp::XMLError("RecordTransform filter config: empty XML DOM");
@@ -105,7 +105,8 @@ void yf::RecordTransform::Impl::configure(const xmlNode *xml_node)
     }
 
     // read configuration
-    if ( 0 != yaz_retrieval_configure(m_retrieval, retrieval_node)){
+    if (0 != yaz_retrieval_configure(m_retrieval, retrieval_node))
+    {
         std::string msg("RecordTransform filter config: ");
         msg += yaz_retrieval_get_error(m_retrieval);
         throw mp::XMLError(msg);
@@ -140,11 +141,13 @@ void yf::RecordTransform::Impl::process(mp::Package &package) const
     const char *input_schema = 0;
     Odr_oid *input_syntax = 0;
 
-    if(pr_req->recordComposition){
+    if (pr_req->recordComposition)
+    {
         input_schema 
             = mp_util::record_composition_to_esn(pr_req->recordComposition);
     }
-    if(pr_req->preferredRecordSyntax){
+    if (pr_req->preferredRecordSyntax)
+    {
         input_syntax = pr_req->preferredRecordSyntax;
     }