Changeset 1074 for branches/corba/gsdl/src/recpt/corbaproto.mpp
- Timestamp:
- 2000-04-06T23:11:40+12:00 (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/corba/gsdl/src/recpt/corbaproto.mpp
r1068 r1074 2 2 * 3 3 * corbaproto.cpp -- 4 * Copyright (C) 1999The New Zealand Digital Library Project4 * Copyright (C) 2000 The New Zealand Digital Library Project 5 5 * 6 6 * A component of the Greenstone digital library software … … 158 158 fi ++; 159 159 } 160 160 161 // copy the MetadataInfo map 161 162 MetadataInfo_tmap::iterator mhere = here->metadata.begin(); … … 191 192 mi ++; 192 193 } 194 195 // Copy the classifier variables 196 corbaconv_text_t::getCorbatext(here->classifier_metadata_type, corbainfo[i].classifierMetadataType); 197 corbainfo[i].classifierMetadataOffset = here->classifier_metadata_offset; 193 198 194 199 // Get next Docinfo item … … 262 267 // doc.metadata 263 268 269 // convert metadata classifer information 270 corbaconv_text_t::setCorbatext(doc.classifier_metadata_type,corbainfo[i].classifierMetadataType); 271 doc.classifier_metadata_offset = corbainfo[i].classifierMetadataOffset; 272 264 273 docinfo.push_back(doc); 265 274 } … … 286 295 } 287 296 297 corbaiface_var corbaproto::getCorbaClient() 298 { 299 char *dummyv[1] = {""}; 300 int dummyc = 0; 301 // CORBA variables 302 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" ); 303 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" ); 304 305 // Get ref from "naming service" 306 ifstream in ("/tmp/account.objid"); 307 char ref[1000]; 308 in >> ref; 309 in.close (); 310 311 // startup corba 312 static CORBA::Object_var obj = orb->string_to_object (ref); 313 314 return corbaiface::_narrow( obj ); 315 } 316 288 317 289 318 // this configure will configure each of the collection servers … … 293 322 // created 294 323 295 // cout << "Corbaproto::Configure" << endl; 296 297 char *dummyv[1] = {""}; 298 int dummyc = 0; 299 // CORBA variables 300 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" ); 301 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" ); 302 303 // Get ref from "naming service" 304 ifstream in ("/tmp/account.objid"); 305 char ref[1000]; 306 in >> ref; 307 in.close (); 308 309 // startup corba 310 static CORBA::Object_var obj = orb->string_to_object (ref); 311 312 corbaiface_var lclient = corbaiface::_narrow( obj ); 313 324 // cout << "Corbaproto::Configure" << endl; 314 325 corbatext_t corbaKey; 315 326 corbatext_tarray corbaCfgline; 316 327 328 // get the corba client reference 329 corbaiface_var lclient = this->getCorbaClient(); 330 331 // convert all the requisite structures into their CORBA form 317 332 corbaconv_text_t::getCorbatext(key,corbaKey); 318 333 corbatext_arrayToCorbaArray(cfgline, &corbaCfgline); 319 334 335 // execute the corba transaction 320 336 lclient->configure(corbaKey, corbaCfgline); 321 337 } … … 323 339 // this init will configure and init each of the collection servers 324 340 bool corbaproto::init (ostream &logout) { 325 // cout << "Corbaproto::Init" << endl; 326 327 char *dummyv[1] = {""}; 328 int dummyc = 0; 329 // CORBA variables 330 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" ); 331 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" ); 332 333 // Get ref from "naming service" 334 ifstream in ("/tmp/account.objid"); 335 char ref[1000]; 336 in >> ref; 337 in.close (); 338 339 // startup corba 340 static CORBA::Object_var obj = orb->string_to_object (ref); 341 342 corbaiface_var lclient = corbaiface::_narrow( obj ); 343 341 // cout << "Corbaproto::Init" << endl; 342 343 // get the corba client reference 344 corbaiface_var lclient = this->getCorbaClient(); 345 346 // execute the corba transaction 344 347 return lclient->init(); 345 348 } … … 353 356 ostream &/*logout*/) { 354 357 355 //cout << "Corbaproto::Collection list" << endl;358 cout << "Corbaproto::Collection list" << endl; 356 359 357 360 corbatext_tarray corba_collist; 358 corbatext_t collection;359 361 text_tarray tcollist; 360 362 361 /* collist.erase(collist.begin(),collist.end()); 362 err = noError; 363 364 collectservermapclass::iterator here = cservers.begin(); 365 collectservermapclass::iterator end = cservers.end(); 366 while (here != end) { 367 assert ((*here).second.c != NULL); 368 if ((*here).second.c != NULL) { 369 collist.push_back ((*here).second.c->get_collection_name()); 370 } 371 here++; 372 } 373 */ 374 char *dummyv[1] = {""}; 375 int dummyc = 0; 376 // CORBA variables 377 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" ); 378 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" ); 379 380 // Get ref from "naming service" 381 ifstream in ("/tmp/account.objid"); 382 char ref[1000]; 383 in >> ref; 384 in.close (); 385 386 // startup corba 387 static CORBA::Object_var obj = orb->string_to_object (ref); 388 389 corbaiface_var lclient = corbaiface::_narrow( obj ); 390 363 // get the corba client reference 364 corbaiface_var lclient = this->getCorbaClient(); 365 366 // execute the corba transaction 391 367 lclient->collectionList(corba_collist); 392 368 369 // convert the response back to normal form 393 370 corbatext_corbaArrayToArray(corba_collist, &tcollist); 394 371 collist = tcollist; … … 399 376 void corbaproto::has_collection (const text_t &collection, bool &hascollection, 400 377 comerror_t &err, ostream &/*logout*/) { 401 // cout << "Corbaproto::Has collection" << endl; 402 403 /* hascollection = (cservers.getcollectserver(collection) != NULL); 404 err = noError; 405 return;*/ 406 407 char *dummyv[1] = {""}; 408 int dummyc = 0; 409 corbatext_t_var corbaCollectPtr; 378 // cout << "Corbaproto::Has collection" << endl; 379 410 380 corbatext_t corbaCollection; 411 381 corbaComError corbaError; 412 382 CORBA::Boolean corbaHas; 413 383 414 // CORBA variables 415 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" ); 416 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" ); 417 418 // Get ref from "naming service" 419 ifstream in ("/tmp/account.objid"); 420 char ref[1000]; 421 in >> ref; 422 in.close (); 423 424 // startup corba 425 static CORBA::Object_var obj = orb->string_to_object (ref); 426 427 corbaiface_var lclient = corbaiface::_narrow( obj ); 428 429 // corbaCollectPtr = &corbaCollection; 430 //corbatext_corbatext(collection, corbaCollectPtr); 384 // get the corba client reference 385 corbaiface_var lclient = this->getCorbaClient(); 386 387 // convert all the requisite structures into their CORBA form 431 388 corbaconv_text_t::getCorbatext(collection,corbaCollection); 432 389 390 // execute the corba transaction 433 391 lclient->hasCollection(corbaCollection, corbaHas, corbaError); 434 392 393 // convert the response back to normal form 435 394 hascollection = (corbaHas != 0); 436 395 err = noError; 437 438 396 } 439 397 … … 442 400 // cout << "Corbaproto::Ping" << endl; 443 401 444 char *dummyv[1] = {""};445 int dummyc = 0;446 // CORBA variables447 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" );448 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" );449 450 // Get ref from "naming service"451 ifstream in ("/tmp/account.objid");452 char ref[1000];453 in >> ref;454 in.close ();455 456 // startup corba457 static CORBA::Object_var obj = orb->string_to_object (ref);458 459 corbaiface_var lclient = corbaiface::_narrow( obj );460 461 402 corbatext_t corbaCollect; 462 403 corbaComError corbaError; 463 404 bool success; 464 405 406 // get the corba client reference 407 corbaiface_var lclient = this->getCorbaClient(); 408 409 // convert all the requisite structures into their CORBA form 465 410 corbaconv_text_t::getCorbatext(collection,corbaCollect); 411 412 // execute the corba transaction 466 413 success = lclient->ping(corbaCollect, corbaError); 467 414 468 wassuccess = success; 469 /* 470 wassuccess = (cservers.getcollectserver(collection) != NULL); 471 err = noError; 472 */ 415 // convert the response back to normal form 416 wassuccess = (success != 0); 473 417 } 474 418 … … 478 422 // cout << "Corbaproto::Collectinfo" << endl; 479 423 480 char *dummyv[1] = {""};481 int dummyc = 0;482 483 // CORBA variables484 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" );485 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" );486 487 // Get ref from "naming service"488 ifstream in ("/tmp/account.objid");489 char ref[1000];490 in >> ref;491 in.close ();492 493 // startup corba494 static CORBA::Object_var obj = orb->string_to_object (ref);495 496 corbaiface_var lclient = corbaiface::_narrow( obj );497 498 424 corbatext_t corbaCollection; 499 425 corbaComError corbaError; 500 426 corbaColInfoResponse corbaCollectInfo; 501 427 428 // get the corba client reference 429 corbaiface_var lclient = this->getCorbaClient(); 430 431 // convert all the requisite structures into their CORBA form 502 432 corbaconv_text_t::getCorbatext(collection,corbaCollection); 433 434 // execute the corba transaction 503 435 lclient->getCollectInfo(corbaCollection, corbaCollectInfo, corbaError); 504 436 437 // convert the response back to normal form 505 438 collectinfo.isPublic = corbaCollectInfo.isPublic; 506 439 collectinfo.isBeta = corbaCollectInfo.isBeta; 507 440 collectinfo.buildDate = corbaCollectInfo.buildDate; 441 corbatext_corbaArrayToArray(corbaCollectInfo.ccsCols, &collectinfo.ccsCols); 508 442 corbatext_corbaArrayToArray(corbaCollectInfo.languages, &collectinfo.languages); 509 443 collectinfo.numDocs = corbaCollectInfo.numDocs; … … 516 450 517 451 err = (comerror_t) corbaError; 518 /*519 collectserver *cserver = cservers.getcollectserver (collection);520 if (cserver != NULL) cserver->get_collectinfo (collectinfo, err, logout);521 else err = protocolError;522 */523 452 } 524 453 … … 529 458 // cout << "Corbaproto::Filterinfo" << endl; 530 459 531 char *dummyv[1] = {""};532 int dummyc = 0;533 // CORBA variables534 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" );535 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" );536 537 // Get ref from "naming service"538 ifstream in ("/tmp/account.objid");539 char ref[1000];540 in >> ref;541 in.close ();542 543 // startup corba544 static CORBA::Object_var obj = orb->string_to_object (ref);545 546 corbaiface_var lclient = corbaiface::_narrow( obj );547 548 460 corbatext_t corbaCollection; 549 461 corbatext_tset corbaResponse; 550 462 corbaComError corbaError; 551 463 464 // get the corba client reference 465 corbaiface_var lclient = this->getCorbaClient(); 466 467 // convert all the requisite structures into their CORBA form 552 468 corbaconv_text_t::getCorbatext(collection,corbaCollection); 553 469 470 // execute the corba transaction 554 471 lclient->getFilterInfo(corbaCollection, corbaResponse, corbaError); 555 472 473 // convert the response back to normal form 556 474 corbatext_corbaArrayToSet(corbaResponse, &response.filterNames); 557 475 558 476 err = (comerror_t) corbaError; 559 560 /*561 collectserver *cserver = cservers.getcollectserver (collection);562 if (cserver != NULL) cserver->get_filterinfo (response, err, logout);563 else err = protocolError;564 */565 477 } 566 478 … … 570 482 comerror_t &err, ostream &logout) { 571 483 // cout << "Corbaproto::Filteroptions" << endl; 572 573 char *dummyv[1] = {""};574 int dummyc = 0;575 // CORBA variables576 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" );577 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" );578 579 // Get ref from "naming service"580 ifstream in ("/tmp/account.objid");581 char ref[1000];582 in >> ref;583 in.close ();584 585 // startup corba586 static CORBA::Object_var obj = orb->string_to_object (ref);587 588 corbaiface_var lclient = corbaiface::_narrow( obj );589 484 590 485 corbatext_t corbaCollection; … … 596 491 FilterOption_t *option; 597 492 493 // get the corba client reference 494 corbaiface_var lclient = this->getCorbaClient(); 495 496 // convert all the requisite structures into their CORBA form 598 497 corbaconv_text_t::getCorbatext(collection,corbaCollection); 599 498 corbaconv_text_t::getCorbatext(request.filterName,filterName); 600 499 500 // execute the corba transaction 601 501 lclient->getFilterOptions(corbaCollection, filterName, corbaResponse, corbaError); 602 502 503 // convert the response back to normal form 603 504 for (i = 0; i < corbaResponse.names.length(); i ++) 604 505 { … … 616 517 617 518 err = (comerror_t) corbaError; 618 /*619 collectserver *cserver = cservers.getcollectserver (collection);620 if (cserver != NULL) cserver->get_filteroptions (request, response, err, logout);621 else err = protocolError;622 */623 519 } 624 520 … … 631 527 corbaFilterRequest corbaRequest; 632 528 corbaFilterResponse corbaResponse; 633 634 char *dummyv[1] = {""};635 int dummyc = 0;636 corbatext_t_var corbaCollectPtr;637 529 corbatext_t corbaCollection; 638 530 corbaComError corbaError; 639 531 640 // CORBA variables 641 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" ); 642 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" ); 643 644 // Get ref from "naming service" 645 ifstream in ("/tmp/account.objid"); 646 char ref[1000]; 647 in >> ref; 648 in.close (); 649 650 // startup corba 651 static CORBA::Object_var obj = orb->string_to_object (ref); 652 653 corbaiface_var lclient = corbaiface::_narrow( obj ); 654 655 corbaconv_text_t::fillUsString(collection,&corbaCollection.text); 656 657 corbaconv_text_t::fillUsString(request.filterName,&corbaRequest.filter.text); 532 // get the corba client reference 533 corbaiface_var lclient = this->getCorbaClient(); 534 535 // convert all the requisite structures into their CORBA form 536 corbaconv_text_t::getCorbatext(collection,corbaCollection); 537 corbaconv_text_t::getCorbatext(request.filterName,corbaRequest.filter); 658 538 corbatext_optionValueArrayToCorba(request.filterOptions, corbaRequest.filterOptions); 659 539 corbatext_arrayToCorbaArray(request.docSet, &corbaRequest.docSet); … … 667 547 corbaresponse_resultDocInfoToCorba(response.docInfo, corbaResponse.docInfo); 668 548 549 // execute the corba transaction 669 550 lclient->filter (corbaCollection, corbaRequest, corbaResponse, corbaError); 670 551 552 // convert the response back to normal form 671 553 response.numDocs = corbaResponse.numDocs; 672 554 response.isApprox = corbaResponse.isApprox; … … 674 556 675 557 err = (comerror_t) corbaError; 676 /*677 collectserver *cserver = cservers.getcollectserver (collection);678 if (cserver != NULL) cserver->filter (request, response, err, logout);679 else err = protocolError;680 */681 558 // cout << "Corbaproto::Filter" << endl; 682 559 … … 689 566 // cout << "Corbaproto::Get Document" << endl; 690 567 691 /* collectserver *cserver = cservers.getcollectserver (collection);692 if (cserver != NULL) cserver->get_document (request, response, err, logout);693 else err = protocolError;694 */695 696 char *dummyv[1] = {""};697 int dummyc = 0;698 699 // CORBA variables700 static CORBA::ORB_var orb = CORBA::ORB_init( dummyc , dummyv, "mico-local-orb" );701 static CORBA::BOA_var boa = orb->BOA_init( dummyc , dummyv, "mico-local-boa" );702 703 // Get ref from "naming service"704 ifstream in ("/tmp/account.objid");705 char ref[1000];706 in >> ref;707 in.close ();708 709 // startup corba710 static CORBA::Object_var obj = orb->string_to_object (ref);711 712 corbaiface_var lclient = corbaiface::_narrow( obj );713 714 568 corbatext_t corbaCollect; 715 569 corbaDocRequest corbaRequest; … … 717 571 corbaComError corbaError; 718 572 573 // get the corba client reference 574 corbaiface_var lclient = this->getCorbaClient(); 575 576 // convert all the requisite structures into their CORBA form 719 577 corbaconv_text_t::getCorbatext(collection,corbaCollect); 720 578 corbaconv_text_t::getCorbatext(request.OID,corbaRequest.OID); … … 722 580 corbaconv_text_t::getCorbatext(request.docFormat,corbaRequest.docFormat); 723 581 582 // execute the corba transaction 724 583 lclient->getDocument(corbaCollect, corbaRequest, corbaResponse, corbaError); 584 585 // convert the response back to normal form 725 586 corbaconv_text_t::setCorbatext(response.doc,corbaResponse.doc); 726 587 727 588 err = (comerror_t) corbaError; 728 589 } 590
Note:
See TracChangeset
for help on using the changeset viewer.