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