Revision: 6977
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=6977&view=rev
Author:   milek_pl
Date:     2012-05-18 21:28:24 +0000 (Fri, 18 May 2012)
Log Message:
-----------
use dataBroker in where it should be used

Modified Paths:
--------------
    
trunk/JLanguageTool/src/java/org/languagetool/rules/patterns/bitext/FalseFriendsAsBitextLoader.java
    trunk/JLanguageTool/src/java/org/languagetool/tools/Tools.java
    
trunk/JLanguageTool/src/test/org/languagetool/rules/bitext/FalseFriendsAsBitextLoaderTest.java

Added Paths:
-----------
    trunk/JLanguageTool/src/dev/tools/ltdiff/VersionDiffGenerator.java

Removed Paths:
-------------
    trunk/JLanguageTool/src/dev/tools/ltdiff/VersionDiffGenerator.java

Deleted: trunk/JLanguageTool/src/dev/tools/ltdiff/VersionDiffGenerator.java
===================================================================
--- trunk/JLanguageTool/src/dev/tools/ltdiff/VersionDiffGenerator.java  
2012-05-18 21:09:25 UTC (rev 6976)
+++ trunk/JLanguageTool/src/dev/tools/ltdiff/VersionDiffGenerator.java  
2012-05-18 21:28:24 UTC (rev 6977)
@@ -1,210 +0,0 @@
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Scanner;
-
-/**
- * Generates an HTML report of added, deleted and modified rules between 
versions of LanguageTool.
- * See ltdiff.bash.
- */
-class VersionDiffGenerator {
-  
-  public static void main(String[] args) throws IOException {
-    final VersionDiffGenerator generator = new VersionDiffGenerator();
-    generator.makeDiff(args[0]);
-  }
-  
-  private void makeDiff(String lang) throws IOException {
-    
-    final List<Rule> oldRules = new ArrayList<Rule>(); // rules in old 
grammar.xml
-    final List<Rule> newRules = new ArrayList<Rule>(); // rules in new 
grammar.xml
-    final List<Rule> modifiedRules = new ArrayList<Rule>();
-    
-    for (int i = 0; i < 2; i++) {
-
-      final List<Rule> rules;
-      if (i == 0) {
-        rules = oldRules;
-      } else {
-        rules = newRules;
-      }
-    
-      final Scanner scanner = new Scanner(new FileReader(i == 0 ? "old" : 
"new"));
-
-      Rule r = new Rule();
-      
-      // loop through all lines
-      while (scanner.hasNextLine()) {
-        String line = scanner.nextLine();
-      
-        if (line.contains("id=\"") && line.contains("rule")) {
-          
-          if (!line.contains("name=\"")) { // merge with the following line if 
the name is there (e.g. sk)
-            line += scanner.nextLine();
-          }
-          
-          if (r.numberOfExamples() > 0) {
-            rules.add(r);
-            r = new Rule();
-          }
-          
-          r.id = line;
-          r.name = line;
-          
-          r.id = r.id.replaceAll(".*id=\"","").replaceAll("\".*","");
-          r.name = r.name.replaceAll(".*name=\"","").replaceAll("\".*","");
-
-          for (Rule rule : rules) { // ensure that the name is unique
-            if (r.name.equals(rule.name)) {
-              r.name += " ";
-            }
-          }
-          
-        } else if (line.contains("type=\"correct\"")) {
-          
-          while (!line.contains("</example>")) { // merge with the following 
line(s) if the example continues there
-            line += scanner.nextLine();
-          }
-          
r.correct.add(line.replaceAll("marker","b").replaceAll(".*<example.*?>","").replaceAll("</example>.*",""));
-          
-        } else if (line.contains("type=\"incorrect\"")) {
-        
-          while (!line.contains("</example>")) {
-            line += scanner.nextLine();
-          }
-          
r.incorrect.add(line.replaceAll("marker","b").replaceAll(".*<example.*?>","").replaceAll("</example>.*",""));
-          
-        }
-        
-      } // while(readLine)
-      
-      scanner.close();
-      
-    }
-      
-    // sort rules by name
-    Collections.sort(oldRules);
-    Collections.sort(newRules);
-    
-    // create html file containing the tr elements
-    
-    final FileWriter fileWriter = new FileWriter("changes_" + lang + ".html");
-    final BufferedWriter out = new BufferedWriter(fileWriter);
-
-    for (Rule newRule1 : newRules) {
-
-      boolean found = false;
-
-      for (int j = 0; j < oldRules.size() && !found; j++) {
-
-        if (newRule1.id.equals(oldRules.get(j).id) || 
newRule1.name.equals(oldRules.get(j).name)) {
-
-          found = true;
-
-          if (newRule1.numberOfExamples() > 
oldRules.get(j).numberOfExamples()) { // if the new rules has more examples, it 
is considered to be improved
-
-            final Rule r = newRule1;
-
-            for (int k = 0; k < r.correct.size(); k++) { // remove examples 
which already exist in old rule
-
-              for (int l = 0; l < oldRules.get(j).correct.size(); l++) {
-
-                if (r.correct.get(k).equals(oldRules.get(j).correct.get(l))) {
-
-                  r.correct.remove(k);
-                  if (k > 0) k--;
-
-                } // if examples equal
-
-              } // for each old correct example
-
-            } // for each new correct example
-
-            for (int k = 0; k < r.incorrect.size(); k++) { // remove examples 
which already exist in old rule
-
-              for (int l = 0; l < oldRules.get(j).incorrect.size(); l++) {
-
-                if 
(r.incorrect.get(k).equals(oldRules.get(j).incorrect.get(l))) {
-
-                  r.incorrect.remove(k);
-                  if (k > 0) k--;
-
-                } // if examples equal
-
-              } // for each old incorrect example
-
-            } // for each new incorrect example
-
-            modifiedRules.add(r);
-
-          } // if new rules has more examples
-
-        } // if new rule is not new
-
-      } // for each old rule
-
-      if (!found) {
-        out.write("<tr class=\"new\"><td>4NEWRULE</td><td>" + newRule1.name + 
newRule1.getExamples(false) + "</td></tr>\n");
-      }
-
-    } // for each new rule
-
-    for (Rule modifiedRule : modifiedRules) {
-      out.write("<tr class=\"modified\"><td>6IMPROVEDRULE</td><td>" + 
modifiedRule.name + modifiedRule.getExamples(true) + "</td></tr>\n");
-    }
-
-    for (Rule oldRule : oldRules) {
-      boolean found = false;
-      for (Rule newRule : newRules) {
-        if (newRule.id.equals(oldRule.id) || 
newRule.name.equals(oldRule.name)) {
-          found = true;
-        }
-      }
-      if (!found) {
-        out.write("<tr class=\"removed\"><td>5REMOVEDRULE</td><td>" + 
oldRule.name + "</td></tr>\n");
-      }
-    }
-    
-    out.close();
-  }
-
-  class Rule implements Comparable<Rule> {
-
-    private final List<String> correct = new ArrayList<String>();
-    private final List<String> incorrect = new ArrayList<String>();
-
-    private String name = "";
-    private String id;
-    
-    int numberOfExamples() {
-      return correct.size() + incorrect.size();
-    }
-    
-    String getExamples(boolean all) {
-      
-      String s = "<div>";
-
-      for (String anIncorrect : incorrect) {
-        s += "<span>7FINDERR</span>" + anIncorrect + "<br/>";
-      }
-      
-      if (all) {
-        for (String aCorrect : correct) {
-          s += "<span>8FINDNOTERR</span>" + aCorrect + "<br/>";
-        }
-      }
-      
-      s = s.substring(0, s.length() - 5) + "</div>";
-          
-      return s;
-      
-    }
-    
-    @Override
-    public int compareTo(Rule r) {
-      return this.name.compareTo(r.name);
-    }
-  }
-
-}
\ No newline at end of file

