# 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); + + } +}