Ignore:
Timestamp:
2017-02-08T18:31:18+13:00 (7 years ago)
Author:
ak19
Message:

Round 1 of commits for getting OAI deletion policy to work with GS2 (server end). The perl code writing out the OAI db and the GS3 server code implementing the deletion policy had already been completed earlier (end 2016).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/runtime-src/src/colservr/collectset.cpp

    r25235 r31387  
    335335
    336336    // Create a dbclass of the correct type
    337     dbclass *db_ptr = NULL;
     337    dbclass *db_ptr = NULL; // index database in index/text
     338    dbclass *oaidb_ptr = NULL; // etc/oai-inf database
    338339
    339340    if (infodbtype == "sqlite")
     
    342343    sqlitedbclass *sql_db_ptr = new sqlitedbclass(gsdlhome);
    343344    db_ptr = sql_db_ptr;
     345
     346    sqlitedbclass *sql_oaidb_ptr = new sqlitedbclass(gsdlhome);
     347    oaidb_ptr = sql_oaidb_ptr;
    344348
    345349    // add a sql browse filter
     
    364368    mssqldbclass *mssql_db_ptr = new mssqldbclass(gsdlhome);
    365369    db_ptr = mssql_db_ptr;
     370
     371    mssqldbclass *mssql_oaidb_ptr = new mssqldbclass(gsdlhome);
     372    oaidb_ptr = mssql_oaidb_ptr;
    366373
    367374    // add a sql browse filter
     
    380387    jdbmnaiveclass *jdbm_db_ptr = new jdbmnaiveclass(gsdlhome);
    381388    db_ptr = jdbm_db_ptr;
     389
     390    jdbmnaiveclass *jdbm_oaidb_ptr = new jdbmnaiveclass(gsdlhome);
     391    oaidb_ptr = jdbm_oaidb_ptr;
    382392#else
    383393    cerr << "Warning: infodbtype of 'jdbm' was not compiled in to " << endl;
     
    392402#ifdef USE_GDBM
    393403      db_ptr = new gdbmclass(gsdlhome);
     404      oaidb_ptr = new gdbmclass(gsdlhome);
    394405#else
    395406    cerr << "Warning: infodbtype of 'gdbm' was not compiled in to " << endl;
     
    405416    browsefilterclass *browsefilter = new browsefilterclass();
    406417    browsefilter->set_db_ptr(db_ptr);
     418    // set the oaidb ptr for the browse filter. As with the db_ptr, the oaidb_ptr
     419    // is not managed and deleted by the browsefilter class, but by the sourceclass
     420    browsefilter->set_oaidb_ptr(oaidb_ptr);
    407421    cserver->add_filter (browsefilter); 
    408422
     
    420434      mgsourceclass *mgsource = new mgsourceclass ();
    421435      mgsource->set_db_ptr(db_ptr);
     436      mgsource->set_oaidb_ptr(oaidb_ptr);
    422437      mgsource->set_textsearchptr (mgsearch);
    423438      cserver->add_source (mgsource);
     
    439454      mgppsourceclass *mgppsource = new mgppsourceclass ();
    440455      mgppsource->set_db_ptr(db_ptr);
     456      mgppsource->set_oaidb_ptr(oaidb_ptr);
    441457      mgppsource->set_textsearchptr (mgppsearch);
    442458      cserver->add_source (mgppsource);
     
    459475      lucenesourceclass *lucenesource = new lucenesourceclass ();
    460476      lucenesource->set_db_ptr(db_ptr);
     477      lucenesource->set_oaidb_ptr(oaidb_ptr);
    461478      lucenesource->set_textsearchptr (lucenesearch);
    462479      cserver->add_source (lucenesource);
Note: See TracChangeset for help on using the changeset viewer.