Added: trunk/JLanguageTool/src/dev/tools/ltdiff/VersionDiffGenerator.java
===================================================================
--- trunk/JLanguageTool/src/dev/tools/ltdiff/VersionDiffGenerator.java          
                (rev 0)
+++ trunk/JLanguageTool/src/dev/tools/ltdiff/VersionDiffGenerator.java  
2012-05-18 21:28:24 UTC (rev 6977)
@@ -0,0 +1,211 @@
+package tools.ltdiff;
+import java.io.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Scanner;
+
+/**
+ * Generates an HTML report of added, deleted and modified rules between 
versions of LanguageTool.
+ * See ltdiff.bash.
+ */
+class VersionDiffGenerator {
+  
+  public static void main(String[] args) throws IOException {
+    final VersionDiffGenerator generator = new VersionDiffGenerator();
+    generator.makeDiff(args[0]);
+  }
+  
+  private void makeDiff(String lang) throws IOException {
+    
+    final List<Rule> oldRules = new ArrayList<Rule>(); // rules in old 
grammar.xml
+    final List<Rule> newRules = new ArrayList<Rule>(); // rules in new 
grammar.xml
+    final List<Rule> modifiedRules = new ArrayList<Rule>();
+    
+    for (int i = 0; i < 2; i++) {
+
+      final List<Rule> rules;
+      if (i == 0) {
+        rules = oldRules;
+      } else {
+        rules = newRules;
+      }
+    
+      final Scanner scanner = new Scanner(new FileReader(i == 0 ? "old" : 
"new"));
+
+      Rule r = new Rule();
+      
+      // loop through all lines
+      while (scanner.hasNextLine()) {
+        String line = scanner.nextLine();
+      
+        if (line.contains("id=\"") && line.contains("rule")) {
+          
+          if (!line.contains("name=\"")) { // merge with the following line if 
the name is there (e.g. sk)
+            line += scanner.nextLine();
+          }
+          
+          if (r.numberOfExamples() > 0) {
+            rules.add(r);
+            r = new Rule();
+          }
+          
+          r.id = line;
+          r.name = line;
+          
+          r.id = r.id.replaceAll(".*id=\"","").replaceAll("\".*","");
+          r.name = r.name.replaceAll(".*name=\"","").replaceAll("\".*","");
+
+          for (Rule rule : rules) { // ensure that the name is unique
+            if (r.name.equals(rule.name)) {
+              r.name += " ";
+            }
+          }
+          
+        } else if (line.contains("type=\"correct\"")) {
+          
+          while (!line.contains("</example>")) { // merge with the following 
line(s) if the example continues there
+            line += scanner.nextLine();
+          }
+          
r.correct.add(line.replaceAll("marker","b").replaceAll(".*<example.*?>","").replaceAll("</example>.*",""));
+          
+        } else if (line.contains("type=\"incorrect\"")) {
+        
+          while (!line.contains("</example>")) {
+            line += scanner.nextLine();
+          }
+          
r.incorrect.add(line.replaceAll("marker","b").replaceAll(".*<example.*?>","").replaceAll("</example>.*",""));
+          
+        }
+        
+      } // while(readLine)
+      
+      scanner.close();
+      
+    }
+      
+    // sort rules by name
+    Collections.sort(oldRules);
+    Collections.sort(newRules);
+    
+    // create html file containing the tr elements
+    
+    final FileWriter fileWriter = new FileWriter("changes_" + lang + ".html");
+    final BufferedWriter out = new BufferedWriter(fileWriter);
+
+    for (Rule newRule1 : newRules) {
+
+      boolean found = false;
+
+      for (int j = 0; j < oldRules.size() && !found; j++) {
+
+        if (newRule1.id.equals(oldRules.get(j).id) || 
newRule1.name.equals(oldRules.get(j).name)) {
+
+          found = true;
+
+          if (newRule1.numberOfExamples() > 
oldRules.get(j).numberOfExamples()) { // if the new rules has more examples, it 
is considered to be improved
+
+            final Rule r = newRule1;
+
+            for (int k = 0; k < r.correct.size(); k++) { // remove examples 
which already exist in old rule
+
+              for (int l = 0; l < oldRules.get(j).correct.size(); l++) {
+
+                if (r.correct.get(k).equals(oldRules.get(j).correct.get(l))) {
+
+                  r.correct.remove(k);
+                  if (k > 0) k--;
+
+                } // if examples equal
+
+              } // for each old correct example
+
+            } // for each new correct example
+
+            for (int k = 0; k < r.incorrect.size(); k++) { // remove examples 
which already exist in old rule
+
+              for (int l = 0; l < oldRules.get(j).incorrect.size(); l++) {
+
+                if 
(r.incorrect.get(k).equals(oldRules.get(j).incorrect.get(l))) {
+
+                  r.incorrect.remove(k);
+                  if (k > 0) k--;
+
+                } // if examples equal
+
+              } // for each old incorrect example
+
+            } // for each new incorrect example
+
+            modifiedRules.add(r);
+
+          } // if new rules has more examples
+
+        } // if new rule is not new
+
+      } // for each old rule
+
+      if (!found) {
+        out.write("<tr class=\"new\"><td>4NEWRULE</td><td>" + newRule1.name + 
newRule1.getExamples(false) + "</td></tr>\n");
+      }
+
+    } // for each new rule
+
+    for (Rule modifiedRule : modifiedRules) {
+      out.write("<tr class=\"modified\"><td>6IMPROVEDRULE</td><td>" + 
modifiedRule.name + modifiedRule.getExamples(true) + "</td></tr>\n");
+    }
+
+    for (Rule oldRule : oldRules) {
+      boolean found = false;
+      for (Rule newRule : newRules) {
+        if (newRule.id.equals(oldRule.id) || 
newRule.name.equals(oldRule.name)) {
+          found = true;
+        }
+      }
+      if (!found) {
+        out.write("<tr class=\"removed\"><td>5REMOVEDRULE</td><td>" + 
oldRule.name + "</td></tr>\n");
+      }
+    }
+    
+    out.close();
+  }
+
+  class Rule implements Comparable<Rule> {
+
+    private final List<String> correct = new ArrayList<String>();
+    private final List<String> incorrect = new ArrayList<String>();
+
+    private String name = "";
+    private String id;
+    
+    int numberOfExamples() {
+      return correct.size() + incorrect.size();
+    }
+    
+    String getExamples(boolean all) {
+      
+      String s = "<div>";
+
+      for (String anIncorrect : incorrect) {
+        s += "<span>7FINDERR</span>" + anIncorrect + "<br/>";
+      }
+      
+      if (all) {
+        for (String aCorrect : correct) {
+          s += "<span>8FINDNOTERR</span>" + aCorrect + "<br/>";
+        }
+      }
+      
+      s = s.substring(0, s.length() - 5) + "</div>";
+          
+      return s;
+      
+    }
+    
+    @Override
+    public int compareTo(Rule r) {
+      return this.name.compareTo(r.name);
+    }
+  }
+
+}
\ No newline at end of file

