annotate software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/externalObjects/app/ExternalObjectsHandler.java @ 12:fba5577e49d9

diverse Fehlerbehebungen
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Tue, 19 Apr 2011 16:51:26 +0200
parents 59ff47d1e237
children 5df60f24e997
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 package de.mpg.mpiwg.berlin.mpdl.externalObjects.app;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 import java.io.UnsupportedEncodingException;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 import java.util.ArrayList;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 import java.util.Date;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
7 import com.sleepycat.je.Cursor;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 import com.sleepycat.je.Database;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 import com.sleepycat.je.DatabaseEntry;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 import com.sleepycat.je.DatabaseException;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 import com.sleepycat.je.LockMode;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 import com.sleepycat.je.OperationStatus;
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
13 import com.sleepycat.je.Transaction;
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
14
10
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
15 import de.mpg.mpiwg.berlin.mpdl.schedule.MpdlDocOperation;
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
16 import de.mpg.mpiwg.berlin.mpdl.util.StringUtilEscapeChars;
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 import de.mpg.mpiwg.berlin.mpdl.util.Util;
10
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
18 import de.mpg.mpiwg.berlin.mpdl.xml.SchemaHandler;
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 import de.mpg.mpiwg.berlin.mpdl.exception.ApplicationException;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 import de.mpg.mpiwg.berlin.mpdl.externalObjects.db.DbEnvExternalObjects;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
21 import de.mpg.mpiwg.berlin.mpdl.general.MpdlConstants;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
22
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
23 public class ExternalObjectsHandler {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 private static ExternalObjectsHandler instance;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 private static String MPDL_DATA_DIR = MpdlConstants.MPDL_EXIST_DATA_DIR;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
26 private static String DB_DIR_EXTERNAL_OBJECTS = MPDL_DATA_DIR + "/dataBerkeleyDB/externalObjects";
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 private DbEnvExternalObjects dbEnvExternalObjects;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 private Date beginOfOperation;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 private Date endOfOperation;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
30
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 public static ExternalObjectsHandler getInstance() throws ApplicationException {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 if (instance == null) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 instance = new ExternalObjectsHandler();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 instance.init();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
35 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 return instance;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
38
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
39 public void createExternalElement(ExtElement element) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
40 createDBExternalElement(element);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
42
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
43 public void updateExternalElement(ExtElement element) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
44 updateDBExternalElement(element);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
46
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 public void deleteExternalElement(ExtElement element) throws ApplicationException {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 deleteDBExternalElement(element);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
49 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
50
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
51 public ArrayList<ExtElement> readExternalElements(ExtElement element) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
52 return readDBExternalElements(element);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
53 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
54
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
55 public void createExternalObject(ExtObject object) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
56 createDBExternalObject(object);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
57 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
58
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
59 public void updateExternalObject(ExtObject object) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
60 updateDBExternalObject(object);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
61 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
62
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
63 public void deleteExternalObject(ExtObject object) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
64 deleteDBExternalObject(object);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
65 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
66
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
67 public ArrayList<ExtObject> readExternalObjects(ExtObject object) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
68 return readDBExternalObjects(object);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
69 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
70
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
71 private void createDBExternalElement(ExtElement element) throws ApplicationException {
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
72 try {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
73 test(element);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
74 String content = element.getContent();
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
75 String valueStr = element.getXmlString();
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
76 if (content == null)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
77 throw new ApplicationException("External object: no content element specified in: " + valueStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
78 Date now = new Date();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
79 element.setModificationDate(now);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
80 String docId = element.getDocumentId();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
81 String pageNumber = element.getPageNumber();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
82 String keyStr = docId + "###" + pageNumber;
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
83 DatabaseEntry dbEntryKey = new DatabaseEntry(keyStr.getBytes("utf-8"));
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
84 DatabaseEntry dbEntryValue = new DatabaseEntry(valueStr.getBytes("utf-8"));
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
85 Database elementDB = dbEnvExternalObjects.getElementDB();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
86 elementDB.put(null, dbEntryKey, dbEntryValue);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
87 } catch (DatabaseException e) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
88 throw new ApplicationException(e);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
89 } catch (UnsupportedEncodingException e) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
90 throw new ApplicationException(e);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
91 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
92 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
93
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
94 private void updateDBExternalElement(ExtElement element) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
95 test(element);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
96 String content = element.getContent();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
97 String elementXmlStr = element.getXmlString();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
98 if (content == null)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
99 throw new ApplicationException("External object: no content element specified in: " + elementXmlStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
100 Date now = new Date();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
101 element.setModificationDate(now);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
102 String docId = element.getDocumentId();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
103 String pageNumber = element.getPageNumber();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
104 String uid = element.getUid();
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
105 String xpath = element.getXpath();
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
106 String hashKey = docId + "###" + pageNumber;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
107 boolean updated = false;
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
108 try {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
109 Database elementDB = dbEnvExternalObjects.getElementDB();
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
110 Transaction t = dbEnvExternalObjects.getEnv().beginTransaction(null, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
111 Cursor cursor = elementDB.openCursor(t, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
112 byte[] bHashKey = hashKey.getBytes("utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
113 DatabaseEntry dbEntryKey = new DatabaseEntry(bHashKey);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
114 DatabaseEntry foundValue = new DatabaseEntry();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
115 OperationStatus operationStatus = cursor.getSearchKey(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
116 while (operationStatus == OperationStatus.SUCCESS && ! updated) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
117 byte[] foundValueBytes = foundValue.getData();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
118 String foundValueStr = new String(foundValueBytes, "utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
119 ExtElement elem = ExtElement.parseXmlStr(foundValueStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
120 String elemUid = elem.getUid();
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
121 String elemXPath = elem.getXpath();
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
122 if (uid.equals(elemUid) && xpath.equals(elemXPath)) {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
123 cursor.delete();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
124 byte[] elementXmlStrBytes = elementXmlStr.getBytes("utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
125 DatabaseEntry dbEntryValue = new DatabaseEntry(elementXmlStrBytes);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
126 cursor.put(dbEntryKey, dbEntryValue);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
127 updated = true;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
128 break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
129 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
130 operationStatus = cursor.getNextDup(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
131 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
132 cursor.close();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
133 t.commit();
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
134 } catch (DatabaseException e) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
135 throw new ApplicationException(e);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
136 } catch (UnsupportedEncodingException e) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
137 throw new ApplicationException(e);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
138 }
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
139 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
140
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
141 private void deleteDBExternalElement(ExtElement element) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
142 test(element);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
143 String docId = element.getDocumentId();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
144 String pageNumber = element.getPageNumber();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
145 String uid = element.getUid();
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
146 String xpath = element.getXpath();
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
147 String hashKey = docId + "###" + pageNumber;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
148 try {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
149 Database elementDB = dbEnvExternalObjects.getElementDB();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
150 Transaction t = dbEnvExternalObjects.getEnv().beginTransaction(null, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
151 Cursor cursor = elementDB.openCursor(t, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
152 byte[] bHashKey = hashKey.getBytes("utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
153 DatabaseEntry dbEntryKey = new DatabaseEntry(bHashKey);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
154 DatabaseEntry foundValue = new DatabaseEntry();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
155 OperationStatus operationStatus = cursor.getSearchKey(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
156 while (operationStatus == OperationStatus.SUCCESS) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
157 byte[] foundValueBytes = foundValue.getData();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
158 String foundValueStr = new String(foundValueBytes, "utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
159 ExtElement elem = ExtElement.parseXmlStr(foundValueStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
160 String elemUid = elem.getUid();
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
161 String elemXPath = elem.getXpath();
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
162 if (uid.equals(elemUid) && xpath.equals(elemXPath)) {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
163 cursor.delete();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
164 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
165 operationStatus = cursor.getNextDup(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
166 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
167 cursor.close();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
168 t.commit();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
169 } catch (DatabaseException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
170 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
171 } catch (UnsupportedEncodingException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
172 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
173 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
174 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
175
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
176 private ArrayList<ExtElement> readDBExternalElements(ExtElement element) throws ApplicationException {
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
177 ArrayList<ExtElement> retElements = new ArrayList<ExtElement>();
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
178 String documentId = element.getDocumentId();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
179 String pageNumber = element.getPageNumber();
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
180 String hashKey = documentId + "###" + pageNumber;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
181 try {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
182 Database elementDB = dbEnvExternalObjects.getElementDB();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
183 Cursor cursor = elementDB.openCursor(null, null);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
184 byte[] bHashKey = hashKey.getBytes("utf-8");
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
185 DatabaseEntry dbEntryKey = new DatabaseEntry(bHashKey);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
186 DatabaseEntry foundValue = new DatabaseEntry();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
187 OperationStatus operationStatus = cursor.getSearchKey(dbEntryKey, foundValue, LockMode.DEFAULT);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
188 while (operationStatus == OperationStatus.SUCCESS) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
189 byte[] foundValueBytes = foundValue.getData();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
190 String foundValueStr = new String(foundValueBytes, "utf-8");
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
191 ExtElement e = ExtElement.parseXmlStr(foundValueStr);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
192 retElements.add(e);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
193 operationStatus = cursor.getNextDup(dbEntryKey, foundValue, LockMode.DEFAULT);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
194 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
195 cursor.close();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
196 } catch (DatabaseException e) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
197 throw new ApplicationException(e);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
198 } catch (UnsupportedEncodingException e) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
199 throw new ApplicationException(e);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
200 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
201 return retElements;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
202 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
203
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
204 private void test(ExtElement element) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
205 String uid = element.getUid();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
206 String docId = element.getDocumentId();
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
207 String xpath = element.getXpath();
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
208 String pageNumber = element.getPageNumber();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
209 String xmlStr = element.getXmlString();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
210 if (uid == null)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
211 throw new ApplicationException("External object: no attribute \"uid\" specified in: " + xmlStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
212 if (docId == null)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
213 throw new ApplicationException("External object: no attribute \"documentId\" specified in: " + xmlStr);
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
214 if (xpath == null)
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
215 throw new ApplicationException("External object: no xpath in attribute \"xpointer\" specified in: " + xmlStr);
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
216 if (pageNumber == null)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
217 throw new ApplicationException("External object: no attribute \"pageNumber\" specified in: " + xmlStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
218 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
219
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
220 private void createDBExternalObject(ExtObject extObject) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
221 try {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
222 test(extObject);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
223 Date now = new Date();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
224 extObject.setModificationDate(now);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
225 String type = extObject.getType();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
226 String uid = extObject.getUid();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
227 String docId = extObject.getDocumentId();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
228 if (docId == null || docId.isEmpty())
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
229 docId = "-1";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
230 String keyStr = type + "###" + uid + "###" + docId;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
231 String valueStr = extObject.getXmlString();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
232 DatabaseEntry dbEntryKey = new DatabaseEntry(keyStr.getBytes("utf-8"));
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
233 DatabaseEntry dbEntryValue = new DatabaseEntry(valueStr.getBytes("utf-8"));
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
234 Database objectDB = dbEnvExternalObjects.getObjectDB();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
235 objectDB.put(null, dbEntryKey, dbEntryValue);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
236 } catch (DatabaseException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
237 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
238 } catch (UnsupportedEncodingException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
239 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
240 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
241 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
242
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
243 private void updateDBExternalObject(ExtObject object) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
244 test(object);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
245 String content = object.getContent();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
246 String elementXmlStr = object.getXmlString();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
247 if (content == null)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
248 throw new ApplicationException("External object: no content element specified in: " + elementXmlStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
249 Date modificationDate = object.getModificationDate();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
250 Date now = new Date();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
251 object.setModificationDate(now);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
252 String type = object.getType();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
253 String uid = object.getUid();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
254 String docId = object.getDocumentId();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
255 String hashKey = type + "###" + uid + "###" + docId;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
256 boolean updated = false;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
257 try {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
258 Database objectDB = dbEnvExternalObjects.getObjectDB();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
259 Transaction t = dbEnvExternalObjects.getEnv().beginTransaction(null, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
260 Cursor cursor = objectDB.openCursor(t, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
261 byte[] bHashKey = hashKey.getBytes("utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
262 DatabaseEntry dbEntryKey = new DatabaseEntry(bHashKey);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
263 DatabaseEntry foundValue = new DatabaseEntry();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
264 OperationStatus operationStatus = cursor.getSearchKey(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
265 while (operationStatus == OperationStatus.SUCCESS && ! updated) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
266 byte[] foundValueBytes = foundValue.getData();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
267 String foundValueStr = new String(foundValueBytes, "utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
268 ExtObject obj = object.getInstance(foundValueStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
269 Date objModificationDate = obj.getModificationDate();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
270 if (modificationDate.equals(objModificationDate)) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
271 cursor.delete();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
272 byte[] elementXmlStrBytes = elementXmlStr.getBytes("utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
273 DatabaseEntry dbEntryValue = new DatabaseEntry(elementXmlStrBytes);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
274 cursor.put(dbEntryKey, dbEntryValue);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
275 updated = true;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
276 break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
277 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
278 operationStatus = cursor.getNextDup(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
279 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
280 cursor.close();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
281 t.commit();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
282 } catch (DatabaseException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
283 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
284 } catch (UnsupportedEncodingException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
285 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
286 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
287 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
288
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
289 private void deleteDBExternalObject(ExtObject object) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
290 test(object);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
291 Date modificationDate = object.getModificationDate();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
292 Date now = new Date();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
293 object.setModificationDate(now);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
294 String type = object.getType();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
295 String uid = object.getUid();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
296 String docId = object.getDocumentId();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
297 String hashKey = type + "###" + uid + "###" + docId;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
298 try {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
299 Database objectDB = dbEnvExternalObjects.getObjectDB();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
300 Transaction t = dbEnvExternalObjects.getEnv().beginTransaction(null, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
301 Cursor cursor = objectDB.openCursor(t, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
302 byte[] bHashKey = hashKey.getBytes("utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
303 DatabaseEntry dbEntryKey = new DatabaseEntry(bHashKey);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
304 DatabaseEntry foundValue = new DatabaseEntry();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
305 OperationStatus operationStatus = cursor.getSearchKey(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
306 while (operationStatus == OperationStatus.SUCCESS) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
307 byte[] foundValueBytes = foundValue.getData();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
308 String foundValueStr = new String(foundValueBytes, "utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
309 ExtObject obj = object.getInstance(foundValueStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
310 Date objModificationDate = obj.getModificationDate();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
311 if (modificationDate == null || modificationDate.equals(objModificationDate)) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
312 cursor.delete();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
313 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
314 operationStatus = cursor.getNextDup(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
315 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
316 cursor.close();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
317 t.commit();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
318 } catch (DatabaseException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
319 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
320 } catch (UnsupportedEncodingException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
321 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
322 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
323 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
324
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
325 private ArrayList<ExtObject> readDBExternalObjects(ExtObject object) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
326 ArrayList<ExtObject> retElements = new ArrayList<ExtObject>();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
327 String type = object.getType();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
328 String uid = object.getUid();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
329 String docId = object.getDocumentId();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
330 String hashKey = type + "###" + uid + "###" + docId;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
331 try {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
332 Database objectDB = dbEnvExternalObjects.getObjectDB();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
333 Cursor cursor = objectDB.openCursor(null, null);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
334 byte[] bHashKey = hashKey.getBytes("utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
335 DatabaseEntry dbEntryKey = new DatabaseEntry(bHashKey);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
336 DatabaseEntry foundValue = new DatabaseEntry();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
337 OperationStatus operationStatus = cursor.getSearchKey(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
338 while (operationStatus == OperationStatus.SUCCESS) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
339 byte[] foundValueBytes = foundValue.getData();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
340 String foundValueStr = new String(foundValueBytes, "utf-8");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
341 ExtObject obj = object.getInstance(foundValueStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
342 retElements.add(obj);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
343 operationStatus = cursor.getNextDup(dbEntryKey, foundValue, LockMode.DEFAULT);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
344 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
345 cursor.close();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
346 } catch (DatabaseException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
347 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
348 } catch (UnsupportedEncodingException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
349 throw new ApplicationException(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
350 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
351 return retElements;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
352 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
353
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
354 private void test(ExtObject object) throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
355 String uid = object.getUid();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
356 String xmlStr = object.getXmlString();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
357 if (uid == null)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
358 throw new ApplicationException("External object: no attribute \"uid\" specified in: " + xmlStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
359 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
360
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
361
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
362
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
363 private void init() throws ApplicationException {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
364 dbEnvExternalObjects = new DbEnvExternalObjects();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
365 dbEnvExternalObjects.setDataDir(DB_DIR_EXTERNAL_OBJECTS);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
366 dbEnvExternalObjects.init();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
367 dbEnvExternalObjects.openDatabases();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
368 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
369
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
370 public static void main(String[] args) throws ApplicationException {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
371 getInstance();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
372 instance.beginOperation();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
373 System.out.print("Start ...");
10
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
374 // instance.validateSampleDoc();
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
375 // instance.deleteSampleData();
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
376 // instance.createSampleData();
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
377 // instance.updateSampleData();
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
378 instance.readSampleData();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
379 instance.end();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
380 instance.endOperation();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
381 Double elapsedTime = new Util().getSecondWithMillisecondsBetween(instance.beginOfOperation, instance.endOfOperation);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
382 System.out.println("End.");
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
383 System.out.println("Needed time: " + elapsedTime + " seconds");
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
384 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
385
10
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
386 private void validateSampleDoc() throws ApplicationException {
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
387 SchemaHandler schemaHandler = new SchemaHandler();
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
388 MpdlDocOperation docOp = new MpdlDocOperation("bla", "bla", "", "tei", "en", "Test_1789.xml");
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
389 String localFileName = "/Users/jwillenborg/texts/mpdl/documents/tei/en/Test_1789.xml";
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
390 schemaHandler.validate(localFileName, docOp);
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
391 }
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
392
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
393 private void deleteSampleData() throws ApplicationException {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
394 String xmlNodeId1 = "/archimedes[1]/text[1]/body[1]/chap[1]/p[1]/s[2]";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
395 String objectXmlStr1 =
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
396 "<object type=\"" + "element" + "\" " +
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
397 "uid=\"" + "joe" + "\" " +
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
398 "documentId=\"" + "/archimedes/it/l223.xml" + "\" " +
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
399 "xpointer=\"" + "#xpointer(id('page17')" + xmlNodeId1 + "\"" +
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
400 ">" +
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
401 "</object>";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
402 ExtElement e1 = ExtElement.parseXmlStr(objectXmlStr1);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
403 String xmlNodeId2 = "/archimedes[1]/text[1]/body[1]/chap[1]/p[1]/s[4]";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
404 String objectXmlStr2 =
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
405 "<object type=\"" + "element" + "\" " +
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
406 "uid=\"" + "michael" + "\" " +
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
407 "documentId=\"" + "/archimedes/it/l223.xml" + "\" " +
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
408 "xpointer=\"" + "#xpointer(id('page17')" + xmlNodeId2 + "\"" +
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
409 ">" +
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
410 "</object>";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
411 ExtElement e2 = ExtElement.parseXmlStr(objectXmlStr2);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
412 deleteExternalElement(e1);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
413 deleteExternalElement(e2);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
414
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
415 ExtQuery q = new ExtQuery();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
416 q.setUid("joe");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
417 q.setDocumentId("/archimedes/it/l223.xml");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
418 ArrayList<ExtObject> objects = readExternalObjects(q);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
419 for (int i=0; i<objects.size(); i++) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
420 ExtObject o = objects.get(i);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
421 deleteExternalObject(o);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
422 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
423
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
424 ExtQuery q2 = new ExtQuery();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
425 q2.setUid("michael");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
426 q2.setDocumentId("/archimedes/it/l223.xml");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
427 objects = readExternalObjects(q2);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
428 for (int i=0; i<objects.size(); i++) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
429 ExtObject o = objects.get(i);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
430 deleteExternalObject(o);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
431 }
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
432 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
433
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
434 private void createSampleData() throws ApplicationException {
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
435 Date now = new Date();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
436
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
437 String sId = "/archimedes[1]/text[1]/body[1]/chap[1]/p[1]/s[2]";
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
438 ExtElement e = new ExtElement();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
439 e.setUid("joe");
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
440 e.setModificationDate(now);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
441 e.setDocumentId("/archimedes/it/l223.xml");
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
442 e.setPageNumber("17");
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
443 e.setXpath(sId);
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
444 e.setPoint(".1");
10
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
445 e.setContent("<note>This is a test note to element " + sId + " with <ref target=\"http://slime.de\">this external link</ref>" + "</note>");
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
446 createExternalElement(e);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
447
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
448 ExtElement e2 = new ExtElement();
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
449 String sId2 = "/archimedes[1]/text[1]/body[1]/chap[1]/p[1]/s[4]";
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
450 e2.setUid("michael");
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
451 e2.setModificationDate(now);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
452 e2.setDocumentId("/archimedes/it/l223.xml");
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
453 e2.setPageNumber("17");
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
454 e2.setXpath(sId2);
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
455 e2.setPoint("18");
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
456 e2.setContent("<note>This is a test note to element " + sId2 + "</note>");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
457 createExternalElement(e2);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
458
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
459 ExtQuery q1 = new ExtQuery();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
460 q1.setUid("joe");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
461 q1.setDocumentId("/archimedes/it/l223.xml");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
462 q1.setQueryType("fulltext");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
463 q1.setQueryName("seminario");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
464 createExternalObject(q1);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
465
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
466 ExtQuery q2 = new ExtQuery();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
467 q2.setUid("michael");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
468 q2.setDocumentId("/archimedes/it/l223.xml");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
469 q2.setQueryType("url");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
470 String url = "http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/page-query-result.xql?document=/archimedes/it/l223.xml&pn=17&mode=text&query-type=fulltextMorph&query=seminario&query-result-pn=1";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
471 String urlDeresolved = StringUtilEscapeChars.deresolveXmlEntities(url);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
472 q2.setQueryName(urlDeresolved);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
473 createExternalObject(q2);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
474
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
475 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
476
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
477 private void updateSampleData() throws ApplicationException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
478 Date now = new Date();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
479 String xmlNodeId = "/archimedes[1]/text[1]/body[1]/chap[1]/p[1]/s[2]";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
480 String objectXmlStr =
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
481 "<object type=\"" + "element" + "\" " +
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
482 "uid=\"" + "joe" + "\" " +
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
483 "documentId=\"" + "/archimedes/it/l223.xml" + "\" " +
12
fba5577e49d9 diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 10
diff changeset
484 "xpointer=\"" + "#xpointer(id('page17')" + xmlNodeId + "\"" +
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
485 ">" +
10
59ff47d1e237 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 9
diff changeset
486 "<content>" + "<note>This is a test note to element " + xmlNodeId + " with <ref target=\"http://slime.de\">this external link</ref>" + "</note>" + "</content>" +
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
487 "</object>";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
488 ExtElement e = ExtElement.parseXmlStr(objectXmlStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
489 e.setModificationDate(now);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
490 updateExternalElement(e);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
491 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
492
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
493 private void readSampleData() throws ApplicationException {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
494 ExtElement elem = new ExtElement();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
495 elem.setDocumentId("/archimedes/it/l223.xml");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
496 elem.setPageNumber("17");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
497 ArrayList<ExtElement> elements = readExternalElements(elem);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
498 System.out.println(elements);
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
499
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
500 ExtQuery q1 = new ExtQuery();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
501 q1.setUid("joe");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
502 q1.setDocumentId("/archimedes/it/l223.xml");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
503 ArrayList<ExtObject> objects = readExternalObjects(q1);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
504 System.out.println(objects);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
505
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
506 ExtQuery q2 = new ExtQuery();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
507 q2.setUid("michael");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
508 q2.setDocumentId("/archimedes/it/l223.xml");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
509 objects = readExternalObjects(q2);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
510 System.out.println(objects);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
511 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
512
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
513 private void end() throws ApplicationException {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
514 dbEnvExternalObjects.close();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
515 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
516
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
517 private void beginOperation() {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
518 beginOfOperation = new Date();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
519 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
520
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
521 private void endOperation() {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
522 endOfOperation = new Date();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
523 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
524
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
525 }