9 package de.uni_hamburg.corpora;
12 import org.exmaralda.partitureditor.jexmaralda.BasicTranscription;
14 import java.io.PrintWriter;
15 import java.nio.file.Files;
16 import java.nio.file.Paths;
17 import org.jdom.Document;
18 import org.jdom.input.SAXBuilder;
19 import org.xml.sax.SAXException;
20 import org.jdom.JDOMException;
21 import java.io.IOException;
22 import java.io.FileNotFoundException;
23 import java.net.MalformedURLException;
25 import java.net.URISyntaxException;
27 import java.util.logging.Level;
28 import java.util.logging.Logger;
29 import javax.xml.parsers.ParserConfigurationException;
30 import javax.xml.transform.TransformerException;
31 import javax.xml.xpath.XPathExpressionException;
32 import org.apache.commons.io.FilenameUtils;
33 import org.exmaralda.partitureditor.jexmaralda.JexmaraldaException;
42 private BasicTranscription bt;
44 Document jdom =
new Document();
45 String originalstring;
48 String filenamewithoutending;
56 SAXBuilder builder =
new SAXBuilder();
57 jdom = builder.build(url);
58 File f =
new File(url.toURI());
60 originalstring =
new String(Files.readAllBytes(Paths.get(url.toURI())),
"UTF-8");
61 URI uri = url.toURI();
62 URI parentURI = uri.getPath().endsWith(
"/") ? uri.resolve(
"..") : uri.resolve(
".");
63 parenturl = parentURI.toURL();
64 filename = FilenameUtils.getName(url.getPath());
65 filenamewithoutending = FilenameUtils.getBaseName(url.getPath());
66 }
catch (JDOMException ex) {
68 }
catch (IOException ex) {
70 }
catch (URISyntaxException ex) {
72 }
catch (SAXException ex) {
74 }
catch (JexmaraldaException ex) {
83 public void loadFile(File f)
throws SAXException, JexmaraldaException, MalformedURLException {
86 org.exmaralda.partitureditor.jexmaralda.sax.BasicTranscriptionSaxReader reader =
new org.exmaralda.partitureditor.jexmaralda.sax.BasicTranscriptionSaxReader();
87 BasicTranscription t =
new BasicTranscription();
88 t = reader.readFromFile(f.getAbsolutePath());
90 url = f.toURI().toURL();
96 public void updateJdomDoc() throws SAXException, JexmaraldaException, MalformedURLException, JDOMException, IOException {
97 String xmlString = bt.toXML();
98 SAXBuilder builder =
new SAXBuilder();
99 jdom = builder.build(xmlString);
122 private String toPrettyPrintedXML()
throws TransformerException, ParserConfigurationException, SAXException, IOException, XPathExpressionException{
126 return prettyCorpusData;
129 public String
toSaveableString() throws TransformerException, ParserConfigurationException, SAXException, IOException, XPathExpressionException {
130 return toPrettyPrintedXML();
133 public static void main(String[] args) {
134 if ((args.length != 2) && (args.length != 1)) {
135 System.out.println(
"Usage: " 137 +
" INPUT [OUTPUT]");
144 boolean emplace =
false;
146 if (args.length == 2) {
147 output =
new PrintWriter(args[1]);
150 output =
new PrintWriter(
"tempfile.exb");
153 output.print(prettyXML);
156 Files.move(Paths.get(
"tempfile.exb"), Paths.get(args[0]),
157 java.nio.file.StandardCopyOption.REPLACE_EXISTING);
159 }
catch (SAXException saxe) {
160 saxe.printStackTrace();
162 }
catch (FileNotFoundException fnfe) {
163 fnfe.printStackTrace();
165 }
catch (IOException ioe) {
166 ioe.printStackTrace();
168 }
catch (JexmaraldaException je) {
169 je.printStackTrace();
171 }
catch (TransformerException ex) {
172 ex.printStackTrace();
174 }
catch (ParserConfigurationException ex) {
175 ex.printStackTrace();
177 }
catch (XPathExpressionException ex) {
178 ex.printStackTrace();
194 return originalstring;
199 originalstring = newUnformattedString;
255 return filenamewithoutending;
260 filenamewithoutending = s;
String toUnformattedString()
void setParentURL(URL url)
static void main(String[] args)
BasicTranscription getEXMARaLDAbt()
void setFilename(String s)
String toSaveableString()
BasicTranscriptionData(URL url)
void setOriginalString(String s)
String indent(String xml, String suppressedElements)
void setReadbtasjdom(Document doc)
String getFilenameWithoutFileEnding()
void setJdom(Document doc)
void updateUnformattedString(String newUnformattedString)
Document getReadbtasjdom()
void setEXMARaLDAbt(BasicTranscription btn)
void setFilenameWithoutFileEnding(String s)