Modified: 
trunk/JLanguageTool/src/java/org/languagetool/rules/patterns/bitext/FalseFriendsAsBitextLoader.java
===================================================================
--- 
trunk/JLanguageTool/src/java/org/languagetool/rules/patterns/bitext/FalseFriendsAsBitextLoader.java
 2012-05-18 21:09:25 UTC (rev 6976)
+++ 
trunk/JLanguageTool/src/java/org/languagetool/rules/patterns/bitext/FalseFriendsAsBitextLoader.java
 2012-05-18 21:28:24 UTC (rev 6977)
@@ -28,45 +28,47 @@
 
 import org.xml.sax.SAXException;
 
+import org.languagetool.JLanguageTool;
 import org.languagetool.Language;
 import org.languagetool.rules.patterns.FalseFriendRuleLoader;
 import org.languagetool.rules.patterns.PatternRule;
 
 /**
- * Loads the false friend rules as bitext pattern rules. Note that the 
resulting 
+ * Loads the false friend rules as bitext pattern rules. Note that the 
resulting
  * rules have suggestions that are not really customizable, in 
contradistinction
  * to the 'real' bitext pattern rules.
  * 
  * @author Marcin MiƂkowski
- *
+ * 
  */
 public class FalseFriendsAsBitextLoader {
-  
-  public List<BitextPatternRule> getFalseFriendsAsBitext(final String filename,
-      final Language motherTongue, final Language language) throws 
ParserConfigurationException, SAXException, IOException {
-    final FalseFriendRuleLoader ruleLoader = new FalseFriendRuleLoader();
-    List<BitextPatternRule> bRules = new ArrayList<BitextPatternRule>();
-    List<PatternRule> rules1 =  
-    ruleLoader.getRules(this.getClass().getResourceAsStream(filename),
-          motherTongue, language);
-    List<PatternRule> rules2 =  
-      ruleLoader.getRules(this.getClass().getResourceAsStream(filename),
-          language, motherTongue);
-    HashMap<String, PatternRule> srcRules = new HashMap<String, PatternRule>();
-    for (PatternRule rule : rules1) {
-     srcRules.put(rule.getId(), rule);
-    }    
-    for (PatternRule rule : rules2) {
-      if (srcRules.containsKey(rule.getId())) {
-        BitextPatternRule bRule = new BitextPatternRule(
-            srcRules.get(rule.getId()), rule); 
-        bRule.setSourceLang(motherTongue);
-        bRule.setCategory(rule.getCategory());
-        bRules.add(bRule);
-      }
-    }
-  return bRules;
-  }
 
+       public List<BitextPatternRule> getFalseFriendsAsBitext(
+                       final String filename, final Language motherTongue,
+                       final Language language) throws 
ParserConfigurationException,
+                       SAXException, IOException {
+               final FalseFriendRuleLoader ruleLoader = new 
FalseFriendRuleLoader();
+               List<BitextPatternRule> bRules = new 
ArrayList<BitextPatternRule>();
+               List<PatternRule> rules1 = ruleLoader.getRules(JLanguageTool
+                               
.getDataBroker().getFromRulesDirAsStream(filename),
+                               motherTongue, language);
+               List<PatternRule> rules2 = ruleLoader.getRules(JLanguageTool
+                               
.getDataBroker().getFromRulesDirAsStream(filename),
+                               language, motherTongue);
+               HashMap<String, PatternRule> srcRules = new HashMap<String, 
PatternRule>();
+               for (PatternRule rule : rules1) {
+                       srcRules.put(rule.getId(), rule);
+               }
+               for (PatternRule rule : rules2) {
+                       if (srcRules.containsKey(rule.getId())) {
+                               BitextPatternRule bRule = new BitextPatternRule(
+                                               srcRules.get(rule.getId()), 
rule);
+                               bRule.setSourceLang(motherTongue);
+                               bRule.setCategory(rule.getCategory());
+                               bRules.add(bRule);
+                       }
+               }
+               return bRules;
+       }
+
 }
