Revision 3141
Added by berkley about 17 years ago
MetacatClient.java | ||
---|---|---|
34 | 34 |
import java.io.Reader; |
35 | 35 |
import java.net.URL; |
36 | 36 |
import java.util.Properties; |
37 |
import java.util.Vector; |
|
37 | 38 |
|
38 | 39 |
import org.w3c.dom.Node; |
40 |
import org.w3c.dom.NodeList; |
|
39 | 41 |
|
40 | 42 |
import edu.ucsb.nceas.utilities.HttpMessage; |
41 | 43 |
import edu.ucsb.nceas.utilities.IOUtil; |
... | ... | |
721 | 723 |
} |
722 | 724 |
return lastIdentifier; |
723 | 725 |
} |
726 |
|
|
727 |
/** |
|
728 |
* return a list of all docids that match a given scope. if scope is null |
|
729 |
* return all docids registered in the system |
|
730 |
* @param scope String the scope to use to limit the docid query |
|
731 |
* @throws MetacatException when an error occurs |
|
732 |
*/ |
|
733 |
public Vector getAllDocids(String scope) throws MetacatException { |
|
734 |
Vector resultVec = new Vector(); |
|
735 |
//set up properties |
|
736 |
Properties prop = new Properties(); |
|
737 |
prop.put("action", "getalldocids"); |
|
738 |
if(scope != null) |
|
739 |
{ |
|
740 |
prop.put("scope", scope); |
|
741 |
} |
|
742 |
|
|
743 |
String response = null; |
|
744 |
try { |
|
745 |
response = sendDataForString(prop, null, null, 0); |
|
746 |
// Check for an error condition |
|
747 |
if (response.indexOf("<error>") != -1) { |
|
748 |
throw new MetacatException(response); |
|
749 |
} else { |
|
750 |
Reader responseReader = new StringReader(response); |
|
751 |
Node root = |
|
752 |
XMLUtilities.getXMLReaderAsDOMTreeRootNode(responseReader); |
|
753 |
NodeList nlist = root.getChildNodes(); |
|
754 |
for(int i=0; i<nlist.getLength(); i++) |
|
755 |
{ |
|
756 |
Node n = nlist.item(i); |
|
757 |
if(n.getNodeName().equals("docid")) |
|
758 |
{ |
|
759 |
//add the content to the return vector |
|
760 |
String nodeVal = n.getNodeValue(); |
|
761 |
resultVec.addElement(nodeVal); |
|
762 |
} |
|
763 |
} |
|
764 |
|
|
765 |
} |
|
766 |
} catch (Exception e) { |
|
767 |
throw new MetacatException(e.getMessage()); |
|
768 |
} |
|
769 |
return resultVec; |
|
770 |
} |
|
724 | 771 |
|
725 | 772 |
/************************************************************************ |
726 | 773 |
* PRIVATE METHODS |
Also available in: Unified diff
added functionality to get a list of ids used in the system