changeset 6:4b1ae52418c1

minor
author dwinter
date Sat, 15 Jan 2011 15:47:41 +0100
parents a42dabfcffdf
children df8c62d84f8f
files src/de/mpiwg/itgroup/eSciDoc/Tools/EScidocBasicHandler.java src/de/mpiwg/itgroup/eSciDoc/config/echo.properties src/de/mpiwg/itgroup/eSciDoc/harvesting/ESciDocDataHarvester.java src/de/mpiwg/itgroup/eSciDoc/harvesting/FoxridgeHarvester.java
diffstat 4 files changed, 49 insertions(+), 14 deletions(-) [+]
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
+	
+
+	}
+
+
+
 	
 
 
--- a/src/de/mpiwg/itgroup/eSciDoc/config/echo.properties	Sat Jan 15 13:57:56 2011 +0100
+++ b/src/de/mpiwg/itgroup/eSciDoc/config/echo.properties	Sat Jan 15 15:47:41 2011 +0100
@@ -1,3 +1,3 @@
 textServletUrl=http://nausikaa2.mpiwg-berlin.mpg.de/digitallibrary/servlet/Texter?fn=
 dirInfoUrl=http://nausikaa2.mpiwg-berlin.mpg.de/digitallibrary/dirInfo-xml.jsp?fn=
-metaDataManager=http://localhost:48080/MetaDataManagerRestlet
\ No newline at end of file
+metaDataManager=http://localhost:8180/MetaDataManagerRestlet
\ No newline at end of file
--- a/src/de/mpiwg/itgroup/eSciDoc/harvesting/ESciDocDataHarvester.java	Sat Jan 15 13:57:56 2011 +0100
+++ b/src/de/mpiwg/itgroup/eSciDoc/harvesting/ESciDocDataHarvester.java	Sat Jan 15 15:47:41 2011 +0100
@@ -41,7 +41,7 @@
 	protected EScidocBasicHandler connector;
 	protected Transformer transformer;
 	
-	private String echoContext;
+	private String context;
 	private Logger addedFile = Logger.getLogger("addedFilesLogger");
 	private Logger notAddedFile = Logger.getLogger("notAddedFilesLogger");
 
@@ -57,7 +57,7 @@
 		this.transformer = transformer;
 		this.connector = connector;
 		//this.tools = new EScidocTools(connector);
-		this.echoContext = context;
+		this.context = context;
 
 	}
 
@@ -81,7 +81,7 @@
 					try {
 						old = connector.alreadyExists(
 								"/md-records/md-record/admin/archivePath",
-								((ECHORessource) obj).archivePath, echoContext);
+								((ECHORessource) obj).archivePath, context);
 					} catch (ObjectNotUniqueError e) {
 						// TODO Auto-generated catch block
 						e.printStackTrace();
@@ -100,9 +100,9 @@
 				}
 			}
 
-			obj.context = echoContext;
+			obj.context = context;
 
-			String contid = connector.getIDfromPID(obj.pid, echoContext);
+			String contid = connector.getIDfromPID(obj.pid, context);
 			if (contid != null) {
 				System.out.println("------- belongsTo:" + contid);
 			} else {
@@ -164,7 +164,8 @@
 					
 					// checke zuerst, ob die MD5 schon im publiziert Teil der Metadaten ist, dann tue nichts
 					String md5 = ((ECHORessource) obj).getIndexMetaMD5onServer();
-					List<eSciDocXmlObject> results = connector.getObjectsFromSearch("escidoc.component.checksum",md5);
+					//List<eSciDocXmlObject> results = connector.getObjectsFromSearch("escidoc.component.checksum",md5);
+					List<eSciDocXmlObject> results = connector.getObjectsFromSearch("escidoc.component.checksum",md5,context);
 					if (results.size()>0){ //index.meta schon abgespeichert
 						notAddedFile.debug("alredy exist:"+obj.echoUrl);
 						continue;
@@ -177,7 +178,7 @@
 			
 						old = connector.alreadyExists( 
 								"/md-records/md-record/admin/archivePath",
-								((ECHORessource) obj).archivePath, echoContext);
+								((ECHORessource) obj).archivePath, context);
 					} catch (ObjectNotUniqueError e) {
 						// TODO Auto-generated catch block
 						e.printStackTrace();
@@ -196,9 +197,9 @@
 				}
 			}
 
-			obj.context = echoContext;
+			obj.context = context;
 
-			String contid = connector.getIDfromPID(obj.pid, echoContext);
+			String contid = connector.getIDfromPID(obj.pid, context);
 			if (contid != null) {
 				System.out.println("------- belongsTo:" + contid);
 			} else {
@@ -265,7 +266,7 @@
 	}
 
 	private void updateObject(ECHOObject objNew, ECHOObject objOld) throws TransformerException, ESciDocXmlObjectException {
-		objNew.context = echoContext;
+		objNew.context = context;
 		eSciDocXmlObject escidocItem = transformer.transform(objNew);
 		String lastModificationDateOld = objOld.lastModificationDate;
 		escidocItem.setLastModificationDate(lastModificationDateOld);
--- a/src/de/mpiwg/itgroup/eSciDoc/harvesting/FoxridgeHarvester.java	Sat Jan 15 13:57:56 2011 +0100
+++ b/src/de/mpiwg/itgroup/eSciDoc/harvesting/FoxridgeHarvester.java	Sat Jan 15 15:47:41 2011 +0100
@@ -41,11 +41,10 @@
 				new ECHOTransformer(),connector,"/ir/context/escidoc:12001"); 
 		
 		//hv.readObjectsFromInstance("ECHO_collection");
-		//hv.readObjectsFromInstance("ECHO_resource");
+		hv.readObjectsFromInstance("ECHO_resource");
 		
 		//hv.releaseAndSubmitObjects("/ir/context/escidoc:12001");
-		hv.releaseAndSubmitObjects("/ir/context/escidoc:12001/resources/members","//escidocItem:item",1
-				);
+		//hv.releaseAndSubmitObjects("/ir/context/escidoc:12001/resources/members","//escidocItem:item",1);
 		
 
 	}