- Timestamp:
- 2012-05-22T13:01:04+12:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/core/OAIReceptionist.java
r24440 r25635 321 321 * otherwise true. 322 322 */ 323 private boolean isValidParam(HashMap param_map, HashSetvalid_strs) {324 ArrayList param_list = new ArrayList(param_map.keySet());323 private boolean isValidParam(HashMap<String, String> param_map, HashSet<String> valid_strs) { 324 ArrayList<String> param_list = new ArrayList<String>(param_map.keySet()); 325 325 for(int i=0; i<param_list.size(); i++) { 326 if (valid_strs.contains( (String)param_list.get(i)) == false) {326 if (valid_strs.contains(param_list.get(i)) == false) { 327 327 return false; 328 328 } … … 333 333 // option: from, until, set, metadataPrefix, resumptionToken 334 334 // exceptions: badArgument, badResumptionToken, cannotDisseminateFormat, noRecordMatch, and noSetHierarchy 335 HashSet valid_strs = new HashSet();335 HashSet<String> valid_strs = new HashSet<String>(); 336 336 valid_strs.add(OAIXML.FROM); 337 337 valid_strs.add(OAIXML.UNTIL); … … 347 347 String token = ""; 348 348 349 HashMap param_map = OAIXML.getParamMap(params);349 HashMap<String, String> param_map = OAIXML.getParamMap(params); 350 350 if (!isValidParam(param_map, valid_strs)) { 351 351 logger.error("One of the params is invalid"); … … 353 353 } 354 354 // param keys are valid, but if there are any date params, check they're of the right format 355 String from = (String)param_map.get(OAIXML.FROM);355 String from = param_map.get(OAIXML.FROM); 356 356 if(from != null) { 357 357 Date from_date = OAIXML.getDate(from); … … 361 361 } 362 362 } 363 String until = (String)param_map.get(OAIXML.UNTIL);363 String until = param_map.get(OAIXML.UNTIL); 364 364 if(until != null) { 365 365 Date until_date = OAIXML.getDate(until); … … 389 389 if(request_set == true) { 390 390 boolean set_supported = false; 391 String set_spec_str = (String)param_map.get(OAIXML.SET);391 String set_spec_str = param_map.get(OAIXML.SET); 392 392 // get the collection name 393 393 //if setSpec is supported by this repository, it must be in the form: site_name:coll_name … … 409 409 if(param_map.containsKey(OAIXML.RESUMPTION_TOKEN)) { 410 410 // validate resumptionToken 411 token = (String)param_map.get(OAIXML.RESUMPTION_TOKEN);411 token = param_map.get(OAIXML.RESUMPTION_TOKEN); 412 412 logger.info("has resumptionToken" + token); 413 413 if(OAIXML.containsToken(token) == false) { … … 424 424 425 425 //Now that we got a prefix, check and see if it's supported by this repository 426 String prefix_value = (String)param_map.get(OAIXML.METADATA_PREFIX);426 String prefix_value = param_map.get(OAIXML.METADATA_PREFIX); 427 427 if (containsMetadataPrefix(prefix_value) == false) { 428 428 logger.error("requested prefix is not found in OAIConfig.xml"); … … 434 434 String verb = req.getAttribute(OAIXML.TO); 435 435 NodeList param_list = req.getElementsByTagName(OAIXML.PARAM); 436 ArrayList retain_param_list = new ArrayList();436 ArrayList<Element> retain_param_list = new ArrayList<Element>(); 437 437 for (int j=0; j<param_list.getLength(); j++) { 438 438 Element e = OAIXML.duplicateElement(msg.getOwnerDocument(), (Element)param_list.item(j), true); … … 449 449 msg.appendChild(req); 450 450 for (int j=0; j<retain_param_list.size(); j++) { 451 req.appendChild( (Element)retain_param_list.get(j));451 req.appendChild(retain_param_list.get(j)); 452 452 } 453 453 } … … 538 538 // option: from, until, set, metadataPrefix, and resumptionToken 539 539 // exceptions: badArgument, badResumptionToken, cannotDisseminateFormat, noRecordMatch, and noSetHierarchy 540 HashSet valid_strs = new HashSet();540 HashSet<String> valid_strs = new HashSet<String>(); 541 541 valid_strs.add(OAIXML.FROM); 542 542 valid_strs.add(OAIXML.UNTIL); … … 558 558 } 559 559 560 HashMap param_map = OAIXML.getParamMap(params);560 HashMap<String, String> param_map = OAIXML.getParamMap(params); 561 561 if (!isValidParam(param_map, valid_strs)) { 562 562 logger.error("One of the params is invalid"); … … 564 564 } 565 565 // param keys are valid, but if there are any date params, check they're of the right format 566 String from = (String)param_map.get(OAIXML.FROM);566 String from = param_map.get(OAIXML.FROM); 567 567 if(from != null) { 568 568 Date from_date = OAIXML.getDate(from); … … 572 572 } 573 573 } 574 String until = (String)param_map.get(OAIXML.UNTIL);574 String until = param_map.get(OAIXML.UNTIL); 575 575 Date until_date = null; 576 576 if(until != null) { … … 601 601 if(request_set == true) { 602 602 boolean set_supported = false; 603 String set_spec_str = (String)param_map.get(OAIXML.SET);603 String set_spec_str = param_map.get(OAIXML.SET); 604 604 // get the collection name 605 605 //if setSpec is supported by this repository, it must be in the form: site_name:coll_name … … 630 630 // store a new token if necessary. 631 631 //} 632 token = (String)param_map.get(OAIXML.RESUMPTION_TOKEN);632 token = param_map.get(OAIXML.RESUMPTION_TOKEN); 633 633 logger.info("has resumptionToken: " + token); 634 634 if(OAIXML.containsToken(token) == false) { … … 671 671 672 672 //Now that we got a prefix, check and see if it's supported by this repository 673 String prefix_value = (String)param_map.get(OAIXML.METADATA_PREFIX);673 String prefix_value = param_map.get(OAIXML.METADATA_PREFIX); 674 674 if (containsMetadataPrefix(prefix_value) == false) { 675 675 logger.error("requested prefix is not found in OAIConfig.xml"); … … 682 682 String verb = req.getAttribute(OAIXML.TO); 683 683 NodeList param_list = req.getElementsByTagName(OAIXML.PARAM); 684 ArrayList retain_param_list = new ArrayList();684 ArrayList<Element> retain_param_list = new ArrayList<Element>(); 685 685 for (int j=0; j<param_list.getLength(); j++) { 686 686 Element e = OAIXML.duplicateElement(msg.getOwnerDocument(), (Element)param_list.item(j), true); … … 698 698 msg.appendChild(req); 699 699 for (int j=0; j<retain_param_list.size(); j++) { 700 req.appendChild( (Element)retain_param_list.get(j));700 req.appendChild(retain_param_list.get(j)); 701 701 } 702 702 } … … 747 747 getRecords(list_records, record_list, 0, resume_after); 748 748 //An incomplete list is sent; append a resumptionToken element 749 Element token_elem = createResumptionTokenElement(num_records, 0, resume_after, true, (String)param_map.get(OAIXML.METADATA_PREFIX));749 Element token_elem = createResumptionTokenElement(num_records, 0, resume_after, true, param_map.get(OAIXML.METADATA_PREFIX)); 750 750 //store this token 751 751 OAIXML.addToken(token_elem); … … 768 768 getRecords(list_records, record_list, cursor, num_records); 769 769 //An incomplete list is sent; append a resumptionToken element 770 token_elem = createResumptionTokenElement(num_records, cursor, -1, false, (String)param_map.get(OAIXML.METADATA_PREFIX));770 token_elem = createResumptionTokenElement(num_records, cursor, -1, false, param_map.get(OAIXML.METADATA_PREFIX)); 771 771 list_records.appendChild(token_elem); 772 772 … … 775 775 //append required records to list_records (list is incomplete) 776 776 getRecords(list_records, record_list, cursor, cursor + resume_after); 777 token_elem = createResumptionTokenElement(num_records, cursor, cursor + resume_after, true, (String)param_map.get(OAIXML.METADATA_PREFIX));777 token_elem = createResumptionTokenElement(num_records, cursor, cursor + resume_after, true, param_map.get(OAIXML.METADATA_PREFIX)); 778 778 //store this token 779 779 OAIXML.addToken(token_elem); … … 1013 1013 Element get_record = OAIXML.createElement(OAIXML.GET_RECORD); 1014 1014 1015 HashSet valid_strs = new HashSet();1015 HashSet<String> valid_strs = new HashSet<String>(); 1016 1016 valid_strs.add(OAIXML.IDENTIFIER); 1017 1017 valid_strs.add(OAIXML.METADATA_PREFIX); … … 1019 1019 Element req = (Element)GSXML.getChildByTagName(msg, GSXML.REQUEST_ELEM); 1020 1020 NodeList params = GSXML.getChildrenByTagName(req, OAIXML.PARAM); 1021 HashMap param_map = OAIXML.getParamMap(params);1021 HashMap<String, String> param_map = OAIXML.getParamMap(params); 1022 1022 1023 1023 if(!isValidParam(param_map, valid_strs) || … … 1029 1029 } 1030 1030 1031 String prefix = (String)param_map.get(OAIXML.METADATA_PREFIX);1032 String identifier = (String)param_map.get(OAIXML.IDENTIFIER);1031 String prefix = param_map.get(OAIXML.METADATA_PREFIX); 1032 String identifier = param_map.get(OAIXML.IDENTIFIER); 1033 1033 1034 1034 // verify the metadata prefix
Note:
See TracChangeset
for help on using the changeset viewer.