annotate src/de/mpiwg/itgroup/eSciDoc/Tools/Pubman/AddConeIds.java @ 21:a3f9a9ecdd42 default tip

UTF-8 problem bei AddConeIds solved Neue Funktion zum Austuschen der Cone id'S beim editor
author dwinter
date Mon, 28 Oct 2013 14:53:43 +0100
parents d1f63ee9998d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
1 package de.mpiwg.itgroup.eSciDoc.Tools.Pubman;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
2
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
3 // geht durch alle eintraege und tested auf personen ids
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
4
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
5 // gegebenefalls werden sie hinzugefuegt (dazu python tool addconeids aufrufen.
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
6 import java.io.BufferedReader;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
7 import java.io.BufferedWriter;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
8 import java.io.File;
21
a3f9a9ecdd42 UTF-8 problem bei AddConeIds solved
dwinter
parents: 20
diff changeset
9 import java.io.FileInputStream;
19
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
10 import java.io.FileNotFoundException;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
11 import java.io.FileOutputStream;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
12 import java.io.FileReader;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
13 import java.io.FileWriter;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
14 import java.io.IOException;
21
a3f9a9ecdd42 UTF-8 problem bei AddConeIds solved
dwinter
parents: 20
diff changeset
15 import java.io.InputStreamReader;
19
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
16 import java.io.OutputStreamWriter;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
17 import java.io.UnsupportedEncodingException;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
18 import java.util.ArrayList;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
19 import java.util.HashMap;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
20 import java.util.List;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
21
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
22 import org.apache.http.HttpEntity;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
23 import org.apache.http.HttpResponse;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
24 import org.apache.log4j.Level;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
25 import org.apache.log4j.Logger;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
26 import org.jdom.Document;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
27 import org.jdom.Element;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
28 import org.jdom.JDOMException;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
29 import org.jdom.Namespace;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
30 import org.jdom.xpath.XPath;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
31
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
32
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
33 import com.sun.xml.internal.xsom.impl.scd.Iterators.Map;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
34
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
35 import sun.security.krb5.internal.crypto.Nonce;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
36
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
37 import de.mpiwg.itgroup.eSciDoc.Tools.EScidocBasicHandler;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
38 import de.mpiwg.itgroup.eSciDoc.Tools.EScidocTools;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
39 import de.mpiwg.itgroup.eSciDoc.exceptions.ESciDocXmlObjectException;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
40 import de.mpiwg.itgroup.eSciDoc.utils.eSciDocXmlObject;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
41
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
42
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
43
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
44
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
45 public class AddConeIds {
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
46
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
47 /**
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
48 * @param connector
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
49 * @param args
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
50 * @throws ESciDocXmlObjectException
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
51 * @throws JDOMException
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
52 * @throws IOException
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
53 * @throws IllegalStateException
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
54 */
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
55
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
56
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
57 public void findPersons(eSciDocXmlObject obj,BufferedWriter out,HashMap<String,List<List<String>>>newTerms, EScidocBasicHandler connector) throws JDOMException, IOException, IllegalStateException, ESciDocXmlObjectException{
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
58
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
59
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
60 Document doc = obj.getDocument();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
61 Boolean changed=false;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
62 XPath personXPath = EScidocTools.getESciDocXpath("//person:person");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
63 @SuppressWarnings("unchecked")
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
64 List<Element> persons = personXPath.selectNodes(doc);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
65
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
66 XPath familyNameXpath = EScidocTools.getESciDocXpath(".//eterms:family-name");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
67 XPath givenNameXpath = EScidocTools.getESciDocXpath(".//eterms:given-name");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
68 XPath completeNameXpath = EScidocTools.getESciDocXpath(".//eterms:complete-name");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
69
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
70 XPath identifierXpath = EScidocTools.getESciDocXpath("./dc:identifier");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
71
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
72
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
73 for (Element person : persons) {
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
74
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
75 String famName="";
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
76
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
77 Element fam = (Element)familyNameXpath.selectSingleNode(person);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
78
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
79 if (fam != null){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
80 famName = fam.getTextTrim();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
81 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
82
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
83 Element giv = (Element)givenNameXpath.selectSingleNode(person);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
84
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
85 String givName ="";
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
86 if (fam != null){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
87 givName = giv.getTextTrim();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
88 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
89
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
90 Element compl = (Element)completeNameXpath.selectSingleNode(person);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
91
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
92 String complName="";
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
93 if (fam != null){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
94 complName = compl.getTextTrim();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
95 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
96
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
97
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
98 List<Element> ids = (List<Element>)identifierXpath.selectNodes(person);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
99
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
100
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
101 List<String>identifiers = new ArrayList<String> ();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
102 for (Element id : ids){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
103 identifiers.add(id.getTextTrim());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
104
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
105 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
106
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
107 for (String identifier : identifiers){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
108 String outStr = String.format("%s,%s,%s,%s,%s\n",obj.getESciDocId(),famName,givName,complName,identifier);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
109 out.write(outStr);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
110 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
111
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
112 if (identifiers.size()==0){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
113 String outStr = String.format("%s,%s,%s,%s,%s\n",obj.getESciDocId(),famName,givName,complName,"");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
114
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
115
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
116 if (newTerms !=null){ // es existieren neue cone eintrage
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
117 if (newTerms.containsKey(obj.getESciDocId())){ // ergŠnzung existiert
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
118 for (List<String> entry : newTerms.get(obj.getESciDocId())){ //hole diese
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
119 if ( entry.get(0).equals(famName) && entry.get(1).equals(givName)){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
120
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
121 int size= entry.size();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
122 String coneId = entry.get(size-1);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
123
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
124
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
125 Element newIdent = new Element("identifier", EScidocTools.DC);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
126 Namespace ns = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
127 newIdent.setAttribute("type", "eterms:CONE",ns);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
128 newIdent.setText(coneId);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
129 person.addContent(newIdent);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
130
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
131 //System.out.println(obj.printXML());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
132 connector.updateItem(obj);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
133 HttpResponse retValue = connector.submitAnObject(obj, "changed cone identifiers");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
134 System.out.println(EScidocBasicHandler.convertStreamToString(retValue.getEntity().getContent()));
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
135 //
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
136 // System.out.println(EScidocBasicHandler.convertStreamToString(retValu.getEntity().getContent()));
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
137 //
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
138
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
139
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
140 HttpResponse resObj = connector.eScidocGet(obj.getESciDocId());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
141 HttpEntity ent = resObj.getEntity();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
142 if (ent!=null){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
143 obj= new eSciDocXmlObject(ent.getContent());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
144 } else {
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
145 System.out.println("Can not retrieve:" + obj.getESciDocId());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
146 continue;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
147 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
148
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
149
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
150 retValue = connector.releaseAnObject(obj, "changed cone identifiers");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
151 System.out.println(EScidocBasicHandler.convertStreamToString(retValue.getEntity().getContent()));
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
152 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
153
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
154 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
155 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
156
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
157 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
158 out.write(outStr);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
159 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
160
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
161 out.flush();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
162
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
163
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
164 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
165
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
166
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
167 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
168
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
169
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
170 public HashMap<String,List<List<String>>> readEscidocToIdentifier() throws IOException{
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
171
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
172 HashMap<String,List<List<String>>> newTerms = new HashMap<String, List<List<String>>>();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
173
21
a3f9a9ecdd42 UTF-8 problem bei AddConeIds solved
dwinter
parents: 20
diff changeset
174 String founds = readFileAsString("/tmp/found.csv");
19
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
175 String[] splitted = founds.split("\n");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
176 //ir/item/escidoc:647775,McLaughlin,Peter,McLaughlin, Peter,http://pubman.mpiwg-berlin.mpg.de/cone/persons/resource/240
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
177 for (int i=0;i<splitted.length;i++){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
178
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
179
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
180
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
181 String line = splitted[i];
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
182
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
183 String[] lineSplitted = line.split(",");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
184
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
185
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
186
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
187
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
188
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
189 if (!newTerms.containsKey(lineSplitted[0])){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
190 newTerms.put(lineSplitted[0], new ArrayList<List<String>>());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
191 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
192
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
193 List<List<String>> content = newTerms.get(lineSplitted[0]);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
194
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
195
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
196 ArrayList<String> entry = new ArrayList<String>();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
197
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
198
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
199
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
200 for (int j=1;j<lineSplitted.length;j++){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
201 entry.add(lineSplitted[j]);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
202 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
203
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
204 content.add(entry);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
205 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
206
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
207
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
208 return newTerms;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
209
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
210 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
211
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
212
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
213 public void findAllPersons(String[] args) throws IllegalStateException, IOException, JDOMException, ESciDocXmlObjectException{
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
214 File file = new File("/tmp/ids.csv");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
215
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
216 BufferedWriter out =
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
217 new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF8"));
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
218
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
219 Logger logger = Logger.getRootLogger();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
220 logger.setLevel(Level.DEBUG);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
221 EScidocBasicHandler connector = new EScidocBasicHandler(
21
a3f9a9ecdd42 UTF-8 problem bei AddConeIds solved
dwinter
parents: 20
diff changeset
222 "escidoc.mpiwg-berlin.mpg.de", 8080, "dwinter", "SSSS");
19
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
223
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
224 if(args.length<2){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
225 System.out.println("Usage: startrecord maximumrecords");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
226 System.exit(-1);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
227 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
228 String MAX_REC = args[1];
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
229 String start = args[0];
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
230 String objectXPath = "//escidocItem:item";
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
231
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
232 String query = "?maximumRecords=" + String.valueOf(MAX_REC)
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
233 + "&startRecord=" + String.valueOf(start);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
234 String command = "/ir/context/escidoc:38279/resources/members";
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
235 for (eSciDocXmlObject obj : connector.getObjectsFromFilterResult(
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
236 command + query, objectXPath)) {
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
237
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
238 System.out.println(obj.getESciDocId());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
239 HashMap<String, List<List<String>>> newTerms = readEscidocToIdentifier();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
240 findPersons(obj,out,newTerms,connector);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
241
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
242
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
243
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
244 // if (changed){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
245 //
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
246 // Boolean retVal = connector.updateItem(obj);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
247 // System.out.println("Replaced:"+obj.getESciDocId());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
248 // HttpResponse retValu = connector.submitAnObject(obj, "changed cone identifiers");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
249 //
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
250 // System.out.println(EScidocBasicHandler.convertStreamToString(retValu.getEntity().getContent()));
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
251 // HttpResponse resObj = connector.eScidocGet(obj.getESciDocId());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
252 // HttpEntity ent = resObj.getEntity();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
253 // if (ent!=null){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
254 // obj= new eSciDocXmlObject(ent.getContent());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
255 // } else {
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
256 // System.out.println("Can not retrieve:" + obj.getESciDocId());
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
257 // continue;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
258 // }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
259 //
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
260 // HttpResponse reValue2 = connector.releaseAnObject(obj, "changed cone identifiers");
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
261 // System.out.println(EScidocBasicHandler.convertStreamToString(reValue2.getEntity().getContent()));
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
262 //
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
263 //
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
264 // }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
265 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
266 out.close();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
267 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
268
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
269
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
270 private String readFileAsString(String filePath) throws IOException {
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
271 StringBuffer fileData = new StringBuffer();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
272 BufferedReader reader = new BufferedReader(
21
a3f9a9ecdd42 UTF-8 problem bei AddConeIds solved
dwinter
parents: 20
diff changeset
273 new InputStreamReader(
a3f9a9ecdd42 UTF-8 problem bei AddConeIds solved
dwinter
parents: 20
diff changeset
274 new FileInputStream(filePath), "UTF8"));
19
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
275 char[] buf = new char[1024];
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
276 int numRead=0;
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
277 while((numRead=reader.read(buf)) != -1){
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
278 String readData = String.valueOf(buf, 0, numRead);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
279 fileData.append(readData);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
280 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
281 reader.close();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
282 return fileData.toString();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
283 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
284
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
285 public static void main(String[] args) throws IllegalStateException,
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
286 IOException, JDOMException, ESciDocXmlObjectException {
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
287
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
288
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
289 AddConeIds adders = new AddConeIds();
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
290
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
291 adders.findAllPersons(args);
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
292
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
293 }
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
294
671c6e3449f7 add coneids added
dwinter
parents:
diff changeset
295 }