annotate software/eXist/mpdl-modules/src/org/exist/xquery/modules/mpdltext/ExternalObject.java @ 9:1ec29fdd0db8

neue .lex Dateien f?r Normalisierung / externe Objekte update
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Tue, 22 Feb 2011 16:03:45 +0100
parents 2396a569e446
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 /*
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
2 * eXist Open Source Native XML Database: Extension module
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 * Copyright (C) 2008 Josef Willenborg
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 * jwillenborg@mpiwg-berlin.mpg.de
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 * http://www.mpiwg-berlin.mpg.de
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 * This program is free software; you can redistribute it and/or
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public License
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 * as published by the Free Software Foundation; either version 2
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 * of the License, or (at your option) any later version.
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 *
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
15 * GNU Lesser General Public License for more details.
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 *
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public License
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 *
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
21 * $Id: TextModule.java $
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 package org.exist.xquery.modules.mpdltext;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
24
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 import java.util.ArrayList;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
26
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 import org.exist.dom.QName;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 import org.exist.xquery.BasicFunction;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 import org.exist.xquery.Cardinality;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 import org.exist.xquery.FunctionSignature;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 import org.exist.xquery.XPathException;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 import org.exist.xquery.XQueryContext;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 import org.exist.xquery.value.Sequence;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 import org.exist.xquery.value.SequenceType;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
35 import org.exist.xquery.value.StringValue;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 import org.exist.xquery.value.Type;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 import org.exist.xquery.value.ValueSequence;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
38
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
39 import de.mpg.mpiwg.berlin.mpdl.exception.ApplicationException;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 import de.mpg.mpiwg.berlin.mpdl.externalObjects.app.ExtElement;
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
41 import de.mpg.mpiwg.berlin.mpdl.externalObjects.app.ExtObject;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
42 import de.mpg.mpiwg.berlin.mpdl.externalObjects.app.ExtQuery;
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
43 import de.mpg.mpiwg.berlin.mpdl.externalObjects.app.ExternalObjectsHandler;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
44
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 * @author Josef Willenborg (jwillenborg@mpiwg-berlin.mpg.de)
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 */
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 public class ExternalObject extends BasicFunction {
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 public final static FunctionSignature signature =
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 new FunctionSignature(
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
52 new QName("externalObject", MPDLTextModule.NAMESPACE_URI, MPDLTextModule.PREFIX),
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
53 "A function which add, update, delete or read external elements",
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
54 new SequenceType[] { new SequenceType(Type.STRING, Cardinality.EXACTLY_ONE),
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 new SequenceType(Type.STRING, Cardinality.EXACTLY_ONE),
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
56 new SequenceType(Type.STRING, Cardinality.EXACTLY_ONE) },
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
57 new SequenceType(Type.STRING, Cardinality.EXACTLY_ONE));
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
58
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 public ExternalObject(XQueryContext context) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
60 super(context, signature);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
61 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
62
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
63 public Sequence eval(Sequence[] args, Sequence contextSequence) throws XPathException {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 Sequence operation = args[0]; // read, update or delete
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
65 Sequence type = args[1]; // element, query
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
66 Sequence object = args[2]; // the object as an xml string
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
67 if (operation.isEmpty() || type.isEmpty() || object.isEmpty())
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
68 return Sequence.EMPTY_SEQUENCE;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
69 String operationStr = operation.getStringValue();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
70 String typeStr = type.getStringValue();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
71 String objectStr = object.getStringValue();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
72
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
73 ValueSequence result = null;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
74 String resultStr = "";
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
75 try {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
76 ExternalObjectsHandler externalObjectsHandler = ExternalObjectsHandler.getInstance();
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
77 if (typeStr.equals("element")) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
78 ExtElement e = ExtElement.parseXmlStr(objectStr);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
79 if (operationStr.equals("read")) {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
80 ArrayList<ExtElement> elems = externalObjectsHandler.readExternalElements(e);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
81 if (elems != null && elems.size() > 0) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
82 resultStr = "<result>";
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
83 for (int i=0; i<elems.size(); i++) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
84 ExtElement elem = elems.get(i);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
85 String elemXmlStr = elem.getXmlString();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
86 resultStr = resultStr + elemXmlStr;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
87 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
88 resultStr = resultStr + "</result>";
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
89 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
90 } else if (operationStr.equals("create")) {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
91 externalObjectsHandler.createExternalElement(e);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
92 } else if (operationStr.equals("update")) {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
93 externalObjectsHandler.updateExternalElement(e);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
94 } else if (operationStr.equals("delete")) {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
95 externalObjectsHandler.deleteExternalElement(e);
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
96 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
97 } else if (typeStr.equals("query")) {
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
98 ExtQuery q = ExtQuery.parseXmlStr(objectStr);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
99 if (operationStr.equals("read")) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
100 ArrayList<ExtObject> objects = externalObjectsHandler.readExternalObjects(q);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
101 if (objects != null && objects.size() > 0) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
102 resultStr = "<result>";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
103 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
104 ExtObject obj = objects.get(i);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
105 String elemXmlStr = obj.getXmlString();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
106 resultStr = resultStr + elemXmlStr;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
107 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
108 resultStr = resultStr + "</result>";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
109 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
110 } else if (operationStr.equals("create")) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
111 externalObjectsHandler.createExternalObject(q);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
112 } else if (operationStr.equals("update")) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
113 externalObjectsHandler.updateExternalObject(q);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
114 } else if (operationStr.equals("delete")) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
115 externalObjectsHandler.deleteExternalObject(q);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
116 }
6
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
117 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
118 result = new ValueSequence();
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
119 result.add(new StringValue(resultStr));
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
120 } catch (ApplicationException e) {
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
121 throw new XPathException(e);
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
122 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
123 return result;
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
124 }
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
125
2396a569e446 new functions: externalObjects, normalizer, Unicode2Betacode
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
126 }