Revision: 9399
http://languagetool.svn.sourceforge.net/languagetool/?rev=9399&view=rev
Author: dominikoeo
Date: 2013-02-17 09:20:50 +0000 (Sun, 17 Feb 2013)
Log Message:
-----------
Verbose mode (-v) now prints the subId of disambiguation rules
that matched. It matters when disambiguation rule use
<rulegroup> with several <rule> inside the group. Prior to
change, it was not possible to tell which <rule> was matched
within the <rulegroup>. Example:
$ echo "L'?\195?\169t?\195?\169 | java -jar languagetool-commandline.jar -l fr
-v
..
ETE:2 ?\195?\169t?\195?\169[?\195?\170tre/V etre ppa e
sp*,?\195?\169t?\195?\169/N m s*,?\195?\170tre/SENT_END*] ->
?\195?\169t?\195?\169[?\195?\169t?\195?\169/N m
s*,?\195?\169t?\195?\169/SENT_END*]
Prior to change, it printed:
ETE: ?\195?\169t?\195?\169[?\195?\170tre/V etre ppa e
sp*,?\195?\169t?\195?\169/N m s*,?\195?\170tre/SENT_END*] ->
?\195?\169t?\195?\169[?\195?\169t?\195?\169/N m
s*,?\195?\169t?\195?\169/SENT_END*]
Modified Paths:
--------------
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/AbstractPatternRule.java
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRule.java
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/disambiguation/rules/DisambiguationPatternRule.java
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/disambiguation/rules/DisambiguationRuleLoader.java
Modified:
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/AbstractPatternRule.java
===================================================================
---
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/AbstractPatternRule.java
2013-02-16 22:56:36 UTC (rev 9398)
+++
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/AbstractPatternRule.java
2013-02-17 09:20:50 UTC (rev 9399)
@@ -45,6 +45,7 @@
protected final boolean testUnification;
protected final boolean sentStart;
+ protected String subId; // because there can be more than one rule in a rule
group
protected Unifier unifier;
protected AnalyzedTokenReadings[] unifiedTokens;
protected int startPositionCorrection;
@@ -91,9 +92,8 @@
return false;
}
- @Override
public String toString() {
- return id + ":" + patternElements + ":" + description;
+ return id + "[" + subId + "]:" + patternElements + ":" + description;
}
@Override
@@ -131,6 +131,14 @@
return this.endPositionCorrection;
}
+ public final String getSubId() {
+ return subId;
+ }
+
+ public final void setSubId(final String subId) {
+ this.subId = subId;
+ }
+
protected void setupAndGroup(final int firstMatchToken,
final Element elem, final AnalyzedTokenReadings[] tokens)
throws IOException {
Modified:
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRule.java
===================================================================
---
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRule.java
2013-02-16 22:56:36 UTC (rev 9398)
+++
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRule.java
2013-02-17 09:20:50 UTC (rev 9399)
@@ -43,7 +43,6 @@
*/
private final List<Integer> elementNo;
- private String subId; // because there can be more than one rule in a rule
group
private String message;
private String suggestionsOutMsg; // extra suggestions outside message
@@ -137,14 +136,6 @@
this.isMemberOfDisjunctiveSet = isMember;
}
- public final String getSubId() {
- return subId;
- }
-
- public final void setSubId(final String subId) {
- this.subId = subId;
- }
-
public final String getMessage() {
return message;
}
@@ -238,9 +229,4 @@
return suggestionMatchesOutMsg;
}
- @Override
- public final String toString() {
- return getId() + "[" + subId + "]" + ":" + patternElements + ":" +
getDescription();
- }
-
}
Modified:
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/disambiguation/rules/DisambiguationPatternRule.java
===================================================================
---
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/disambiguation/rules/DisambiguationPatternRule.java
2013-02-16 22:56:36 UTC (rev 9398)
+++
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/disambiguation/rules/DisambiguationPatternRule.java
2013-02-17 09:20:50 UTC (rev 9399)
@@ -378,7 +378,7 @@
private void annotateChange(AnalyzedTokenReadings atr, final String
prevValue, String prevAnot) {
atr.setHistoricalAnnotations(prevAnot + "\n" +
- this.getId() + ": " + prevValue + " -> " + atr.toString());
+ this.getId() + ":" + this.getSubId() + " " + prevValue + " -> " +
atr.toString());
}
/**
Modified:
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/disambiguation/rules/DisambiguationRuleLoader.java
===================================================================
---
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/disambiguation/rules/DisambiguationRuleLoader.java
2013-02-16 22:56:36 UTC (rev 9398)
+++
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/disambiguation/rules/DisambiguationRuleLoader.java
2013-02-17 09:20:50 UTC (rev 9399)
@@ -66,6 +66,7 @@
private static final String ACTION = "action";
private static final String DISAMBIG = "disambig";
+ private int subId;
private String name;
private String ruleGroupId;
private String ruleGroupName;
@@ -108,6 +109,9 @@
final String qName, final Attributes attrs) throws SAXException {
if (qName.equals("rule")) {
id = attrs.getValue("id");
+ if (inRuleGroup) {
+ subId++;
+ }
name = attrs.getValue("name");
if (inRuleGroup && id == null) {
id = ruleGroupId;
@@ -212,6 +216,7 @@
ruleGroupId = attrs.getValue("id");
ruleGroupName = attrs.getValue("name");
inRuleGroup = true;
+ subId = 0;
} else if (qName.equals(UNIFICATION)) {
uFeature = attrs.getValue(FEATURE);
inUnificationDef = true;
@@ -260,6 +265,7 @@
startPos = 0;
endPos = tokenCountForMarker;
}
+ rule.setSubId(inRuleGroup ? Integer.toString(subId) : "1");
final int matchedTokenCount = endPos - startPos;
if (newWdList != null) {
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
The Go Parallel Website, sponsored by Intel - in partnership with Geeknet,
is your hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials, tech docs,
whitepapers, evaluation guides, and opinion stories. Check out the most
recent posts - join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Languagetool-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-commits