projects
/
metaproxy-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use proper resultSetId
[metaproxy-moved-to-github.git]
/
src
/
filter_virt_db.cpp
diff --git
a/src/filter_virt_db.cpp
b/src/filter_virt_db.cpp
index
1ad040c
..
b203a98
100644
(file)
--- a/
src/filter_virt_db.cpp
+++ b/
src/filter_virt_db.cpp
@@
-1,4
+1,4
@@
-/* $Id: filter_virt_db.cpp,v 1.26 2006-01-16 15:51:56 adam Exp $
+/* $Id: filter_virt_db.cpp,v 1.28 2006-01-16 17:03:09 adam Exp $
Copyright (c) 2005, Index Data.
%LICENSE%
Copyright (c) 2005, Index Data.
%LICENSE%
@@
-72,7
+72,8
@@
namespace yp2 {
BackendPtr lookup_backend_from_databases(
std::list<std::string> databases);
BackendPtr create_backend_from_databases(
BackendPtr lookup_backend_from_databases(
std::list<std::string> databases);
BackendPtr create_backend_from_databases(
- std::list<std::string> databases);
+ std::list<std::string> databases,
+ std::string &failing_database);
BackendPtr init_backend(std::list<std::string> database,
Package &package,
BackendPtr init_backend(std::list<std::string> database,
Package &package,
@@
-113,7
+114,7
@@
yf::Virt_db::BackendPtr yf::Virt_db::Frontend::lookup_backend_from_databases(
}
yf::Virt_db::BackendPtr yf::Virt_db::Frontend::create_backend_from_databases(
}
yf::Virt_db::BackendPtr yf::Virt_db::Frontend::create_backend_from_databases(
- std::list<std::string> databases)
+ std::list<std::string> databases, std::string &failing_database)
{
BackendPtr b(new Backend);
std::list<std::string>::const_iterator db_it = databases.begin();
{
BackendPtr b(new Backend);
std::list<std::string>::const_iterator db_it = databases.begin();
@@
-129,6
+130,7
@@
yf::Virt_db::BackendPtr yf::Virt_db::Frontend::create_backend_from_databases(
map_it = m_p->m_maps.find(*db_it);
if (map_it == m_p->m_maps.end()) // database not found
{
map_it = m_p->m_maps.find(*db_it);
if (map_it == m_p->m_maps.end()) // database not found
{
+ failing_database = *db_it;
BackendPtr ptr;
return ptr;
}
BackendPtr ptr;
return ptr;
}
@@
-156,11
+158,12
@@
yf::Virt_db::BackendPtr yf::Virt_db::Frontend::init_backend(
std::list<std::string> databases, Package &package,
int &error_code, std::string &addinfo)
{
std::list<std::string> databases, Package &package,
int &error_code, std::string &addinfo)
{
- BackendPtr b = create_backend_from_databases(databases);
+ std::string failing_database;
+ BackendPtr b = create_backend_from_databases(databases, failing_database);
if (!b)
{
error_code = YAZ_BIB1_DATABASE_UNAVAILABLE;
if (!b)
{
error_code = YAZ_BIB1_DATABASE_UNAVAILABLE;
- // addinfo = database;
+ addinfo = failing_database;
return b;
}
Package init_package(b->m_backend_session, package.origin());
return b;
}
Package init_package(b->m_backend_session, package.origin());
@@
-467,8
+470,9
@@
void yf::Virt_db::Frontend::present(Package &package, Z_APDU *apdu_req)
// sending present to backend
Package present_package(*id, package.origin());
present_package.copy_filter(package);
// sending present to backend
Package present_package(*id, package.origin());
present_package.copy_filter(package);
+
+ req->resultSetId = odr_strdup(odr, sets_it->second.m_setname.c_str());
- req->resultSetId = odr_strdup(odr, "default");
present_package.request() = yazpp_1::GDU(apdu_req);
present_package.move();
present_package.request() = yazpp_1::GDU(apdu_req);
present_package.move();