Changeset 22822 for main/trunk
- Timestamp:
- 2010-08-31T20:55:28+12:00 (14 years ago)
- Location:
- main/trunk/greenstone2/runtime-src/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/runtime-src/src/recpt/configaction.cpp
r22677 r22822 93 93 textout << "configured release-collection\n"; 94 94 95 } else if ((args["cmd"] == "restart")) { 96 if(!args["c"].empty()) { 97 remove_colservr(args["c"], logout); 98 textout << "configured release-collection for reconfigure-restart\n"; 99 } 100 textout << "reconfigure-restart\n"; 95 } else if ((args["cmd"] == "restart")) { 96 textout << "configured for restart\n"; 101 97 #ifdef GSDL_LOCAL_LIBRARY 102 98 HWND gw = FindWindow("Greenstone Digital Library Software", -
main/trunk/greenstone2/runtime-src/src/w32server/cgiwrapper.cpp
r22588 r22822 368 368 keydbclass *kdb = NULL; 369 369 370 371 // When (1) the "collecthome" collect dir is not the standard greenstone collect dir, 372 // or when (2) this collecthome is specified in a section other than [gsdl] in the (lls/gli)site.cfg file, 373 // this method gets called to load in that collect dir's collections into the server during gsdl_init 374 static void load_collections_from_collectdir( 375 colinfo_tmap &translated_colinfo, 376 text_tset::const_iterator &colhere, 377 text_tset::const_iterator &colend, 378 text_tset &these_collections, 379 text_tset &dbhomes, 380 text_tset &clhomes, 381 text_tset &collections, 382 const text_t &my_gsdl_home, 383 const text_t &my_gsdl_collecthome, 384 const text_t &my_gsdl_dbhome) 385 { 386 these_collections.erase (these_collections.begin(), these_collections.end()); 387 read_dir (my_gsdl_collecthome, these_collections); 388 colhere = these_collections.begin(); 389 colend = these_collections.end(); 390 while (colhere != colend) { 391 if ((collections.find (*colhere)) == collections.end()) { 392 // make sure the build.cfg file is at gsdlhome (as it's possible that 393 // the collection appears at this gsdlhome only because it's gdbm 394 // file is installed here -- it's real gdbm will therefore be 395 // somewhere else). 396 text_t build_cfg = filename_cat (my_gsdl_collecthome, 397 *colhere, "index", "build.cfg"); 398 399 if (file_exists (build_cfg)) { 400 collections.insert (*colhere); 401 402 // since gsdl_collectinfo keys will be stuff like collection#1 403 // for a multiple volume collection we want to translate it 404 // so that the keys are the actual collection names 405 collectioninfo_t tmp; 406 tmp.gsdl_gsdlhome = my_gsdl_home; 407 tmp.gsdl_collecthome = my_gsdl_collecthome; 408 tmp.gsdl_dbhome = my_gsdl_dbhome; 409 translated_colinfo[*colhere] = tmp; 410 } 411 } 412 ++colhere; 413 } 414 dbhomes.insert (gsdl_dbhome); 415 clhomes.insert (gsdl_collecthome); 416 } 417 418 370 419 // returns 1 if successful, 0 if unsuccessful (note that as well as being 371 420 // called when the server first starts up this function is called when the 372 421 // "restart library" button is pressed) 373 int gsdl_init (bool atStartup) { 374 422 int gsdl_init (bool atStartup) { 375 423 if (atStartup) { 376 424 #if defined (GSDL_USE_IOS_H) … … 410 458 // on there not being more than one collection with the same 411 459 // name) 412 if (!collection.empty()) { 460 if (!collection.empty()) { 413 461 // collection specific receptionist - one collection, one gsdlhome 414 462 collections.insert (collection); … … 422 470 423 471 } else { 424 425 text_tset::const_iterator colhere; 472 text_tset::const_iterator colhere; 426 473 text_tset::const_iterator colend; 427 474 text_tset these_collections; 428 429 // first volume gsdlhome's 475 476 // First volume gsdlhome's - part 1 477 // if non-standard collecthome under [gsdl] section of site config file (llssite or glisite), 478 // then need to read in all the collections from this collecthome 479 if(gsdl_collecthome != filename_cat(gsdl_gsdlhome,"collect")) { 480 load_collections_from_collectdir(translated_collectinfo, 481 colhere, colend, these_collections, 482 dbhomes, clhomes, collections, 483 gsdl_gsdlhome, gsdl_collecthome, gsdl_dbhome); 484 } 485 486 // first volume gsdlhome's - part 2 487 // read in all the collections from sections other than [gsdl] in the site config file (llssite/glisite) 430 488 colinfo_tmap::const_iterator this_info = gsdl_collectinfo.begin(); 431 489 colinfo_tmap::const_iterator end_info = gsdl_collectinfo.end(); 432 490 while (this_info != end_info) { 491 433 492 if (dbhomes.find ((*this_info).second.gsdl_dbhome) == dbhomes.end()) { 434 these_collections.erase (these_collections.begin(), these_collections.end()); 435 read_dir ((*this_info).second.gsdl_collecthome, these_collections); 436 colhere = these_collections.begin(); 437 colend = these_collections.end(); 438 while (colhere != colend) { 439 if ((collections.find (*colhere)) == collections.end()) { 440 // make sure the build.cfg file is at gsdlhome (as it's possible that 441 // the collection appears at this gsdlhome only because it's gdbm 442 // file is installed here -- it's real gdbm will therefore be 443 // somewhere else). 444 text_t build_cfg = filename_cat ((*this_info).second.gsdl_collecthome, 445 *colhere, "index", "build.cfg"); 446 if (file_exists (build_cfg)) { 447 collections.insert (*colhere); 448 449 // since gsdl_collectinfo keys will be stuff like collection#1 450 // for a multiple volume collection we want to translate it 451 // so that the keys are the actual collection names 452 translated_collectinfo[*colhere] = (*this_info).second; 453 } 454 } 455 ++colhere; 456 } 457 dbhomes.insert ((*this_info).second.gsdl_dbhome); 458 clhomes.insert ((*this_info).second.gsdl_collecthome); 493 load_collections_from_collectdir(translated_collectinfo, 494 colhere, colend, these_collections, 495 dbhomes, clhomes, collections, 496 (*this_info).second.gsdl_gsdlhome, 497 (*this_info).second.gsdl_collecthome, 498 (*this_info).second.gsdl_dbhome); 459 499 } 460 500 ++this_info; … … 464 504 // gsdl.ini is a little screwed up and no volume dbhomes occurred) 465 505 if (dbhomes.find (gsdl_dbhome) == dbhomes.end()) { 506 466 507 these_collections.erase (these_collections.begin(), these_collections.end()); 467 508 read_dir (filename_cat (gsdl_dbhome, "collect"), these_collections); … … 469 510 colend = these_collections.end(); 470 511 while (colhere != colend) { 471 512 472 513 //text_t build_cfg = filename_cat (gsdl_dbhome,"collect", 473 514 // *colhere, "index", "build.cfg");
Note:
See TracChangeset
for help on using the changeset viewer.