6 package de.uni_hamburg.corpora.visualization;
12 import java.io.IOException;
13 import java.net.URISyntaxException;
14 import java.security.NoSuchAlgorithmException;
15 import java.util.ArrayList;
16 import java.util.Collection;
17 import java.util.regex.Pattern;
18 import javax.xml.parsers.ParserConfigurationException;
19 import javax.xml.transform.TransformerException;
20 import javax.xml.xpath.XPathExpressionException;
21 import org.exmaralda.partitureditor.fsm.FSMException;
22 import org.exmaralda.partitureditor.jexmaralda.BasicTranscription;
23 import org.exmaralda.partitureditor.jexmaralda.JexmaraldaException;
24 import org.jdom.JDOMException;
25 import org.xml.sax.SAXException;
38 private String html = null;
54 Collection<Class<? extends CorpusData>> IsUsableFor =
new ArrayList<Class<? extends CorpusData>>();
55 final String
function;
56 Boolean canfix =
false;
59 function = this.getClass().getSimpleName();
90 public void setMedia(String recordingId, String recordingType) {
92 String newMediaElem =
"";
94 recordingType = recordingType.toLowerCase();
96 if (recordingType.matches(
"^(wav|mp3|ogg)$")) {
98 newMediaElem =
"<audio controls=\"controls\" data-tlid=\"media\">\n" 99 +
" <source src=\"" + recordingId +
"\" type=\"audio/" + recordingType +
"\"/>\n" 103 if (recordingType.matches(
"^(mpeg|mpg|webm)$")) {
104 newMediaElem =
"<video controls=\"controls\" data-tlid=\"media\">\n" 105 +
" <source src=\"" + recordingId +
"\" type=\"video/" + recordingType +
"\"/>\n" 109 setHTML(Pattern.compile(
"<div[^>]*id=\"mediaplayer\".*?</div>", Pattern.DOTALL).matcher(html).replaceAll(
"<div id=\"mediaplayer\" class=\"sidebarcontrol\">" + newMediaElem +
"</div>"));
121 setHTML(Pattern.compile(
"<div[^>]*id=\"mediaplayer\".*?</div>", Pattern.DOTALL).matcher(html).replaceAll(
"<div id=\"mediaplayer\" class=\"sidebarcontrol\"></div>"));
128 report =
function(cd);
129 }
catch (JDOMException jdome) {
130 report.
addException(jdome,
function, cd,
"Unknown parsing error");
131 }
catch (SAXException saxe) {
132 report.
addException(saxe,
function, cd,
"Unknown parsing error");
133 }
catch (IOException ioe) {
134 report.
addException(ioe,
function, cd,
"File reading error");
135 }
catch (FSMException ex) {
136 report.
addException(ex,
function, cd,
"File reading error");
137 }
catch (URISyntaxException ex) {
138 report.
addException(ex,
function, cd,
"File reading erro");
139 }
catch (ParserConfigurationException ex) {
140 report.
addException(ex,
function, cd,
"File reading error");
141 }
catch (TransformerException ex) {
142 report.
addException(ex,
function, cd,
"File reading error");
143 }
catch (XPathExpressionException ex) {
144 report.
addException(ex,
function, cd,
"File reading error");
145 }
catch (ClassNotFoundException ex) {
146 report.
addException(ex,
function, cd,
"File reading error");
147 }
catch (NoSuchAlgorithmException ex) {
148 report.
addException(ex,
function, cd,
"File reading error");
149 }
catch (JexmaraldaException ex) {
150 report.
addException(ex,
function, cd,
"File reading error");
164 report =
function(c);
165 }
catch (JexmaraldaException je) {
166 report.
addException(je,
function, cd,
"Unknown parsing error");
167 }
catch (JDOMException jdome) {
168 report.
addException(jdome,
function, cd,
"Unknown parsing error");
169 }
catch (SAXException saxe) {
170 report.
addException(saxe,
function, cd,
"Unknown parsing error");
171 }
catch (IOException ioe) {
172 report.
addException(ioe,
function, cd,
"File reading error");
173 }
catch (FSMException ex) {
174 report.
addException(ex,
function, cd,
"File reading error");
175 }
catch (URISyntaxException ex) {
176 report.
addException(ex,
function, cd,
"File reading erro");
177 }
catch (ParserConfigurationException ex) {
178 report.
addException(ex,
function, cd,
"File reading error");
179 }
catch (TransformerException ex) {
180 report.
addException(ex,
function, cd,
"File reading error");
181 }
catch (XPathExpressionException ex) {
182 report.
addException(ex,
function, cd,
"File reading error");
183 }
catch (ClassNotFoundException ex) {
184 report.
addException(ex,
function, cd,
"File reading error");
185 }
catch (NoSuchAlgorithmException ex) {
186 report.
addException(ex,
function, cd,
"File reading error");
198 public abstract Report function(
CorpusData cd)
throws NoSuchAlgorithmException, ClassNotFoundException, FSMException, URISyntaxException, SAXException, IOException, ParserConfigurationException, JexmaraldaException, TransformerException, XPathExpressionException, JDOMException;
202 public abstract Report function(
Corpus c)
throws NoSuchAlgorithmException, ClassNotFoundException, FSMException, URISyntaxException, SAXException, IOException, ParserConfigurationException, JexmaraldaException, TransformerException, XPathExpressionException, JDOMException;
206 public abstract Collection<Class<? extends CorpusData>>
getIsUsableFor();
209 for (Class<? extends CorpusData> cl : cdc) {
abstract Collection< Class<?extends CorpusData > > getIsUsableFor()
void setMedia(String recordingId, String recordingType)
Report execute(CorpusData cd)
String basicTranscriptionString
Report execute(CorpusData cd, boolean fix)
void setIsUsableFor(Collection< Class<?extends CorpusData >> cdc)
String JS_HIGHLIGHTING_PATH
BasicTranscription basicTranscription
void addException(Throwable e, String description)
Report execute(Corpus c, boolean fix)