Revision: 9869
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=9869&view=rev
Author:   jaumeortola
Date:     2013-04-04 08:49:13 +0000 (Thu, 04 Apr 2013)
Log Message:
-----------
[server] Allow to enable and disable rules, at the same time, and keeping 
enabled rules by default, in the LT server via http query. 

Modified Paths:
--------------
    
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tools/Tools.java
    
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/LanguageToolHttpHandler.java
    
trunk/languagetool/languagetool-server/src/test/java/org/languagetool/server/HTTPServerTest.java

Modified: 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tools/Tools.java
===================================================================
--- 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tools/Tools.java
        2013-04-03 15:49:21 UTC (rev 9868)
+++ 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tools/Tools.java
        2013-04-04 08:49:13 UTC (rev 9869)
@@ -578,20 +578,27 @@
    * @param enabledRules ids of the rules to be enabled
    */
   public static void selectRules(final JLanguageTool lt, final String[] 
disabledRules, final String[] enabledRules) {
+    selectRules (lt, disabledRules, enabledRules, false);
+  }
+  
+  public static void selectRules(final JLanguageTool lt, final String[] 
disabledRules, final String[] enabledRules, boolean keepEnabledRulesByDefault) {
     // disable rules that are disabled explicitly:
     for (final String disabledRule : disabledRules) {
       lt.disableRule(disabledRule);
     }
-    // disable all rules except those enabled explicitly, if any:
+    // enable rules
     if (enabledRules.length > 0) {
       final Set<String> enabledRuleIDs = new 
HashSet<String>(Arrays.asList(enabledRules));
       for (String ruleName : enabledRuleIDs) {
         lt.enableDefaultOffRule(ruleName);
         lt.enableRule(ruleName);
       }
-      for (Rule rule : lt.getAllRules()) {
-        if (!enabledRuleIDs.contains(rule.getId())) {
-          lt.disableRule(rule.getId());
+      // disable all rules except those enabled explicitly, if any:
+      if (!keepEnabledRulesByDefault) {
+        for (Rule rule : lt.getAllRules()) {
+          if (!enabledRuleIDs.contains(rule.getId())) {
+            lt.disableRule(rule.getId());
+          }
         }
       }
     }

Modified: 
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/LanguageToolHttpHandler.java
===================================================================
--- 
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/LanguageToolHttpHandler.java
   2013-04-03 15:49:21 UTC (rev 9868)
+++ 
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/LanguageToolHttpHandler.java
   2013-04-04 08:49:13 UTC (rev 9869)
@@ -278,7 +278,7 @@
       configureGUI(newLanguageTool);
     }
     if (useQuerySettings) {
-      Tools.selectRules(newLanguageTool, disabledRules, enabledRules);
+      Tools.selectRules(newLanguageTool, disabledRules, enabledRules, true);
     }
     return newLanguageTool;
   }

Modified: 
trunk/languagetool/languagetool-server/src/test/java/org/languagetool/server/HTTPServerTest.java
===================================================================
--- 
trunk/languagetool/languagetool-server/src/test/java/org/languagetool/server/HTTPServerTest.java
    2013-04-03 15:49:21 UTC (rev 9868)
+++ 
trunk/languagetool/languagetool-server/src/test/java/org/languagetool/server/HTTPServerTest.java
    2013-04-04 08:49:13 UTC (rev 9869)
@@ -128,8 +128,8 @@
     //enabling
     assertTrue(checkWithOptions(
             english, german, "This is an test", disableAvsAn, 
nothing).contains("an test"));
-    //should also mean disabling all other rules...
-    assertTrue(!checkWithOptions(
+    //should also mean _NOT_ disabling all other rules...
+    assertTrue(checkWithOptions(
             english, german, "We will berate you", disableAvsAn, 
nothing).contains("BERATE"));
     
     //test if two rules get enabled as well

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


------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Languagetool-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-commits

Reply via email to