- Timestamp:
- 2010-06-01T15:10:34+12:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/runtime-src/src/oaiservr/oaiconfig.cpp
r20827 r22212 218 218 } 219 219 } 220 else if (key == "oaisetname" && cfgline.size() == 2) { 221 this->setNameMap[cfgline[0]] = cfgline[1]; 222 } 223 else if (key == "oaisetdescription" && cfgline.size() == 2) { 224 this->setDescriptionMap[cfgline[0]] = cfgline[1]; 225 } 226 else if (key == "oaiversion" && cfgline.size() >= 1) { 227 this->oaiVersion = cfgline[0]; 228 } 220 else if ( key == "oaisetname" || key == "oaisetdescription") { 221 text_t coll_name; 222 text_t value = ""; 223 if (this->collection != "") { 224 // we are in collect.cfg 225 coll_name = this->collection; 226 if (cfgline.size() == 1) { 227 // just the collection value 228 value = cfgline[0]; 229 } 230 else if (cfgline.size() == 2) { 231 // we have a subset name (eg for classifier) 232 coll_name.append(":"); 233 coll_name.append(cfgline[0]); 234 value = cfgline[1]; 235 } 236 } else if (cfgline.size() == 2) { 237 // oai.cfg, line should be collname, setName 238 coll_name = cfgline[0]; 239 value = cfgline[1]; 240 } 241 if (value != "") { 242 if (this->collectMap[coll_name] == NULL) { 243 this->collectMap[coll_name] = new oaicollectconfig(coll_name); 244 } 245 if (key == "oaisetname") { 246 this->collectMap[coll_name]->setName = value; 247 } else if (key == "oaisetdescription") { 248 this->collectMap[coll_name]->setDescription = value; 249 } 250 } 251 } 252 229 253 else if (key == "resumeafter" && cfgline.size() >= 1) { 230 254 this->resumptionSize = cfgline[0].getint(); 231 255 } 232 // get and note a maintainer item to support the Identify Verb of OAI 233 else if (key == "maintainer" && cfgline.size() >= 1) { 234 int line = 0; 235 236 // TODO: exhaustive checks for empty or default values of maintainer 237 while (line < cfgline.size()) { 238 if (cfgline[line] != "NULL" && 239 cfgline[line] != "") { 240 // do something 241 break; 242 } 243 else { 244 ++line; 245 } 246 } 247 248 // Only try to set the configuration if we have a legitimate value ... 249 if (line < cfgline.size()) { 250 // ensure we have a map to write to 251 if (this->collectMap[this->collection] == NULL) { 252 this->collectMap[this->collection] = new oaicollectconfig(this->collection); 253 } 254 this->collectMap[this->collection]->maintainer = cfgline[line]; 255 } 256 } 257 else if (key == "repositoryName" && cfgline.size() >= 1) { 258 int line = 0; 259 260 // TODO: exhaustive checks for empty or default values of repositoryName 261 while (line < cfgline.size()) { 262 if (cfgline[line] != "NULL" && 263 cfgline[line] != "") { 264 // do something 265 break; 266 } 267 else { 268 ++line; 269 } 270 } 271 272 // Only try to set the configuration if we have a legitimate value ... 273 if (line < cfgline.size()) { 274 // ensure we have a map to write to 275 if (this->collectMap[this->collection] == NULL) { 276 this->collectMap[this->collection] = new oaicollectconfig(this->collection); 277 } 278 this->collectMap[this->collection]->repositoryName = cfgline[line]; 279 } 280 } 281 else if (key == "baseURL" && cfgline.size() >= 1) { 282 int line = 0; 283 284 while (line < cfgline.size()) { 285 if (cfgline[line] != "NULL" && 286 cfgline[line] != "") { 287 // do something 288 break; 289 } 290 else { 291 ++line; 292 } 293 } 294 295 // Only try to set the configuration if we have a legitimate value ... 296 if (line < cfgline.size()) { 297 // ensure we have a map to write to 298 if (this->collectMap[this->collection] == NULL) { 299 this->collectMap[this->collection] = new oaicollectconfig(this->collection); 300 } 301 this->collectMap[this->collection]->baseURL = cfgline[line]; 302 } 303 } 304 else if (key == "baseDocRoot" && cfgline.size() >= 1) { 305 int line = 0; 306 307 while (line < cfgline.size()) { 308 if (cfgline[line] != "NULL" && 309 cfgline[line] != "") { 310 // do something 311 break; 312 } 313 else { 314 ++line; 315 } 316 } 317 318 // Only try to set the configuration if we have a legitimate value ... 319 if (line < cfgline.size()) { 320 // ensure we have a map to write to 321 if (this->collectMap[this->collection] == NULL) { 322 this->collectMap[this->collection] = new oaicollectconfig(this->collection); 323 } 324 this->collectMap[this->collection]->baseDocRoot = cfgline[line]; 325 } 326 } 327 } 328 329 /** 330 * TODO: store all field values in a map per collection 331 */ 332 text_t oaiconfig::getCollectionConfig(const text_t &collection, const text_t &field) 333 { 334 if (this->collectMap[collection] == NULL) { 335 return ""; 336 } 337 if (field == "maintainer") { 338 return this->collectMap[collection]->maintainer; 339 } 340 341 if (field == "repositoryName") { 342 return this->collectMap[collection]->repositoryName; 343 } 344 345 if (field == "baseURL") { 346 return this->collectMap[collection]->baseURL; 347 } 348 349 if (field == "baseDocRoot") { 350 return this->collectMap[collection]->baseDocRoot; 351 } 352 353 return ""; 354 } 256 257 else if (key == "maintainer") { 258 this->maintainer = cfgline[0]; 259 } 260 else if (key == "repositoryName") { 261 this->repositoryName = cfgline[0]; 262 } 263 else if (key == "baseURL") { 264 this->baseURL = cfgline[0]; 265 } 266 else if (key == "baseLibraryURL") { 267 this->baseLibraryURL = cfgline[0]; 268 } 269 else if (key == "baseDocRoot") { 270 this->baseDocRoot = cfgline[0]; 271 } 272 273 } 274 355 275 356 276 text_t oaiconfig::getMapping(const text_t &collection, const text_t &collectfield) … … 398 318 } 399 319 400 320 text_t oaiconfig::getBaseURL() 321 { 322 return this->baseURL; 323 } 324 text_t oaiconfig::getBaseLibraryURL() 325 { 326 return this->baseLibraryURL; 327 } 328 text_t oaiconfig::getBaseDocRoot() 329 { 330 return this->baseDocRoot; 331 } 332 text_t oaiconfig::getRepositoryName() 333 { 334 return this->repositoryName; 335 } 336 text_t oaiconfig::getMaintainer() 337 { 338 return this->maintainer; 339 } 401 340 text_t oaiconfig::getSetName(const text_t &setSpec) 402 341 { 403 if (setNameMap.find(setSpec) != setNameMap.end()) 404 { 405 return setNameMap[setSpec]; 406 } 407 408 return ""; 409 } 410 342 if (this->collectMap[setSpec] == NULL) { 343 return "" ; 344 } 345 346 return this->collectMap[setSpec]->setName; 347 348 } 411 349 412 350 text_t oaiconfig::getSetDescription(const text_t &setSpec) 413 351 { 414 if ( setDescriptionMap.find(setSpec) != setDescriptionMap.end())415 {416 return setDescriptionMap[setSpec];417 }418 419 return ""; 420 } 352 if (this->collectMap[setSpec] == NULL) { 353 return "" ; 354 } 355 356 return this->collectMap[setSpec]->setDescription; 357 } 358
Note:
See TracChangeset
for help on using the changeset viewer.