Revision: 9734
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=9734&view=rev
Author:   dnaber
Date:     2013-03-19 21:35:17 +0000 (Tue, 19 Mar 2013)
Log Message:
-----------
no need anymore to set 'id' and 'name' attributes in online rule editor (expert 
mode)

Modified Paths:
--------------
    
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRuleHandler.java
    
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRuleLoader.java
    
trunk/ltcommunity/grails-app/controllers/org/languagetool/RuleEditorController.groovy

Modified: 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRuleHandler.java
===================================================================
--- 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRuleHandler.java
  2013-03-19 21:08:37 UTC (rev 9733)
+++ 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRuleHandler.java
  2013-03-19 21:35:17 UTC (rev 9734)
@@ -47,7 +47,18 @@
   private int startPos = -1;
   private int endPos = -1;
   private int tokenCountForMarker = 0;
+  
+  private boolean relaxedMode = false;
 
+  /**
+   * If set to true, don't throw an exception if id or name is not set.
+   * Used for online rule editor.
+   * @since 2.1
+   */
+  void setRelaxedMode(boolean relaxedMode) {
+    this.relaxedMode = relaxedMode;
+  }
+
   // ===========================================================
   // SAX DocumentHandler methods
   // ===========================================================
@@ -201,6 +212,12 @@
     } else if (RULE.equals(qName)) {
       suggestionMatchesOutMsg = 
addLegacyMatches(suggestionMatchesOutMsg,suggestionsOutMsg.toString(),false);
       phraseElementInit();
+      if (relaxedMode && id == null) {
+        id = "";
+      }
+      if (relaxedMode && name == null) {
+        name = "";
+      }
       if (phraseElementList.isEmpty()) {
         final PatternRule rule = new PatternRule(id, language, elementList,
                 name, message.toString(), shortMessage.toString(), 
suggestionsOutMsg.toString());

Modified: 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRuleLoader.java
===================================================================
--- 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRuleLoader.java
   2013-03-19 21:08:37 UTC (rev 9733)
+++ 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/patterns/PatternRuleLoader.java
   2013-03-19 21:35:17 UTC (rev 9734)
@@ -36,6 +36,8 @@
  */
 public class PatternRuleLoader extends DefaultHandler {
 
+  private boolean relaxedMode = false;
+
   /**
    * @param file XML file with pattern rules
    */
@@ -50,12 +52,22 @@
   }
 
   /**
+   * If set to true, don't throw an exception if id or name is not set.
+   * Used for online rule editor.
+   * @since 2.1
+   */
+  public void setRelaxedMode(boolean relaxedMode) {
+    this.relaxedMode = relaxedMode;
+  }
+
+  /**
    * @param is stream with the XML rules
    * @param filename used only for verbose exception message - should refer to 
where the stream comes from
    */
   public final List<PatternRule> getRules(final InputStream is, final String 
filename) throws IOException {
     try {
       final PatternRuleHandler handler = new PatternRuleHandler();
+      handler.setRelaxedMode(relaxedMode);
       final SAXParserFactory factory = SAXParserFactory.newInstance();
       final SAXParser saxParser = factory.newSAXParser();
       
saxParser.getXMLReader().setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd";,
 false);

Modified: 
trunk/ltcommunity/grails-app/controllers/org/languagetool/RuleEditorController.groovy
===================================================================
--- 
trunk/ltcommunity/grails-app/controllers/org/languagetool/RuleEditorController.groovy
       2013-03-19 21:08:37 UTC (rev 9733)
+++ 
trunk/ltcommunity/grails-app/controllers/org/languagetool/RuleEditorController.groovy
       2013-03-19 21:35:17 UTC (rev 9734)
@@ -102,6 +102,7 @@
     def checkXml = {
         Language language = getLanguage()
         PatternRuleLoader loader = new PatternRuleLoader()
+        loader.setRelaxedMode(true)
         String xml = "<rules lang=\"" + language.getShortName() + 
"\"><category name=\"fakeCategory\">" + params.xml + "</category></rules>"
         if (xml.trim().isEmpty()) {
             render(template: 'checkXmlProblem', model: [error: "No XML found"])

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


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Languagetool-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-commits

Reply via email to