Mercurial > hg > MetaDataManager
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>
--- /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); + + } +}