# HG changeset patch
# User dwinter
# Date 1290614092 -3600
# Node ID 90a19cbda471e7c497f4184b6a4227a21ea31ac3
first ingest
diff -r 000000000000 -r 90a19cbda471 .classpath
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.classpath Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 90a19cbda471 .project
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.project Wed Nov 24 16:54:52 2010 +0100
@@ -0,0 +1,30 @@
+
+
+ MetaDataManager
+
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+
+
+
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.wst.common.modulecore.ModuleCoreNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.wst.common.project.facet.core.nature
+
+
diff -r 000000000000 -r 90a19cbda471 .settings/org.eclipse.jdt.core.prefs
--- /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
diff -r 000000000000 -r 90a19cbda471 .settings/org.eclipse.wst.common.component
--- /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 @@
+
+
+
+
+
+
diff -r 000000000000 -r 90a19cbda471 .settings/org.eclipse.wst.common.project.facet.core.xml
--- /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 @@
+
+
+
+
+
+
+
diff -r 000000000000 -r 90a19cbda471 libs/jaxen-1.1.1.jar
Binary file libs/jaxen-1.1.1.jar has changed
diff -r 000000000000 -r 90a19cbda471 libs/jdom-1.0.jar
Binary file libs/jdom-1.0.jar has changed
diff -r 000000000000 -r 90a19cbda471 libs/junit-4.6.jar
Binary file libs/junit-4.6.jar has changed
diff -r 000000000000 -r 90a19cbda471 libs/log4j-1.2.15.jar
Binary file libs/log4j-1.2.15.jar has changed
diff -r 000000000000 -r 90a19cbda471 libs/xmlrpc-client-3.1.2.jar
Binary file libs/xmlrpc-client-3.1.2.jar has changed
diff -r 000000000000 -r 90a19cbda471 libs/xmlrpc-common-3.1.2.jar
Binary file libs/xmlrpc-common-3.1.2.jar has changed
diff -r 000000000000 -r 90a19cbda471 src/META-INF/MANIFEST.MF
--- /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:
+
diff -r 000000000000 -r 90a19cbda471 src/de/mpiwg/itgroup/metadataManager/pid/DCTransformer.java
--- /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();
+ }
+
+}
diff -r 000000000000 -r 90a19cbda471 src/de/mpiwg/itgroup/metadataManager/pid/PidGenerator.java
--- /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 driEncode = new HashMap();
+
+ 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 x = new ArrayList();
+
+ 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 id = new ArrayList();
+ 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);
+
+ }
+}