diff src/de/mpiwg/itgroup/eSciDoc/Tools/EScidocBasicHandler.java @ 6:4b1ae52418c1

minor
author dwinter
date Sat, 15 Jan 2011 15:47:41 +0100
parents cb5668b07bfc
children a844f6948dd8
line wrap: on
line diff
--- a/src/de/mpiwg/itgroup/eSciDoc/Tools/EScidocBasicHandler.java	Sat Jan 15 13:57:56 2011 +0100
+++ b/src/de/mpiwg/itgroup/eSciDoc/Tools/EScidocBasicHandler.java	Sat Jan 15 15:47:41 2011 +0100
@@ -848,6 +848,41 @@
 
 
 
+	public List<eSciDocXmlObject> getObjectsFromSearch(String field,
+			String value, String context) throws ESciDocXmlObjectException {
+		String query = "/srw/search/escidoc_all?operation=searchRetrieve&version=1.1&query=";
+		query+=field+"%3d";
+		try {
+			String[] contextSplitted = context.split("/");
+			if(contextSplitted.length>0){
+			query+=URLEncoder.encode(value, "utf-8")+"%20and%20escidoc.context.objid%3d"+contextSplitted[contextSplitted.length-1];
+			}
+			} catch (UnsupportedEncodingException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			throw new ESciDocXmlObjectException();
+		}
+		
+		try {
+			return getObjectsFromFilterResult(query, "//escidocItem:item");
+		} catch (IllegalStateException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (JDOMException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		
+		throw new ESciDocXmlObjectException(); // fehler wenn kein return
+	
+
+	}
+
+
+