|
[LanguageTool]
JLanguageTool/src/java/de/danielnaber/languagetool/rules/patterns
PatternRule.java, 1.97, 1.98
From: Daniel Naber <dnaber@us...> - 2008-06-22 09:06
|
Update of /cvsroot/languagetool/JLanguageTool/src/java/de/danielnaber/languagetool/rules/patterns
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28696/src/java/de/danielnaber/languagetool/rules/patterns
Modified Files:
PatternRule.java
Log Message:
adding toXML() method, used in the community website -- note: not yet complete
Index: PatternRule.java
===================================================================
RCS file: /cvsroot/languagetool/JLanguageTool/src/java/de/danielnaber/languagetool/rules/patterns/PatternRule.java,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -d -r1.97 -r1.98
--- PatternRule.java 6 Jun 2008 10:42:16 -0000 1.97
+++ PatternRule.java 20 Jun 2008 21:58:42 -0000 1.98
@@ -26,6 +26,7 @@
import de.danielnaber.languagetool.AnalyzedToken;
import de.danielnaber.languagetool.AnalyzedTokenReadings;
import de.danielnaber.languagetool.Language;
+import de.danielnaber.languagetool.rules.IncorrectExample;
import de.danielnaber.languagetool.rules.Rule;
import de.danielnaber.languagetool.rules.RuleMatch;
import de.danielnaber.languagetool.tools.StringTools;
@@ -80,7 +81,7 @@
* @param message Message to be displayed to the user
*/
- PatternRule(final String id, final Language language, final List<Element> elements, final String description,
+ PatternRule(final String id, Language language, final List<Element> elements, final String description,
final String message) {
if (id == null) {
throw new NullPointerException("id cannot be null");
@@ -192,6 +193,62 @@
return StringTools.listToString(strList, ", ");
}
+ /**
+ * Return the pattern as an XML string. FIXME: this is not complete,
+ * information might be lost!
+ * @since 0.9.3
+ */
+ public final String toXML() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("<rule id=\"");
+ sb.append(StringTools.escapeXML(id));
+ sb.append("\" name=\"");
+ sb.append(StringTools.escapeXML(description));
+ sb.append("\">\n");
+ sb.append("<pattern mark_from=\"");
+ sb.append(startPositionCorrection);
+ sb.append("\" mark_to=\"");
+ sb.append(endPositionCorrection);
+ sb.append("\"");
+ if (patternElements.get(0).getCaseSensitive()) {
+ sb.append(" case_sensitive=\"yes\"");
+ }
+ sb.append(">\n");
+ for (Element patternElement : patternElements) {
+ sb.append("<token");
+ if (patternElement.getNegation()) {
+ sb.append(" negate=\"yes\"");
+ }
+ sb.append(">");
+ if (patternElement.getString() != null) {
+ sb.append(StringTools.escapeXML(patternElement.getString()));
+ } else {
+ // TODO
+ }
+ sb.append("</token>\n");
+ }
+ sb.append("</pattern>\n");
+ sb.append("<message>");
+ sb.append(StringTools.escapeXML(message));
+ sb.append("</message>\n");
+ if (getIncorrectExamples() != null) {
+ for (IncorrectExample example : getIncorrectExamples()) {
+ sb.append("<example type=\"incorrect\">");
+ sb.append(StringTools.escapeXML(example.getExample()));
+ sb.append("</example>\n");
+ }
+ }
+ if (getCorrectExamples() != null) {
+ for (String example : getCorrectExamples()) {
+ sb.append("<example type=\"correct\">");
+ sb.append(StringTools.escapeXML(example));
+ sb.append("</example>\n");
+ }
+ }
+ sb.append("</rule>");
+ return sb.toString();
+ }
+
public final void setMessage(final String message) {
this.message = message;
}
|
| Thread | Author | Date |
|---|---|---|
| [LanguageTool] JLanguageTool/src/java/de/danielnaber/languagetool/rules/patterns PatternRule.java, 1.97, 1.98 | Daniel Naber <dnaber@us...> |