changeset 0:90a19cbda471

first ingest
author dwinter
date Wed, 24 Nov 2010 16:54:52 +0100
parents
children 2267d8c80a99
files .classpath .project .settings/org.eclipse.jdt.core.prefs .settings/org.eclipse.wst.common.component .settings/org.eclipse.wst.common.project.facet.core.xml libs/jaxen-1.1.1.jar libs/jdom-1.0.jar libs/junit-4.6.jar libs/log4j-1.2.15.jar libs/xmlrpc-client-3.1.2.jar libs/xmlrpc-common-3.1.2.jar src/META-INF/MANIFEST.MF src/de/mpiwg/itgroup/metadataManager/pid/DCTransformer.java src/de/mpiwg/itgroup/metadataManager/pid/PidGenerator.java
diffstat 14 files changed, 329 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.classpath	Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="lib" path="libs/jaxen-1.1.1.jar"/>
+	<classpathentry kind="lib" path="libs/jdom-1.0.jar"/>
+	<classpathentry kind="lib" path="libs/junit-4.6.jar"/>
+	<classpathentry kind="lib" path="libs/log4j-1.2.15.jar"/>
+	<classpathentry kind="lib" path="libs/xmlrpc-client-3.1.2.jar"/>
+	<classpathentry kind="lib" path="libs/xmlrpc-common-3.1.2.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.project	Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>MetaDataManager</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.settings/org.eclipse.jdt.core.prefs	Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,12 @@
+#Fri Aug 13 09:10:15 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.settings/org.eclipse.wst.common.component	Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="MetaDataManager">
+        <wb-resource deploy-path="/" source-path="/src"/>
+    </wb-module>
+</project-modules>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml	Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <fixed facet="java"/>
+  <fixed facet="jst.utility"/>
+  <installed facet="java" version="1.6"/>
+  <installed facet="jst.utility" version="1.0"/>
+</faceted-project>
Binary file libs/jaxen-1.1.1.jar has changed
Binary file libs/jdom-1.0.jar has changed
Binary file libs/junit-4.6.jar has changed
Binary file libs/log4j-1.2.15.jar has changed
Binary file libs/xmlrpc-client-3.1.2.jar has changed
Binary file libs/xmlrpc-common-3.1.2.jar has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/META-INF/MANIFEST.MF	Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/de/mpiwg/itgroup/metadataManager/pid/DCTransformer.java	Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,179 @@
+package de.mpiwg.itgroup.metadataManager.pid;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.log4j.Logger;
+import org.apache.xmlrpc.XmlRpcException;
+import org.apache.xmlrpc.client.XmlRpcClient;
+import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
+import org.jdom.xpath.XPath;
+
+import org.xml.sax.InputSource;
+
+
+
+public class DCTransformer {
+	static public String MPIWG = "http://www.mpiwg-berlin.mpg.de/ns/mpiwg";
+
+	public static String converterProvider = "http://127.0.0.1:28080/metadataMain";
+	private String metaDataLink;
+	private Logger logger = Logger.getLogger("transformerLogger");
+	
+	public DCTransformer(String metaDataLink) {
+		
+		this.metaDataLink=metaDataLink;
+	}
+
+	public Element getDCFromIndexMeta() {
+		//Verbinde mit metadataprovider
+		XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
+		
+		
+		try {
+			config.setServerURL(new URL(converterProvider));
+		} catch (MalformedURLException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			return null;
+		}
+		
+		XmlRpcClient client = new XmlRpcClient();
+		client.setConfig(config);
+		Object[] params = new Object[] { metaDataLink };
+
+		String result;
+		try {
+			result = (String) client.execute("getDCFormatted", params);
+		} catch (XmlRpcException e) {
+			// TODO Auto-generated catch block
+			logger.error("CANNOT connector to:"+converterProvider);
+			e.printStackTrace();
+			return null;
+		}
+			logger.debug("dC:"+result);
+			
+			SAXBuilder db = new SAXBuilder();
+			InputStream resultStream;
+			try {
+				resultStream = new ByteArrayInputStream(result.getBytes("utf-8"));
+			} catch (UnsupportedEncodingException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+				return null;
+			}
+			Document dc;
+			try {
+				dc = db.build(resultStream);
+			} catch (JDOMException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+				return null;
+			} catch (IOException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+				return null;
+			}
+			
+		return dc.getRootElement();
+	}
+
+	public Element getContentOfMetaTag() {
+		SAXBuilder db = new SAXBuilder();
+			
+		Document dc;
+		try {
+			dc = db.build(metaDataLink);
+		} catch (JDOMException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			return null;
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			return null;
+		}
+		
+		Element retElement = null;
+		try {
+			XPath xp = getXPath("//meta");
+			retElement = (Element) xp.selectSingleNode(dc);
+			
+		} catch (JDOMException e) {
+			//nothing to be done
+		}
+		if (retElement==null) { // versuche noch mal mit namespace 
+			try {
+				
+				XPath xp = getXPath("//mpiwg:meta");
+				retElement = (Element) xp.selectSingleNode(dc);
+				
+			} catch (JDOMException e) {
+				//nothing to be done
+			}
+			
+		}
+		return retElement;
+	}
+	
+	
+	private XPath getXPath(String xpath) throws JDOMException{
+		XPath xpathResources = XPath.newInstance(xpath);
+		
+		xpathResources.addNamespace("mpiwg",MPIWG);
+		
+		return xpathResources;
+	}
+
+	public String getImagePathFromIndexMeta() {
+		SAXBuilder db = new SAXBuilder();
+		
+		Document dc;
+		try {
+			dc = db.build(metaDataLink);
+		} catch (JDOMException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			return null;
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			return null;
+		}
+		
+		Element retElement = null;
+		try {
+			XPath xp = getXPath("//texttool/image");
+			retElement = (Element) xp.selectSingleNode(dc);
+			
+		} catch (JDOMException e) {
+			//nothing to be done
+		}
+		if (retElement==null) { // versuche noch mal mit namespace 
+			try {
+				XPath xp = getXPath("//mpiwg:texttool/mpiwg:image");
+				retElement = (Element) xp.selectSingleNode(dc);
+				
+			} catch (JDOMException e) {
+				//nothing to be done
+			}
+			
+		}
+		if (retElement==null)
+			return "";
+		return retElement.getTextTrim();
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/de/mpiwg/itgroup/metadataManager/pid/PidGenerator.java	Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,79 @@
+package de.mpiwg.itgroup.metadataManager.pid;
+
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Random;
+
+public class PidGenerator {
+
+	public String getPID() {
+		
+	HashMap<Integer, Character> driEncode = new HashMap<Integer, Character>(); 
+
+        driEncode.put(0,'0');
+        driEncode.put(1,'1');
+        driEncode.put(2,'2');
+        driEncode.put(3,'3');
+        driEncode.put(4,'4');
+        driEncode.put(5,'5');
+       driEncode.put(6,'6');
+       driEncode.put(7,'7');
+       driEncode.put(8,'8');
+       driEncode.put(9,'9');
+       driEncode.put(10,'A');
+       driEncode.put(11,'B');
+       driEncode.put(12,'C');
+	driEncode.put(13,'D');
+	 driEncode.put(14,'E');
+	 driEncode.put(15,'F');
+	 driEncode.put(16,'G');
+	 driEncode.put(17,'H');
+	 driEncode.put(18,'K');
+	 driEncode.put(19,'M');
+	 driEncode.put(20,'N');
+	 driEncode.put(21,'P');
+	 driEncode.put(22,'Q');
+	 driEncode.put(23,'R');
+	 driEncode.put(24,'S');
+	 driEncode.put(25,'T');
+	 driEncode.put(26,'U');
+	 driEncode.put(27,'V');
+	 driEncode.put(28,'W');
+	 driEncode.put(29,'X');
+	 driEncode.put(30,'Y');
+	driEncode.put(31,'Z');
+
+
+	Random rd = new Random();
+	long mils = Calendar.getInstance().getTimeInMillis();
+	rd.setSeed(mils);
+	
+	ArrayList<Integer> x = new ArrayList<Integer>();
+	       
+	for (int i=0;i<7;i++)
+	     x.add(rd.nextInt(32));
+	    		
+
+	Integer sum=0;
+	for (int i=0;i<7;i++){
+		sum+=(i+1)*x.get(i);
+	}
+	     
+	Integer c=sum % 31;
+	ArrayList<Character> id = new ArrayList<Character>();
+	for (int i=0;i<7;i++){
+		id.add(i, driEncode.get(x.get(i)));
+	}
+	         
+	id.add(driEncode.get(c));
+	
+	String ret = new String();
+	for (Character cr: id){
+		ret+=cr;
+	}
+	return new String(ret);
+		
+	}
+}