-

Modified: trunk/JLanguageTool/src/java/org/languagetool/tools/Tools.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/tools/Tools.java      
2012-05-18 21:09:25 UTC (rev 6976)
+++ trunk/JLanguageTool/src/java/org/languagetool/tools/Tools.java      
2012-05-18 21:28:24 UTC (rev 6977)
@@ -353,8 +353,7 @@
     final FalseFriendsAsBitextLoader fRuleLoader = new 
FalseFriendsAsBitextLoader();
     final String fName = "/false-friends.xml";
     bRules.addAll(fRuleLoader.
-    getFalseFriendsAsBitext(        
-        JLanguageTool.getDataBroker().getRulesDir() + fName,
+    getFalseFriendsAsBitext(fName,
         source, target));    
 
     //load Java bitext rules

Modified: 
trunk/JLanguageTool/src/test/org/languagetool/rules/bitext/FalseFriendsAsBitextLoaderTest.java
===================================================================
--- 
trunk/JLanguageTool/src/test/org/languagetool/rules/bitext/FalseFriendsAsBitextLoaderTest.java
      2012-05-18 21:09:25 UTC (rev 6976)
+++ 
trunk/JLanguageTool/src/test/org/languagetool/rules/bitext/FalseFriendsAsBitextLoaderTest.java
      2012-05-18 21:28:24 UTC (rev 6977)
@@ -49,7 +49,7 @@
     final String name = "/false-friends.xml";
     final List<BitextPatternRule> rules = ruleLoader.
     getFalseFriendsAsBitext(        
-        JLanguageTool.getDataBroker().getRulesDir() + name,         
+        name,
         Language.ENGLISH, Language.POLISH);    
     
     assertErrors(1, rules, "This is an absurd.", "To absurd.", langTool, 
trgTool);       

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs

Reply via email to