Changeset 33113
- Timestamp:
- 2019-05-27T22:12:33+12:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/collection/Collection.java
r32990 r33113 336 336 else 337 337 { 338 logger.warn("Default access for collection " + this.cluster_name + " is neither public or private, assuming public");338 logger.warn("Default access for collection " + this.cluster_name + " is neither public nor private, assuming public"); 339 339 } 340 340 … … 371 371 else 372 372 { 373 logger.warn("Security scope is neither collection or document, assuming collection");373 logger.warn("Security scope is neither collection nor document, assuming collection"); 374 374 } 375 375 … … 636 636 } 637 637 638 String fieldValue = ""; 638 //String fieldValue = ""; 639 String[] fieldValues = null; 639 640 if (!fieldName.equals("oid")) 640 641 { 641 fieldValue = getFieldValue(oid, fieldName); 642 if (fieldValue == null) 642 //fieldValue = getFieldValue(oid, fieldName); 643 fieldValues = getFieldValues(oid, fieldName); 644 if (fieldValues == null) 643 645 { 644 646 return false; … … 647 649 else 648 650 { 649 fieldValue = oid; 651 //fieldValue = oid; 652 //fieldValues = new String[0]; 653 //fieldValues[0] = oid; 654 fieldValues = new String[]{oid}; // not allowed to do fieldValues = {oid}; after SEPARATE declaration. 650 655 } 651 656 … … 653 658 if (type.equals("match")) 654 659 { 660 661 for(int i = 0; i < fieldValues.length; i++) { 662 String fieldValue = fieldValues[i]; 655 663 if (matchValue.equals(fieldValue)) 656 664 { 657 665 return true; 658 666 } 667 } 659 668 } 660 669 else if (type.equals("regex")) 661 670 { 671 for(int i = 0; i < fieldValues.length; i++) { 672 String fieldValue = fieldValues[i]; 662 673 if (fieldValue.matches(matchValue)) 663 674 { 664 675 return true; 665 676 } 677 } 666 678 } 667 679 else … … 674 686 } 675 687 676 protected String getFieldValue(String oid, String fieldName)688 protected String old_getFieldValue(String oid, String fieldName) 677 689 { 678 690 Document msg_doc = XMLConverter.newDOM(); … … 708 720 709 721 return null; 722 } 723 724 protected String[] getFieldValues(String oid, String fieldName) 725 { 726 Document msg_doc = XMLConverter.newDOM(); 727 Element metadataMessage = msg_doc.createElement(GSXML.MESSAGE_ELEM); 728 Element metadataRequest = GSXML.createBasicRequest(msg_doc, GSXML.REQUEST_TYPE_PROCESS, this.cluster_name + "/DocumentMetadataRetrieve", new UserContext()); 729 metadataMessage.appendChild(metadataRequest); 730 731 Element paramList = msg_doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 732 metadataRequest.appendChild(paramList); 733 734 Element param = msg_doc.createElement(GSXML.PARAM_ELEM); 735 paramList.appendChild(param); 736 737 param.setAttribute(GSXML.NAME_ATT, "metadata"); 738 param.setAttribute(GSXML.VALUE_ATT, fieldName); 739 740 Element docList = msg_doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 741 metadataRequest.appendChild(docList); 742 743 Element doc = msg_doc.createElement(GSXML.DOC_NODE_ELEM); 744 docList.appendChild(doc); 745 746 doc.setAttribute(GSXML.NODE_ID_ATT, oid); 747 748 Element response = (Element) this.router.process(metadataMessage); 749 NodeList metadataElems = response.getElementsByTagName(GSXML.METADATA_ELEM); 750 751 if (metadataElems.getLength() <= 0) { 752 return null; 753 } 754 // else 755 String[] fieldValues = new String[metadataElems.getLength()]; 756 for(int i = 0; i < metadataElems.getLength(); i++) 757 { 758 Element metadata = (Element) metadataElems.item(i); 759 fieldValues[i] = GSXML.getNodeText(metadata); 760 } 761 762 return fieldValues; 763 710 764 } 711 765
Note:
See TracChangeset
for help on using the changeset viewer.