7 package de.uni_hamburg.corpora.validation;
13 import java.io.IOException;
14 import java.net.URISyntaxException;
15 import java.security.NoSuchAlgorithmException;
16 import java.util.ArrayList;
17 import java.util.Collection;
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.JexmaraldaException;
23 import org.jdom.JDOMException;
24 import org.xml.sax.SAXException;
40 Collection<Class<? extends CorpusData>> IsUsableFor =
new ArrayList<Class<? extends CorpusData>>();
41 final String
function;
44 Checker(
boolean hasfixingoption) {
45 function = this.getClass().getSimpleName();
46 canfix = hasfixingoption;
64 report =
function(cd, fix);
67 "Automatic fix is not available, doing check instead.");
68 report =
function(cd,
false);
73 report =
function(cd, fix);
75 }
catch (JexmaraldaException je) {
76 report.
addException(je,
function, cd,
"Unknown parsing error");
77 }
catch (JDOMException jdome) {
78 report.
addException(jdome,
function, cd,
"Unknown parsing error");
79 }
catch (SAXException saxe) {
80 report.
addException(saxe,
function, cd,
"Unknown parsing error");
81 }
catch (IOException ioe) {
82 report.
addException(ioe,
function, cd,
"File reading error");
83 }
catch (FSMException ex) {
84 report.
addException(ex,
function, cd,
"File reading error");
85 }
catch (URISyntaxException ex) {
86 report.
addException(ex,
function, cd,
"File reading erro");
87 }
catch (ParserConfigurationException ex) {
88 report.
addException(ex,
function, cd,
"File reading error");
89 }
catch (TransformerException ex) {
90 report.
addException(ex,
function, cd,
"File reading error");
91 }
catch (XPathExpressionException ex) {
92 report.
addException(ex,
function, cd,
"File reading error");
93 }
catch (ClassNotFoundException ex) {
94 report.
addException(ex,
function, cd,
"File reading error");
95 }
catch (NoSuchAlgorithmException ex) {
96 report.
addException(ex,
function, cd,
"File reading error");
107 report =
function(c, fix);
110 "Automatic fix is not yet supported.");
114 report =
function(c, fix);
116 }
catch (JexmaraldaException je) {
117 report.
addException(je,
function, cd,
"Unknown parsing error");
118 }
catch (JDOMException jdome) {
119 report.
addException(jdome,
function, cd,
"Unknown parsing error");
120 }
catch (SAXException saxe) {
121 report.
addException(saxe,
function, cd,
"Unknown parsing error");
122 }
catch (IOException ioe) {
123 report.
addException(ioe,
function, cd,
"File reading error");
124 }
catch (FSMException ex) {
125 report.
addException(ex,
function, cd,
"File reading error");
126 }
catch (URISyntaxException ex) {
127 report.
addException(ex,
function, cd,
"File reading erro");
128 }
catch (ParserConfigurationException ex) {
129 report.
addException(ex,
function, cd,
"File reading error");
130 }
catch (TransformerException ex) {
131 report.
addException(ex,
function, cd,
"File reading error");
132 }
catch (XPathExpressionException ex) {
133 report.
addException(ex,
function, cd,
"File reading error");
134 }
catch (ClassNotFoundException ex) {
135 report.
addException(ex,
function, cd,
"File reading error");
136 }
catch (NoSuchAlgorithmException ex) {
137 report.
addException(ex,
function, cd,
"File reading error");
143 public abstract Report function(
CorpusData cd, Boolean fix)
throws NoSuchAlgorithmException, ClassNotFoundException, FSMException, URISyntaxException, SAXException, IOException, ParserConfigurationException, JexmaraldaException, TransformerException, XPathExpressionException, JDOMException;
146 public abstract Report function(
Corpus c, Boolean fix)
throws NoSuchAlgorithmException, ClassNotFoundException, FSMException, URISyntaxException, SAXException, IOException, ParserConfigurationException, JexmaraldaException, TransformerException, XPathExpressionException, JDOMException;
148 public abstract Collection<Class<? extends CorpusData>>
getIsUsableFor();
151 for (Class<? extends CorpusData> cl : cdc) {
Report execute(Corpus c, boolean fix)
Report execute(CorpusData cd, boolean fix)
void addCritical(String description)
abstract Collection< Class<?extends CorpusData > > getIsUsableFor()
void addException(Throwable e, String description)
void setIsUsableFor(Collection< Class<?extends CorpusData >> cdc)
Report execute(CorpusData cd)