Révision 3194
tmp/org.txm.core/src/java/org/txm/scripts/importer/StaxStackWriter.groovy (revision 3194) | ||
---|---|---|
1 |
package org.txm.scripts.importer |
|
2 |
|
|
3 |
import java.nio.charset.Charset; |
|
4 |
|
|
5 |
import javax.xml.namespace.NamespaceContext; |
|
6 |
import javax.xml.stream.*; |
|
7 |
|
|
8 |
import org.eclipse.core.runtime.Platform; |
|
9 |
|
|
10 |
public class StaxStackWriter implements XMLStreamWriter { |
|
11 |
|
|
12 |
XMLStreamWriter writer; |
|
13 |
OutputStream output; |
|
14 |
def events = []; |
|
15 |
def debug = false |
|
16 |
|
|
17 |
public StaxStackWriter(File file) { |
|
18 |
this(new BufferedOutputStream(new FileOutputStream(file))); |
|
19 |
} |
|
20 |
|
|
21 |
public StaxStackWriter(File file, String encoding) { |
|
22 |
this(new BufferedOutputStream(new FileOutputStream(file)), encoding); |
|
23 |
} |
|
24 |
|
|
25 |
public StaxStackWriter(OutputStream output) { |
|
26 |
this(output, "UTF-8");//create a new file |
|
27 |
} |
|
28 |
|
|
29 |
public StaxStackWriter(OutputStream output, String encoding) { |
|
30 |
XMLOutputFactory factory = XMLOutputFactory.newInstance(); |
|
31 |
this.output = output |
|
32 |
this.writer = factory.createXMLStreamWriter(output, encoding);//create a new file |
|
33 |
} |
|
34 |
|
|
35 |
Charset UTF8 = Charset.forName("UTF-8"); |
|
36 |
public void write(String txt) { |
|
37 |
output.write(txt.getBytes(UTF8)) |
|
38 |
} |
|
39 |
|
|
40 |
public void writeEndElements() { |
|
41 |
int size = events.size(); |
|
42 |
for (int i = 0 ; i < size ; i++) { |
|
43 |
writeEndElement(); |
|
44 |
} |
|
45 |
events.clear(); |
|
46 |
} |
|
47 |
|
|
48 |
/** |
|
49 |
* tagsToWrite: List<String> or List<[String, [String, String]]> |
|
50 |
*/ |
|
51 |
public void writeStartElements(def tagsToWrite) { |
|
52 |
for (def tag : tagsToWrite) { |
|
53 |
if (tag instanceof String) { |
|
54 |
writeStartElement(tag); |
|
55 |
} else { |
|
56 |
writeStartElement(tag[0]); |
|
57 |
for (def att : tag[1]) { |
|
58 |
writeAttribute(att[0], att[1]) |
|
59 |
} |
|
60 |
} |
|
61 |
} |
|
62 |
} |
|
63 |
|
|
64 |
public def getTagStack() { |
|
65 |
return events; |
|
66 |
} |
|
67 |
|
|
68 |
@Override |
|
69 |
public void close () throws XMLStreamException { |
|
70 |
writer.close(); |
|
71 |
output.close(); |
|
72 |
} |
|
73 |
|
|
74 |
@Override |
|
75 |
public void flush () throws XMLStreamException { |
|
76 |
writer.flush(); |
|
77 |
} |
|
78 |
|
|
79 |
@Override |
|
80 |
public NamespaceContext getNamespaceContext() { |
|
81 |
return writer.getNamespaceContext(); |
|
82 |
} |
|
83 |
|
|
84 |
@Override |
|
85 |
public String getPrefix (String uri) throws XMLStreamException { |
|
86 |
return writer.getPrefix(uri); |
|
87 |
} |
|
88 |
|
|
89 |
@Override |
|
90 |
public Object getProperty (String name) throws IllegalArgumentException { |
|
91 |
return writer.getProperty(name); |
|
92 |
} |
|
93 |
|
|
94 |
@Override |
|
95 |
public void setDefaultNamespace (String uri) throws XMLStreamException { |
|
96 |
writer.setDefaultNamespace(uri); |
|
97 |
} |
|
98 |
|
|
99 |
@Override |
|
100 |
public void setNamespaceContext(NamespaceContext context) |
|
101 |
throws XMLStreamException { |
|
102 |
writer.setNamespaceContext(context); |
|
103 |
} |
|
104 |
|
|
105 |
@Override |
|
106 |
public void setPrefix (String prefix, String uri) throws XMLStreamException { |
|
107 |
writer.setPrefix(prefix, uri); |
|
108 |
} |
|
109 |
|
|
110 |
@Override |
|
111 |
public void writeAttribute (String localName, String value) throws XMLStreamException { |
|
112 |
if (value == null) return; |
|
113 |
writer.writeAttribute(localName, value); |
|
114 |
if (events.size() > 0) events[events.size()-1][1] << [localName, value] |
|
115 |
} |
|
116 |
|
|
117 |
@Override |
|
118 |
public void writeAttribute (String namespaceURI, String localName, String value) throws XMLStreamException { |
|
119 |
if (value == null) return; |
|
120 |
writer.writeAttribute(namespaceURI, localName, value); |
|
121 |
if (events.size() > 0) events[events.size()-1][1] << [localName, value] |
|
122 |
} |
|
123 |
|
|
124 |
@Override |
|
125 |
public void writeAttribute (String prefix, String namespaceURI, String localName, String value) throws XMLStreamException { |
|
126 |
if (value == null) return; |
|
127 |
writer.writeAttribute(prefix, namespaceURI, localName, value); |
|
128 |
if (events.size() > 0) events[events.size()-1][1] << [localName, value] |
|
129 |
} |
|
130 |
|
|
131 |
@Override |
|
132 |
public void writeCData (String data) throws XMLStreamException { |
|
133 |
writer.writeCData(data); |
|
134 |
} |
|
135 |
|
|
136 |
@Override |
|
137 |
public void writeCharacters (String text) throws XMLStreamException { |
|
138 |
writer.writeCharacters(text); |
|
139 |
} |
|
140 |
|
|
141 |
@Override |
|
142 |
public void writeCharacters (char[] text, int start, int len) throws XMLStreamException { |
|
143 |
writer.writeCharacters(text, start, len); |
|
144 |
} |
|
145 |
|
|
146 |
@Override |
|
147 |
public void writeComment (String data) throws XMLStreamException { |
|
148 |
writer.writeComment(data); |
|
149 |
} |
|
150 |
|
|
151 |
@Override |
|
152 |
public void writeDTD (String dtd) throws XMLStreamException { |
|
153 |
writer.writeDTD(dtd); |
|
154 |
} |
|
155 |
|
|
156 |
@Override |
|
157 |
public void writeDefaultNamespace(String namespaceURI) |
|
158 |
throws XMLStreamException { |
|
159 |
writer.writeDefaultNamespace(namespaceURI); |
|
160 |
} |
|
161 |
|
|
162 |
/** |
|
163 |
* WARNING THE ELEMENT IS CLOSED |
|
164 |
* @param localName |
|
165 |
* @param text |
|
166 |
* @throws XMLStreamException |
|
167 |
*/ |
|
168 |
public void writeElement (String localName, String text) throws XMLStreamException { |
|
169 |
if (text != null && text.length() > 0) { |
|
170 |
writer.writeStartElement(localName); |
|
171 |
writer.writeCharacters(text); |
|
172 |
writer.writeEndElement(); |
|
173 |
} else { |
|
174 |
writer.writeEmptyElement(localName); |
|
175 |
} |
|
176 |
} |
|
177 |
|
|
178 |
public void writeElement (String localName, def map, String text) throws XMLStreamException { |
|
179 |
if (text != null && text.length() > 0) { |
|
180 |
writer.writeStartElement(localName); |
|
181 |
for (def key : map.keySet()) writeAttribute(key.toString(), map[key].toString()); |
|
182 |
writer.writeCharacters(text); |
|
183 |
writer.writeEndElement(); |
|
184 |
} else { |
|
185 |
writer.writeEmptyElement(localName); |
|
186 |
for (def key : map.keySet()) writeAttribute(key.toString(), map[key].toString()); |
|
187 |
} |
|
188 |
} |
|
189 |
|
|
190 |
@Override |
|
191 |
public void writeEmptyElement (String localName) throws XMLStreamException { |
|
192 |
writer.writeEmptyElement(localName); |
|
193 |
} |
|
194 |
|
|
195 |
public void writeEmptyElement (String localName, def map) throws XMLStreamException { |
|
196 |
writer.writeEmptyElement(localName); |
|
197 |
for (def key : map.keySet()) writeAttribute(key.toString(), map[key].toString()); |
|
198 |
} |
|
199 |
|
|
200 |
@Override |
|
201 |
public void writeEmptyElement(String namespaceURI, String localName) |
|
202 |
throws XMLStreamException { |
|
203 |
writer.writeEmptyElement(namespaceURI, localName); |
|
204 |
} |
|
205 |
|
|
206 |
@Override |
|
207 |
public void writeEmptyElement (String prefix, String localName, String namespaceURI) throws XMLStreamException { |
|
208 |
writer.writeEmptyElement(prefix, localName, namespaceURI); |
|
209 |
} |
|
210 |
|
|
211 |
@Override |
|
212 |
public void writeEndDocument () throws XMLStreamException { |
|
213 |
writer.writeEndDocument(); |
|
214 |
} |
|
215 |
|
|
216 |
@Override |
|
217 |
public void writeEndElement () throws XMLStreamException { |
|
218 |
writer.writeEndElement(); |
|
219 |
events.remove(events.size()-1) |
|
220 |
if (debug) println "END: $events" |
|
221 |
} |
|
222 |
|
|
223 |
@Override |
|
224 |
public void writeEntityRef (String name) throws XMLStreamException { |
|
225 |
writer.writeEntityRef(name); |
|
226 |
} |
|
227 |
|
|
228 |
@Override |
|
229 |
public void writeNamespace(String prefix, String namespaceURI) |
|
230 |
throws XMLStreamException { |
|
231 |
writer.writeNamespace(prefix, namespaceURI); |
|
232 |
} |
|
233 |
|
|
234 |
@Override |
|
235 |
public void writeProcessingInstruction(String target) |
|
236 |
throws XMLStreamException { |
|
237 |
writer.writeProcessingInstruction(target); |
|
238 |
} |
|
239 |
|
|
240 |
@Override |
|
241 |
public void writeProcessingInstruction(String target, String data) |
|
242 |
throws XMLStreamException { |
|
243 |
writer.writeProcessingInstruction(target, data); |
|
244 |
} |
|
245 |
|
|
246 |
@Override |
|
247 |
public void writeStartDocument () throws XMLStreamException { |
|
248 |
writer.writeStartDocument(); |
|
249 |
} |
|
250 |
|
|
251 |
@Override |
|
252 |
public void writeStartDocument (String version) throws XMLStreamException { |
|
253 |
writer.writeStartDocument(version); |
|
254 |
} |
|
255 |
|
|
256 |
@Override |
|
257 |
public void writeStartDocument(String encoding, String version) |
|
258 |
throws XMLStreamException { |
|
259 |
writer.writeStartDocument(encoding, version); |
|
260 |
} |
|
261 |
|
|
262 |
@Override |
|
263 |
public void writeStartElement (String localName) throws XMLStreamException { |
|
264 |
writer.writeStartElement(localName); |
|
265 |
events << [localName, []] |
|
266 |
if (debug) println "START $localName $events" |
|
267 |
} |
|
268 |
|
|
269 |
public void writeStartElement (String localName, def map) throws XMLStreamException { |
|
270 |
writeStartElement(localName); |
|
271 |
|
|
272 |
for (def key : map.keySet()) { |
|
273 |
writeAttribute(key.toString(), map[key].toString()); |
|
274 |
events[events.size()-1][1] << [key.toString(), map[key].toString()] |
|
275 |
} |
|
276 |
} |
|
277 |
|
|
278 |
@Override |
|
279 |
public void writeStartElement(String namespaceURI, String localName) |
|
280 |
throws XMLStreamException { |
|
281 |
writer.writeStartElement(namespaceURI, localName); |
|
282 |
events << [localName, []] |
|
283 |
if (debug) println "START $localName $events" |
|
284 |
} |
|
285 |
|
|
286 |
@Override |
|
287 |
public void writeStartElement(String prefix, String localName, |
|
288 |
String namespaceURI) throws XMLStreamException { |
|
289 |
writer.writeStartElement(prefix, localName, namespaceURI); |
|
290 |
events << [localName, []] |
|
291 |
if (debug) println "START $localName $prefix $events" |
|
292 |
} |
|
293 |
} |
tmp/org.txm.core/src/java/org/txm/scripts/importer/StaxStackWriter.java (revision 3194) | ||
---|---|---|
1 |
package org.txm.scripts.importer; |
|
2 |
|
|
3 |
import java.io.BufferedOutputStream; |
|
4 |
import java.io.File; |
|
5 |
import java.io.FileNotFoundException; |
|
6 |
import java.io.FileOutputStream; |
|
7 |
import java.io.IOException; |
|
8 |
import java.io.OutputStream; |
|
9 |
import java.nio.charset.Charset; |
|
10 |
import java.util.ArrayList; |
|
11 |
import java.util.Arrays; |
|
12 |
import java.util.HashMap; |
|
13 |
import java.util.List; |
|
14 |
|
|
15 |
import javax.xml.namespace.NamespaceContext; |
|
16 |
import javax.xml.stream.XMLOutputFactory; |
|
17 |
import javax.xml.stream.XMLStreamException; |
|
18 |
import javax.xml.stream.XMLStreamWriter; |
|
19 |
|
|
20 |
@SuppressWarnings("rawtypes") |
|
21 |
public class StaxStackWriter implements XMLStreamWriter { |
|
22 |
|
|
23 |
XMLStreamWriter writer; |
|
24 |
OutputStream output; |
|
25 |
List<List<List>> events = new ArrayList<>(); |
|
26 |
boolean debug = false; |
|
27 |
|
|
28 |
public StaxStackWriter(File file) throws FileNotFoundException, XMLStreamException { |
|
29 |
this(new BufferedOutputStream(new FileOutputStream(file))); |
|
30 |
} |
|
31 |
|
|
32 |
public StaxStackWriter(File file, String encoding) throws FileNotFoundException, XMLStreamException { |
|
33 |
this(new BufferedOutputStream(new FileOutputStream(file)), encoding); |
|
34 |
} |
|
35 |
|
|
36 |
public StaxStackWriter(OutputStream output) throws XMLStreamException { |
|
37 |
this(output, "UTF-8");//create a new file |
|
38 |
} |
|
39 |
|
|
40 |
public StaxStackWriter(OutputStream output, String encoding) throws XMLStreamException { |
|
41 |
XMLOutputFactory factory = XMLOutputFactory.newInstance(); |
|
42 |
this.output = output; |
|
43 |
this.writer = factory.createXMLStreamWriter(output, encoding);//create a new file |
|
44 |
} |
|
45 |
|
|
46 |
Charset UTF8 = Charset.forName("UTF-8"); |
|
47 |
public void write(String txt) throws IOException { |
|
48 |
output.write(txt.getBytes(UTF8)); |
|
49 |
} |
|
50 |
|
|
51 |
public void writeEndElements() throws XMLStreamException { |
|
52 |
|
|
53 |
int size = events.size(); |
|
54 |
for (int i = 0 ; i < size ; i++) { |
|
55 |
writeEndElement(); |
|
56 |
} |
|
57 |
|
|
58 |
if (events.size() > 0) { |
|
59 |
System.out.println("Warning: XML events should be empty and its not: "+events); |
|
60 |
} |
|
61 |
|
|
62 |
events.clear(); |
|
63 |
} |
|
64 |
|
|
65 |
/** |
|
66 |
* tagsToWrite: List<String> or List<[String, [String, String]]> |
|
67 |
* @throws XMLStreamException |
|
68 |
*/ |
|
69 |
public void writeStartElements(List<Object> tagsToWrite) throws XMLStreamException { |
|
70 |
for (Object tag : tagsToWrite) { |
|
71 |
if (tag instanceof String) { |
|
72 |
writeStartElement((String)tag); |
|
73 |
} else { |
|
74 |
List l = (List)tag; |
|
75 |
writeStartElement((String)l.get(0)); |
|
76 |
for (Object att : (List)l.get(1)) { |
|
77 |
List l2 = (List)att; |
|
78 |
writeAttribute(l2.get(0).toString(), l2.get(1).toString()); |
|
79 |
} |
|
80 |
} |
|
81 |
} |
|
82 |
System.out.println("reopened: "+events); |
|
83 |
} |
|
84 |
|
|
85 |
public List<List<List>> getTagStack() { |
|
86 |
return events; |
|
87 |
} |
|
88 |
|
|
89 |
@Override |
|
90 |
public void close () throws XMLStreamException { |
|
91 |
writer.close(); |
|
92 |
try { |
|
93 |
output.close(); |
|
94 |
} |
|
95 |
catch (IOException e) { |
|
96 |
// TODO Auto-generated catch block |
|
97 |
e.printStackTrace(); |
|
98 |
} |
|
99 |
} |
|
100 |
|
|
101 |
@Override |
|
102 |
public void flush () throws XMLStreamException { |
|
103 |
writer.flush(); |
|
104 |
} |
|
105 |
|
|
106 |
@Override |
|
107 |
public NamespaceContext getNamespaceContext() { |
|
108 |
return writer.getNamespaceContext(); |
|
109 |
} |
|
110 |
|
|
111 |
@Override |
|
112 |
public String getPrefix (String uri) throws XMLStreamException { |
|
113 |
return writer.getPrefix(uri); |
|
114 |
} |
|
115 |
|
|
116 |
@Override |
|
117 |
public Object getProperty (String name) throws IllegalArgumentException { |
|
118 |
return writer.getProperty(name); |
|
119 |
} |
|
120 |
|
|
121 |
@Override |
|
122 |
public void setDefaultNamespace (String uri) throws XMLStreamException { |
|
123 |
writer.setDefaultNamespace(uri); |
|
124 |
} |
|
125 |
|
|
126 |
@Override |
|
127 |
public void setNamespaceContext(NamespaceContext context) |
|
128 |
throws XMLStreamException { |
|
129 |
writer.setNamespaceContext(context); |
|
130 |
} |
|
131 |
|
|
132 |
@Override |
|
133 |
public void setPrefix (String prefix, String uri) throws XMLStreamException { |
|
134 |
writer.setPrefix(prefix, uri); |
|
135 |
} |
|
136 |
|
|
137 |
@Override |
|
138 |
public void writeAttribute (String localName, String value) throws XMLStreamException { |
|
139 |
if (value == null) return; |
|
140 |
writer.writeAttribute(localName, value); |
|
141 |
|
|
142 |
if (events.size() > 0) events.get(events.size()-1).get(1).add(Arrays.asList(localName, value)); |
|
143 |
} |
|
144 |
|
|
145 |
@Override |
|
146 |
public void writeAttribute (String namespaceURI, String localName, String value) throws XMLStreamException { |
|
147 |
if (value == null) return; |
|
148 |
writer.writeAttribute(namespaceURI, localName, value); |
|
149 |
|
|
150 |
if (events.size() > 0) events.get(events.size()-1).get(1).add(Arrays.asList(localName, value)); |
|
151 |
} |
|
152 |
|
|
153 |
@Override |
|
154 |
public void writeAttribute (String prefix, String namespaceURI, String localName, String value) throws XMLStreamException { |
|
155 |
if (value == null) return; |
|
156 |
writer.writeAttribute(prefix, namespaceURI, localName, value); |
|
157 |
|
|
158 |
if (events.size() > 0) events.get(events.size()-1).get(1).add(Arrays.asList(localName, value)); |
|
159 |
} |
|
160 |
|
|
161 |
@Override |
|
162 |
public void writeCData (String data) throws XMLStreamException { |
|
163 |
writer.writeCData(data); |
|
164 |
} |
|
165 |
|
|
166 |
@Override |
|
167 |
public void writeCharacters (String text) throws XMLStreamException { |
|
168 |
writer.writeCharacters(text); |
|
169 |
} |
|
170 |
|
|
171 |
@Override |
|
172 |
public void writeCharacters (char[] text, int start, int len) throws XMLStreamException { |
|
173 |
writer.writeCharacters(text, start, len); |
|
174 |
} |
|
175 |
|
|
176 |
@Override |
|
177 |
public void writeComment (String data) throws XMLStreamException { |
|
178 |
writer.writeComment(data); |
|
179 |
} |
|
180 |
|
|
181 |
@Override |
|
182 |
public void writeDTD (String dtd) throws XMLStreamException { |
|
183 |
writer.writeDTD(dtd); |
|
184 |
} |
|
185 |
|
|
186 |
@Override |
|
187 |
public void writeDefaultNamespace(String namespaceURI) |
|
188 |
throws XMLStreamException { |
|
189 |
writer.writeDefaultNamespace(namespaceURI); |
|
190 |
} |
|
191 |
|
|
192 |
/** |
|
193 |
* WARNING THE ELEMENT IS CLOSED |
|
194 |
* @param localName |
|
195 |
* @param text |
|
196 |
* @throws XMLStreamException |
|
197 |
*/ |
|
198 |
public void writeElement (String localName, String text) throws XMLStreamException { |
|
199 |
if (text != null && text.length() > 0) { |
|
200 |
writer.writeStartElement(localName); |
|
201 |
writer.writeCharacters(text); |
|
202 |
writer.writeEndElement(); |
|
203 |
} else { |
|
204 |
writer.writeEmptyElement(localName); |
|
205 |
} |
|
206 |
} |
|
207 |
|
|
208 |
public void writeElement (String localName, HashMap map, String text) throws XMLStreamException { |
|
209 |
if (text != null && text.length() > 0) { |
|
210 |
writer.writeStartElement(localName); |
|
211 |
|
|
212 |
events.add(new ArrayList(Arrays.asList(localName, new ArrayList()))); // must be done or else writeAttribute will insert the attribute in the previous element |
|
213 |
|
|
214 |
for (Object key : map.keySet()) { |
|
215 |
if (map.get(key) == null) { // avoid NPE |
|
216 |
map.put(key, ""); |
|
217 |
} |
|
218 |
|
|
219 |
writeAttribute(key.toString(), map.get(key).toString()); |
|
220 |
} |
|
221 |
writer.writeCharacters(text); |
|
222 |
writer.writeEndElement(); |
|
223 |
|
|
224 |
events.remove(events.size()-1); |
|
225 |
} else { |
|
226 |
writeEmptyElement(localName, map); |
|
227 |
} |
|
228 |
} |
|
229 |
|
|
230 |
@Override |
|
231 |
public void writeEmptyElement (String localName) throws XMLStreamException { |
|
232 |
writer.writeEmptyElement(localName); |
|
233 |
} |
|
234 |
|
|
235 |
public void writeEmptyElement (String localName, HashMap map) throws XMLStreamException { |
|
236 |
writer.writeEmptyElement(localName); |
|
237 |
events.add(new ArrayList(Arrays.asList(localName, new ArrayList()))); // must be done or else writeAttribute will insert the attribute in the previous element |
|
238 |
for (Object key : map.keySet()) { |
|
239 |
if (map.get(key) == null) { // avoid NPE |
|
240 |
map.put(key, ""); |
|
241 |
} |
|
242 |
writeAttribute(key.toString(), map.get(key).toString()); |
|
243 |
} |
|
244 |
events.remove(events.size()-1); |
|
245 |
} |
|
246 |
|
|
247 |
@Override |
|
248 |
public void writeEmptyElement(String namespaceURI, String localName) |
|
249 |
throws XMLStreamException { |
|
250 |
writer.writeEmptyElement(namespaceURI, localName); |
|
251 |
} |
|
252 |
|
|
253 |
@Override |
|
254 |
public void writeEmptyElement (String prefix, String localName, String namespaceURI) throws XMLStreamException { |
|
255 |
writer.writeEmptyElement(prefix, localName, namespaceURI); |
|
256 |
} |
|
257 |
|
|
258 |
@Override |
|
259 |
public void writeEndDocument () throws XMLStreamException { |
|
260 |
writer.writeEndDocument(); |
|
261 |
} |
|
262 |
|
|
263 |
@Override |
|
264 |
public void writeEndElement () throws XMLStreamException { |
|
265 |
writer.writeEndElement(); |
|
266 |
events.remove(events.size()-1); |
|
267 |
if (debug) System.out.println("END: "+events); |
|
268 |
} |
|
269 |
|
|
270 |
@Override |
|
271 |
public void writeEntityRef (String name) throws XMLStreamException { |
|
272 |
writer.writeEntityRef(name); |
|
273 |
} |
|
274 |
|
|
275 |
@Override |
|
276 |
public void writeNamespace(String prefix, String namespaceURI) |
|
277 |
throws XMLStreamException { |
|
278 |
writer.writeNamespace(prefix, namespaceURI); |
|
279 |
} |
|
280 |
|
|
281 |
@Override |
|
282 |
public void writeProcessingInstruction(String target) |
|
283 |
throws XMLStreamException { |
|
284 |
writer.writeProcessingInstruction(target); |
|
285 |
} |
|
286 |
|
|
287 |
@Override |
|
288 |
public void writeProcessingInstruction(String target, String data) |
|
289 |
throws XMLStreamException { |
|
290 |
writer.writeProcessingInstruction(target, data); |
|
291 |
} |
|
292 |
|
|
293 |
@Override |
|
294 |
public void writeStartDocument () throws XMLStreamException { |
|
295 |
writer.writeStartDocument(); |
|
296 |
} |
|
297 |
|
|
298 |
@Override |
|
299 |
public void writeStartDocument (String version) throws XMLStreamException { |
|
300 |
writer.writeStartDocument(version); |
|
301 |
} |
|
302 |
|
|
303 |
@Override |
|
304 |
public void writeStartDocument(String encoding, String version) |
|
305 |
throws XMLStreamException { |
|
306 |
writer.writeStartDocument(encoding, version); |
|
307 |
} |
|
308 |
|
|
309 |
@Override |
|
310 |
public void writeStartElement (String localName) throws XMLStreamException { |
|
311 |
writer.writeStartElement(localName); |
|
312 |
events.add(new ArrayList(Arrays.asList(localName, new ArrayList()))); |
|
313 |
if (debug) System.out.println("START "+localName+" "+events); |
|
314 |
} |
|
315 |
|
|
316 |
public void writeStartElement (String localName, HashMap map) throws XMLStreamException { |
|
317 |
writeStartElement(localName); |
|
318 |
|
|
319 |
for (Object key : map.keySet()) { |
|
320 |
|
|
321 |
if (map.get(key) == null) { // avoid NPE |
|
322 |
map.put(key, ""); |
|
323 |
} |
|
324 |
|
|
325 |
writeAttribute(key.toString(), map.get(key).toString()); |
|
326 |
} |
|
327 |
} |
|
328 |
|
|
329 |
@Override |
|
330 |
public void writeStartElement(String namespaceURI, String localName) |
|
331 |
throws XMLStreamException { |
|
332 |
writer.writeStartElement(namespaceURI, localName); |
|
333 |
events.add(new ArrayList(Arrays.asList(localName, new ArrayList()))); |
|
334 |
|
|
335 |
if (debug) System.out.println("START "+localName+" "+events); |
|
336 |
} |
|
337 |
|
|
338 |
@Override |
|
339 |
public void writeStartElement(String prefix, String localName, |
|
340 |
String namespaceURI) throws XMLStreamException { |
|
341 |
writer.writeStartElement(prefix, localName, namespaceURI); |
|
342 |
events.add(new ArrayList(Arrays.asList(localName, new ArrayList()))); |
|
343 |
if (debug) System.out.println("START "+prefix+" "+localName+" "+events); |
|
344 |
} |
|
345 |
} |
|
0 | 346 |
tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java (revision 3194) | ||
---|---|---|
2506 | 2506 |
catch (Exception e) { |
2507 | 2507 |
// set result and its children as canceled |
2508 | 2508 |
this.resetComputingState(); |
2509 |
Log.warning(TXMCoreMessages.bind("An error occurs during computing: {0}.", e.getMessage()));
|
|
2509 |
Log.warning(TXMCoreMessages.bind("** {0}.", e.getMessage()));
|
|
2510 | 2510 |
Log.printStackTrace(e); |
2511 | 2511 |
this.computing = false; |
2512 | 2512 |
return false; |
... | ... | |
2519 | 2519 |
mainSubMonitor.subTask(this.getComputingDoneMessage()); |
2520 | 2520 |
} |
2521 | 2521 |
catch (Exception e) { |
2522 |
Log.severe("Error while retrieving the result computing done message."); //$NON-NLS-1$ |
|
2522 |
Log.severe("** Error while retrieving the result computing done message."); //$NON-NLS-1$
|
|
2523 | 2523 |
Log.printStackTrace(e); |
2524 | 2524 |
} |
2525 | 2525 |
|
tmp/org.txm.core/src/java/org/txm/Toolbox.java (revision 3194) | ||
---|---|---|
45 | 45 |
import java.util.logging.Level; |
46 | 46 |
|
47 | 47 |
import org.apache.commons.lang.StringUtils; |
48 |
import org.eclipse.core.internal.registry.osgi.OSGIUtils; |
|
48 | 49 |
import org.eclipse.core.internal.resources.Project; |
49 | 50 |
import org.eclipse.core.runtime.CoreException; |
50 | 51 |
import org.eclipse.core.runtime.IConfigurationElement; |
... | ... | |
603 | 604 |
return true; |
604 | 605 |
} |
605 | 606 |
|
606 |
|
|
607 |
|
|
608 | 607 |
private static boolean startWorkspace(IProgressMonitor monitor) { |
609 | 608 |
|
610 | 609 |
String txmhomedir = getPreference(TBXPreferences.USER_TXM_HOME); |
... | ... | |
727 | 726 |
} |
728 | 727 |
|
729 | 728 |
public static String getInstallDirectory() { |
730 |
return getPreference(TBXPreferences.INSTALL_DIR); |
|
729 |
//return getPreference(TBXPreferences.INSTALL_DIR); |
|
730 |
return Platform.getInstallLocation().getURL().getFile(); |
|
731 | 731 |
} |
732 | 732 |
|
733 | 733 |
/** |
... | ... | |
767 | 767 |
// } |
768 | 768 |
// } |
769 | 769 |
|
770 |
String path = Toolbox.getPreference(TBXPreferences.INSTALL_DIR);
|
|
770 |
String path = getInstallDirectory();
|
|
771 | 771 |
File installDirectory = new File(path); |
772 | 772 |
if (!installDirectory.exists()) { |
773 | 773 |
Log.warning("Error: Workspace cannot found install directory: " + installDirectory.getAbsolutePath()); |
... | ... | |
822 | 822 |
} |
823 | 823 |
} |
824 | 824 |
} |
825 |
|
|
826 |
/** |
|
827 |
* @return the Eclipse RCP configuration directory (osgi.configuration.area) |
|
828 |
*/ |
|
829 |
public static String getConfigurationDirectory() { |
|
830 |
return OSGIUtils.getDefault().getConfigurationLocation().getURL().toString().substring(5); |
|
831 |
} |
|
825 | 832 |
} |
tmp/org.txm.core/build.properties (revision 3194) | ||
---|---|---|
34 | 34 |
log4j.properties,\ |
35 | 35 |
res/org/,\ |
36 | 36 |
schema/,\ |
37 |
OSGI-INF/ |
|
37 |
OSGI-INF/,\ |
|
38 |
lib/jsoup-1.11.3.jar |
|
38 | 39 |
output..=bin/ |
39 | 40 |
source..=src/java/,res/,test/ |
40 | 41 |
bin.excludes=META-INF/TSTMANIFEST.MF |
tmp/org.txm.core/.classpath (revision 3194) | ||
---|---|---|
1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
2 | 2 |
<classpath> |
3 |
<classpathentry exported="true" kind="lib" |
|
4 |
path="lib/ant-1.7.1.jar" /> |
|
5 |
<classpathentry exported="true" kind="lib" |
|
6 |
path="lib/ant-launcher.jar" /> |
|
7 |
<classpathentry exported="true" kind="lib" |
|
8 |
path="lib/ant.jar" /> |
|
9 |
<classpathentry exported="true" kind="lib" |
|
10 |
path="lib/antlr-2.7.7.jar" /> |
|
11 |
<classpathentry exported="true" kind="lib" |
|
12 |
path="lib/asm-analysis-2.2.3.jar" /> |
|
13 |
<classpathentry exported="true" kind="lib" |
|
14 |
path="lib/asm-tree-2.2.3.jar" /> |
|
15 |
<classpathentry exported="true" kind="lib" |
|
16 |
path="lib/concurrent-1.3.4.jar" /> |
|
17 |
<classpathentry exported="true" kind="lib" |
|
18 |
path="lib/dom4j-1.6.1.jar" /> |
|
19 |
<classpathentry exported="true" kind="lib" |
|
20 |
path="lib/forms-1.0.7.jar" /> |
|
21 |
<classpathentry exported="true" kind="lib" |
|
22 |
path="lib/jline-0.9.94.jar" /> |
|
23 |
<classpathentry exported="true" kind="lib" |
|
24 |
path="lib/junit-4.5.jar" /> |
|
25 |
<classpathentry exported="true" kind="lib" |
|
26 |
path="lib/jvectClipboard-1.2.jar" /> |
|
27 |
<classpathentry exported="true" kind="lib" |
|
28 |
path="lib/liquidlnf.jar" /> |
|
29 |
<classpathentry exported="true" kind="lib" |
|
30 |
path="lib/log4j-1.2.12.jar" /> |
|
31 |
<classpathentry exported="true" kind="lib" |
|
32 |
path="lib/looks-2.0.1.jar" /> |
|
33 |
<classpathentry exported="true" kind="lib" |
|
34 |
path="lib/macSpecific.jar" /> |
|
35 |
<classpathentry exported="true" kind="lib" |
|
36 |
path="lib/quaqua.jar" /> |
|
37 |
<classpathentry exported="true" kind="lib" |
|
38 |
path="lib/rtfCleaner.jar" /> |
|
39 |
<classpathentry exported="true" kind="lib" |
|
40 |
path="lib/swing-layout-1.0.3.jar" /> |
|
41 |
<classpathentry exported="true" kind="lib" |
|
42 |
path="lib/juniversalchardet-1.0.3.jar" /> |
|
43 |
<classpathentry exported="true" kind="lib" |
|
44 |
path="lib/textcat-1.0.1.jar" /> |
|
45 |
<classpathentry exported="true" kind="lib" |
|
46 |
path="lib/json-20090211.jar" /> |
|
47 |
<classpathentry exported="true" kind="lib" |
|
48 |
path="lib/ridl-3.2.1.jar" /> |
|
49 |
<classpathentry exported="true" kind="lib" |
|
50 |
path="lib/unoil-3.2.1.jar" /> |
|
51 |
<classpathentry exported="true" kind="lib" |
|
52 |
path="lib/sqlite-jdbc-3.8.11.2.jar" /> |
|
53 |
<classpathentry exported="true" kind="lib" |
|
54 |
path="lib/postgresql-9.4.1207.jre6.jar" /> |
|
55 |
<classpathentry kind="con" |
|
56 |
path="org.eclipse.jdt.launching.JRE_CONTAINER" /> |
|
57 |
<classpathentry exported="true" kind="con" |
|
58 |
path="org.eclipse.pde.core.requiredPlugins"> |
|
3 |
<classpathentry exported="true" kind="lib" path="lib/jsoup-1.11.3.jar"/> |
|
4 |
<classpathentry exported="true" kind="lib" path="lib/ant-1.7.1.jar"/> |
|
5 |
<classpathentry exported="true" kind="lib" path="lib/ant-launcher.jar"/> |
|
6 |
<classpathentry exported="true" kind="lib" path="lib/ant.jar"/> |
|
7 |
<classpathentry exported="true" kind="lib" path="lib/antlr-2.7.7.jar"/> |
|
8 |
<classpathentry exported="true" kind="lib" path="lib/asm-analysis-2.2.3.jar"/> |
|
9 |
<classpathentry exported="true" kind="lib" path="lib/asm-tree-2.2.3.jar"/> |
|
10 |
<classpathentry exported="true" kind="lib" path="lib/concurrent-1.3.4.jar"/> |
|
11 |
<classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/> |
|
12 |
<classpathentry exported="true" kind="lib" path="lib/forms-1.0.7.jar"/> |
|
13 |
<classpathentry exported="true" kind="lib" path="lib/jline-0.9.94.jar"/> |
|
14 |
<classpathentry exported="true" kind="lib" path="lib/junit-4.5.jar"/> |
|
15 |
<classpathentry exported="true" kind="lib" path="lib/jvectClipboard-1.2.jar"/> |
|
16 |
<classpathentry exported="true" kind="lib" path="lib/liquidlnf.jar"/> |
|
17 |
<classpathentry exported="true" kind="lib" path="lib/log4j-1.2.12.jar"/> |
|
18 |
<classpathentry exported="true" kind="lib" path="lib/looks-2.0.1.jar"/> |
|
19 |
<classpathentry exported="true" kind="lib" path="lib/macSpecific.jar"/> |
|
20 |
<classpathentry exported="true" kind="lib" path="lib/quaqua.jar"/> |
|
21 |
<classpathentry exported="true" kind="lib" path="lib/rtfCleaner.jar"/> |
|
22 |
<classpathentry exported="true" kind="lib" path="lib/swing-layout-1.0.3.jar"/> |
|
23 |
<classpathentry exported="true" kind="lib" path="lib/juniversalchardet-1.0.3.jar"/> |
|
24 |
<classpathentry exported="true" kind="lib" path="lib/textcat-1.0.1.jar"/> |
|
25 |
<classpathentry exported="true" kind="lib" path="lib/json-20090211.jar"/> |
|
26 |
<classpathentry exported="true" kind="lib" path="lib/ridl-3.2.1.jar"/> |
|
27 |
<classpathentry exported="true" kind="lib" path="lib/unoil-3.2.1.jar"/> |
|
28 |
<classpathentry exported="true" kind="lib" path="lib/sqlite-jdbc-3.8.11.2.jar"/> |
|
29 |
<classpathentry exported="true" kind="lib" path="lib/postgresql-9.4.1207.jre6.jar"/> |
|
30 |
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
|
31 |
<classpathentry exported="true" kind="con" path="org.eclipse.pde.core.requiredPlugins"> |
|
59 | 32 |
<attributes> |
60 |
<attribute |
|
61 |
name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" |
|
62 |
value="org.txm.toolbox/native" /> |
|
33 |
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="org.txm.toolbox/native"/> |
|
63 | 34 |
</attributes> |
64 | 35 |
<accessrules> |
65 |
<accessrule kind="accessible" pattern="**" />
|
|
36 |
<accessrule kind="accessible" pattern="**"/> |
|
66 | 37 |
</accessrules> |
67 | 38 |
</classpathentry> |
68 |
<classpathentry kind="src" path="src/java" /> |
|
69 |
<classpathentry kind="src" path="test" /> |
|
70 |
<classpathentry kind="src" path="res" /> |
|
71 |
<classpathentry exported="true" kind="con" |
|
72 |
path="GROOVY_DSL_SUPPORT" /> |
|
73 |
<classpathentry exported="true" kind="lib" |
|
74 |
path="lib/jodconverter-core-3.1-beta.jar" /> |
|
75 |
<classpathentry kind="lib" path="lib/jsoup-1.11.3.jar" /> |
|
76 |
<classpathentry kind="output" path="bin" /> |
|
77 |
</classpath> |
|
39 |
<classpathentry kind="src" path="src/java"/> |
|
40 |
<classpathentry kind="src" path="test"/> |
|
41 |
<classpathentry kind="src" path="res"/> |
|
42 |
<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/> |
|
43 |
<classpathentry exported="true" kind="lib" path="lib/jodconverter-core-3.1-beta.jar"/> |
|
44 |
<classpathentry kind="output" path="bin"/> |
|
45 |
</classpath> |
tmp/org.txm.core/META-INF/MANIFEST.MF (revision 3194) | ||
---|---|---|
439 | 439 |
Bundle-SymbolicName: org.txm.core;singleton:=true |
440 | 440 |
Bundle-Version: 0.8.2.qualifier |
441 | 441 |
Bundle-Name: TXM Core Toolbox |
442 |
Bundle-ClassPath: .,lib/ant-1.7.1.jar,lib/ant-launcher.jar,lib/ant.jar |
|
443 |
,lib/antlr-2.7.7.jar,lib/asm-analysis-2.2.3.jar,lib/asm-tree-2.2.3.ja |
|
444 |
r,lib/colt-1.2.0.jar,lib/concurrent-1.3.4.jar,lib/dom4j-1.6.1.jar,lib |
|
445 |
/forms-1.0.7.jar,lib/jline-0.9.94.jar,lib/junit-4.5.jar,lib/jvectClip |
|
446 |
board-1.2.jar,lib/liquidlnf.jar,lib/log4j-1.2.12.jar,lib/looks-2.0.1. |
|
447 |
jar,lib/macSpecific.jar,lib/quaqua.jar,lib/REngine.jar,lib/RserveEngi |
|
448 |
ne.jar,lib/rtfCleaner.jar,lib/swing-layout-1.0.3.jar,lib/juniversalch |
|
449 |
ardet-1.0.3.jar,lib/textcat-1.0.1.jar,lib/saxon9he.jar,lib/jtidy-r938 |
|
450 |
.jar,lib/json-20090211.jar,lib/juh-3.2.1.jar,lib/jurt-3.2.1.jar,lib/r |
|
451 |
idl-3.2.1.jar,lib/unoil-3.2.1.jar,lib/sqlite-jdbc-3.8.11.2.jar,lib/po |
|
452 |
stgresql-9.4.1207.jre6.jar,lib/jodconverter-core-3.1-beta.jar |
|
442 |
Bundle-ClassPath: ., |
|
443 |
lib/ant-1.7.1.jar, |
|
444 |
lib/ant-launcher.jar, |
|
445 |
lib/ant.jar, |
|
446 |
lib/antlr-2.7.7.jar, |
|
447 |
lib/asm-analysis-2.2.3.jar, |
|
448 |
lib/asm-tree-2.2.3.jar, |
|
449 |
lib/colt-1.2.0.jar, |
|
450 |
lib/concurrent-1.3.4.jar, |
|
451 |
lib/dom4j-1.6.1.jar, |
|
452 |
lib/forms-1.0.7.jar, |
|
453 |
lib/jline-0.9.94.jar, |
|
454 |
lib/junit-4.5.jar, |
|
455 |
lib/jvectClipboard-1.2.jar, |
|
456 |
lib/liquidlnf.jar, |
|
457 |
lib/log4j-1.2.12.jar, |
|
458 |
lib/looks-2.0.1.jar, |
|
459 |
lib/macSpecific.jar, |
|
460 |
lib/quaqua.jar, |
|
461 |
lib/REngine.jar, |
|
462 |
lib/RserveEngine.jar, |
|
463 |
lib/rtfCleaner.jar, |
|
464 |
lib/swing-layout-1.0.3.jar, |
|
465 |
lib/juniversalchardet-1.0.3.jar, |
|
466 |
lib/textcat-1.0.1.jar, |
|
467 |
lib/saxon9he.jar, |
|
468 |
lib/jtidy-r938.jar, |
|
469 |
lib/json-20090211.jar, |
|
470 |
lib/juh-3.2.1.jar, |
|
471 |
lib/jurt-3.2.1.jar, |
|
472 |
lib/ridl-3.2.1.jar, |
|
473 |
lib/unoil-3.2.1.jar, |
|
474 |
lib/sqlite-jdbc-3.8.11.2.jar, |
|
475 |
lib/postgresql-9.4.1207.jre6.jar, |
|
476 |
lib/jodconverter-core-3.1-beta.jar, |
|
477 |
lib/jsoup-1.11.3.jar |
|
453 | 478 |
Require-Bundle: org.txm.utils.core;bundle-version="1.0.0";visibility:=reexport, |
454 | 479 |
org.txm.libs.groovy-all;bundle-version="1.0.0";visibility:=reexport, |
455 | 480 |
org.eclipse.core.runtime;bundle-version="3.10.0";visibility:=reexport, |
Formats disponibles : Unified diff