source: main/trunk/greenstone2/runtime-src/src/oaiservr/oaiconfig.h@ 22284

Last change on this file since 22284 was 22284, checked in by kjdon, 14 years ago

new toOID takes an extra arg, repos_id, so its generates ids like oai:repos-id:collname:doc-id. old version is still used for set spec ids which remain like demo:CL5. another method to extrac the collection name from a full id

  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1#ifndef _OAICONFIG_H_
2#define _OAICONFIG_H_
3
4#include "cnfgable.h"
5
6#include <map>
7
8class oaicollectconfig {
9 public:
10 oaicollectconfig(const text_t &collectname) { this->collection = collectname; }
11 text_t collection;
12 text_t setName; // A display name for the set (collection)
13 text_t setDescription; // A display description for the set (collection)
14 text_tmap fieldMap; // maps from OAI name to GSDL name
15};
16
17typedef map<text_t, oaicollectconfig *, lttext_t> oaicollectmap;
18
19class oaiconfig : configurable {
20 public:
21 oaiconfig();
22 oaiconfig(text_t &gsdlhome, text_t &gsdlcollect);
23 virtual ~oaiconfig();
24 virtual void configure(const text_t &key, const text_tarray &cfgline);
25 text_tarray & getCollectionsList() { return this->collectList; }
26 text_tset & getMetadataSet() { return this->metadataSet; }
27 text_t getMapping(const text_t &collection, const text_t &collectfield);
28 text_t getMapping(const text_t &collection, const text_t &collectfield, const text_t &format);
29 text_tmap * getInformation() { return &this->infoMap; }
30 text_t getSetName(const text_t &setSpec);
31 text_t getSetDescription(const text_t &setSpec);
32 int getOAIVersion();
33 int resumeAfter();
34 text_t getBaseURL();
35 text_t getBaseLibraryURL();
36 text_t getBaseDocRoot();
37 text_t getRepositoryName();
38 text_t getRepositoryId();
39 text_t getRepositoryIdVersion();
40 text_t getMaintainer();
41 private:
42 bool configureCollection(const text_t &gsdlhome, const text_t &collection);
43
44 text_t repositoryName; // human readable name
45 text_t repositoryId; // unique (among oai servers) domain name or id for the repository
46 text_t repositoryIdVersion; // 1.1 or 2.0 for identifier scheme
47 text_t baseURL; // URL of oaiserver.cgi
48 text_t baseLibraryURL; // URL of library.cgi (used for urls to greenstone documents )
49 text_t baseDocRoot; // Base URL for gsdl directory (used for urls to source documents )
50 text_t oaiVersion; // The version of OAI running
51 int resumptionSize; // The number of items to produce before spitting out a resumptionToken
52 text_t maintainer;
53
54 text_tarray collectList; // The list of collections to be taken in hand
55 text_tset metadataSet; // The list of metadata sets to be supported
56 text_tmap infoMap; // Holds the information to be given in the case
57 // of an OAI identify request
58 oaicollectmap collectMap; // The configuration of collections
59 text_t collection; // Used to track which collection is being configured
60
61};
62#endif
Note: See TracBrowser for help on using the repository browser.