[jboss-svn-commits] JBL Code SVN: r25119 - in labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook: images/Chapter-Rule_Language and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Feb 5 09:58:17 EST 2009
Author: porcelli
Date: 2009-02-05 09:58:17 -0500 (Thu, 05 Feb 2009)
New Revision: 25119
Added:
labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-ErrorMessages.xml
labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Keywords.xml
labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/error_message.png
Modified:
labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml
labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml
Log:
updates on docs: changed the keywords section and added the Error Messages section.
Modified: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml 2009-02-05 14:52:21 UTC (rev 25118)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml 2009-02-05 14:58:17 UTC (rev 25119)
@@ -9,9 +9,13 @@
<title>The Rule Language</title>
<xi:include href="Section-Overview.xml" />
+
+ <xi:include href="Section-Keywords.xml" />
<xi:include href="Section-Comments.xml" />
+ <xi:include href="Section-ErrorMessages.xml" />
+
<xi:include href="Section-Package.xml" />
<xi:include href="Section-Function.xml" />
Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-ErrorMessages.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-ErrorMessages.xml (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-ErrorMessages.xml 2009-02-05 14:58:17 UTC (rev 25119)
@@ -0,0 +1,325 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xml:base="../../" xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:m="http://www.w3.org/1998/Math/MathML"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:db="http://docbook.org/ns/docbook">
+ <title>Error Messages</title>
+
+ <note>
+ <para><replaceable>(updated to Drools 5.0)</replaceable></para>
+ </note>
+
+ <para>Drools 5 introduces standardized error messages. This standardization
+ aims to help users to find and resolve problems in a easier and faster way.
+ In this section you will learn how to identify and interpret those error
+ messages as well some tips on how to solve the problems associated with
+ them.</para>
+
+ <section>
+ <title>Message format</title>
+
+ <para>The standardization includes the error message format and to better
+ explain this format, let's use the following example:</para>
+
+ <figure>
+ <title>Error Message Format</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center"
+ fileref="images/Chapter-Rule_Language/error_message.png"
+ format="PNG"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para><emphasis role="bold">1st Block:</emphasis> This area identifies the
+ error code.</para>
+
+ <para><emphasis role="bold">2nd Block:</emphasis> Line:column
+ information.</para>
+
+ <para><emphasis role="bold">3rd Block:</emphasis> Some text describing the
+ problem.</para>
+
+ <para><emphasis role="bold">4th Block:</emphasis> This is the first
+ context. Usually indicates the rule, function, template or query where the
+ error occurred. This block is not mandatory.</para>
+
+ <para><emphasis role="bold">5th Block:</emphasis> Identifies the pattern
+ where the error occurred. This block is not mandatory.</para>
+ </section>
+
+ <section>
+ <title>Error Messages Description</title>
+
+ <section>
+ <title>101: No viable alternative</title>
+
+ <para>Most common kind of error, means that the parser came to a
+ decision point but it couldn't identify an alternative. Here as some
+ examples:</para>
+
+ <example>
+ <programlisting>1: rule one
+2: when
+3: exists Foo()
+4: <emphasis role="bold">exits</emphasis> Bar()
+5: then
+6: end
+</programlisting>
+ </example>
+
+ <para>The above example generates this message:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>[ERR 101] Line 4:4 no viable alternative at input 'exits' in
+ rule one</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>At first moment seems to be a valid syntax, but it is not (exits
+ != exists). Let's take a look at next example:</para>
+
+ <example>
+ <programlisting>1: package org.drools;
+2: rule
+3: when
+4: Object()
+5: then
+6: System.out.println("A RHS");
+7: end
+</programlisting>
+ </example>
+
+ <para>Now the above code generates this message:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>[ERR 101] Line 3:2 no viable alternative at input
+ 'WHEN'</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>This message means that the parser could identify the <emphasis
+ role="bold">WHEN</emphasis> hard keyword, but it is not an option here.
+ In this case, it is missing the rule name.</para>
+
+ <para>No viable alternative error occurs also when you have lexical
+ problems. Here is a sample of lexical problem:</para>
+
+ <example>
+ <programlisting>1: rule simple_rule
+2: when
+3: Student( name == "Andy )
+4: then
+5: end
+</programlisting>
+ </example>
+
+ <para>The above code misses to close the quotes and because of this the
+ parser generates this error message:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>[ERR 101] Line 0:-1 no viable alternative at input
+ '<eof>' in rule simple_rule in pattern Student</para>
+ </listitem>
+ </itemizedlist>
+
+ <tip>
+ <para>Usually the Line and Column information are accurate, but in
+ some cases (like unclosed quotes), the parser generates a 0:-1
+ position. In this case you should check if you didn't forget to close
+ quotes nor brackets.</para>
+ </tip>
+ </section>
+
+ <section>
+ <title>102: Mismatched input</title>
+
+ <para>Indicates that the parser was looking for a particular symbol that
+ it didn’t find at the current input position. Here are some
+ samples:</para>
+
+ <example>
+ <programlisting>1: rule simple_rule
+2: when
+3: foo3 : Bar(
+</programlisting>
+ </example>
+
+ <para>The above example generates this message:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>[ERR 102] Line 0:-1 mismatched input '<eof>' expecting
+ ')' in rule simple_rule in pattern Bar</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>To fix this problem, it is necessary to complete the rule
+ statement.</para>
+
+ <tip>
+ <para>Usually when you get a 0:-1 position, it means that parser
+ reached the end of source.</para>
+ </tip>
+
+ <para>The following code generates more than one error messages:</para>
+
+ <example>
+ <programlisting>1: package org.drools;
+2:
+3: rule "Avoid NPE on wrong syntax"
+4: when
+5: not( Cheese( ( type == "stilton", price == 10 ) || ( type == "brie", price == 15 ) ) from $cheeseList )
+6: then
+7: System.out.println("OK");
+8: end
+</programlisting>
+ </example>
+
+ <para>These are the errors associated with this source:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>[ERR 102] Line 5:36 mismatched input ',' expecting ')' in rule
+ "Avoid NPE on wrong syntax" in pattern Cheese</para>
+ </listitem>
+
+ <listitem>
+ <para>[ERR 101] Line 5:57 no viable alternative at input 'type' in
+ rule "Avoid NPE on wrong syntax"</para>
+ </listitem>
+
+ <listitem>
+ <para>[ERR 102] Line 5:106 mismatched input ')' expecting 'then' in
+ rule "Avoid NPE on wrong syntax"</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Note that the second problem is related to the first. To fix it,
+ just replace the commas (",") by AND operator ("&&").</para>
+
+ <tip>
+ <para>Some situations you can get more than one error message. Try to
+ fix one by one, starting at the first one. Some error messages are
+ generated as consequences of others.</para>
+ </tip>
+ </section>
+
+ <section>
+ <title>103: Failed predicate</title>
+
+ <para>A validating semantic predicates evaluated to false. Usually this
+ semantic predicates are used to identify soft keywords. This sample
+ shows exactly this situation:</para>
+
+ <example>
+ <programlisting> 1: package nesting;
+ 2: dialect "mvel"
+ 3:
+ 4: import org.drools.Person
+ 5: import org.drools.Address
+ 6:
+ 7: <emphasis role="bold">fdsfdsfds</emphasis>
+ 8:
+ 9: rule "test something"
+10: when
+11: p: Person( name=="Michael" )
+12: then
+13: p.name = "other";
+14: System.out.println(p.name);
+15: end
+</programlisting>
+ </example>
+
+ <para>With this sample, we get this error message:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>[ERR 103] Line 7:0 rule 'rule_key' failed predicate:
+ {(validateIdentifierKey(DroolsSoftKeywords.RULE))}? in rule</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The <emphasis role="bold">fdsfdsfds</emphasis> text is invalid and
+ the parser couldn’t identify it as the RULE soft keyword.</para>
+
+ <tip>
+ <para>This error is very similar to 102: Mismatched input but usually
+ involve soft keywords.</para>
+ </tip>
+ </section>
+
+ <section>
+ <title>104: Trailing semi-colon not allowed</title>
+
+ <para>This error is associated with EVAL clause (at EVAL expression you
+ cannot use a semi-colon). Check this sample:</para>
+
+ <example>
+ <programlisting>1: rule simple_rule
+2: when
+3: eval(abc();)
+4: then
+5: end
+</programlisting>
+ </example>
+
+ <para>Due its trailling semi-colon at eval, we get this error
+ message:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>[ERR 104] Line 3:4 trailing semi-colon not allowed in rule
+ simple_rule</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>This is the simpler problem to fix: just remove the
+ semi-colon.</para>
+ </section>
+
+ <section>
+ <title>105: Early Exit</title>
+
+ <para>The recognizer came to a (..)+ EBNF subrule that must match an
+ alternative at least once, but the subrule did not match anything. To
+ simplify: the parser followed a path that there is no way out. This
+ example tries to illustrates it:</para>
+
+ <example>
+ <programlisting>1: template test_error
+2: aa s 11;
+3: end
+</programlisting>
+ </example>
+
+ <para>This is the message associated to the above sample:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>[ERR 105] Line 2:2 required (...)+ loop did not match anything
+ at input 'aa' in template test_error</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>To fix this problem it is necessary to remove the numeric value
+ (as it is not a valid sentence nor a valid data type to begin a new
+ slot).</para>
+ </section>
+ </section>
+
+ <section>
+ <title>Other Messages</title>
+
+ <para>If you get any other message, means that something bad happened, so
+ please contact the development team.</para>
+ </section>
+</section>
Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-ErrorMessages.xml
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Keywords.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Keywords.xml (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Keywords.xml 2009-02-05 14:58:17 UTC (rev 25119)
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xml:base="../../" xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:m="http://www.w3.org/1998/Math/MathML"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:db="http://docbook.org/ns/docbook">
+ <note>
+ <para>
+ <replaceable>(updated to Drools 5.0)</replaceable>
+ </para>
+ </note>
+
+ <title>Keywords</title>
+
+ <para>Drools 5 introduces the concept of Hard and Soft keywords.</para>
+
+ <para>Hard keywords are reserved, you cannot use any hard keyword when
+ naming your domain objects, properties, methods, functions and other
+ elements that are used in the rule text.</para>
+
+ <para>Here is a list of hard keywords that must be avoided as identifiers
+ when writing rules:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>true</para>
+ </listitem>
+
+ <listitem>
+ <para>false</para>
+ </listitem>
+
+ <listitem>
+ <para>accumulate</para>
+ </listitem>
+
+ <listitem>
+ <para>collect</para>
+ </listitem>
+
+ <listitem>
+ <para>from</para>
+ </listitem>
+
+ <listitem>
+ <para>null</para>
+ </listitem>
+
+ <listitem>
+ <para>over</para>
+ </listitem>
+
+ <listitem>
+ <para>then</para>
+ </listitem>
+
+ <listitem>
+ <para>when</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Soft keywords are just recognized in their context, enabling you to
+ use this words in any other place you wish. Here is a list of soft
+ keywords:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>lock-on-active</para>
+ </listitem>
+
+ <listitem>
+ <para>date-effective</para>
+ </listitem>
+
+ <listitem>
+ <para>date-expires</para>
+ </listitem>
+
+ <listitem>
+ <para>no-loop</para>
+ </listitem>
+
+ <listitem>
+ <para>auto-focus</para>
+ </listitem>
+
+ <listitem>
+ <para>activation-group</para>
+ </listitem>
+
+ <listitem>
+ <para>agenda-group</para>
+ </listitem>
+
+ <listitem>
+ <para>ruleflow-group</para>
+ </listitem>
+
+ <listitem>
+ <para>entry-point</para>
+ </listitem>
+
+ <listitem>
+ <para>duration</para>
+ </listitem>
+
+ <listitem>
+ <para>package</para>
+ </listitem>
+
+ <listitem>
+ <para>import</para>
+ </listitem>
+
+ <listitem>
+ <para>dialect</para>
+ </listitem>
+
+ <listitem>
+ <para>salience</para>
+ </listitem>
+
+ <listitem>
+ <para>enabled</para>
+ </listitem>
+
+ <listitem>
+ <para>attributes</para>
+ </listitem>
+
+ <listitem>
+ <para>rule</para>
+ </listitem>
+
+ <listitem>
+ <para>extend</para>
+ </listitem>
+
+ <listitem>
+ <para>template</para>
+ </listitem>
+
+ <listitem>
+ <para>query</para>
+ </listitem>
+
+ <listitem>
+ <para>declare</para>
+ </listitem>
+
+ <listitem>
+ <para>function</para>
+ </listitem>
+
+ <listitem>
+ <para>global</para>
+ </listitem>
+
+ <listitem>
+ <para>eval</para>
+ </listitem>
+
+ <listitem>
+ <para>not</para>
+ </listitem>
+
+ <listitem>
+ <para>in</para>
+ </listitem>
+
+ <listitem>
+ <para>or</para>
+ </listitem>
+
+ <listitem>
+ <para>and</para>
+ </listitem>
+
+ <listitem>
+ <para>exists</para>
+ </listitem>
+
+ <listitem>
+ <para>forall</para>
+ </listitem>
+
+ <listitem>
+ <para>action</para>
+ </listitem>
+
+ <listitem>
+ <para>reverse</para>
+ </listitem>
+
+ <listitem>
+ <para>result</para>
+ </listitem>
+
+ <listitem>
+ <para>end</para>
+ </listitem>
+
+ <listitem>
+ <para>init</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Of course, you can have these (hard and soft) words as part of a
+ method name in camel case, like notSomething() or accumulateSomething() -
+ there are no issues with that scenario.</para>
+
+ <para>Another improvement on DRL language is the ability to escape hard
+ keywords on rule text. This new feature enables you to use your existing
+ domain objects without worring about keyword collision. To escape a word,
+ simple type it between a grave accent, like this:</para>
+
+ <programlisting>Holiday( `when` == "july" )</programlisting>
+
+ <para>The escape should be used everywehere in rule text, except at code
+ expressions in the LHS or RHS code block. Here are examples of
+ usage:</para>
+
+ <programlisting>rule "validate holiday by eval"
+dialect "mvel"
+when
+ h1 : Holiday( )
+ eval( h1.when == "july" )
+then
+ System.out.println(h1.name + ":" + h1.when);
+end
+</programlisting>
+
+ <programlisting>rule "validate holiday"
+dialect "mvel"
+when
+ h1 : Holiday( `when` == "july" )
+then
+ System.out.println(h1.name + ":" + h1.when);
+end
+</programlisting>
+</section>
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Keywords.xml
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml 2009-02-05 14:52:21 UTC (rev 25118)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml 2009-02-05 14:58:17 UTC (rev 25119)
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
- <section version="5.0" xmlns="http://docbook.org/ns/docbook"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:xi="http://www.w3.org/2001/XInclude"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:m="http://www.w3.org/1998/Math/MathML"
- xmlns:html="http://www.w3.org/1999/xhtml"
- xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+<section version="5.0" xml:base="../../" xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:m="http://www.w3.org/1998/Math/MathML"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:db="http://docbook.org/ns/docbook">
<title>Overview</title>
<note>
@@ -84,201 +84,4 @@
processed before the following line (and spaces may be significant to the
domain language).</para>
</section>
-
- <section>
- <title>Reserved words</title>
-
- <para>There are some reserved keywords that are used in the rule language.
- It is wise to avoid collisions with these words when naming your domain
- objects, properties, methods, functions and other elements that are used
- in the rule text. The parser is a bit smart and sometimes knows when a
- keyword is not being used as a keyword, but avoiding the use of them might
- prevent some headaches.</para>
-
- <para>The following is a list of keywords that must be avoided as
- identifiers when writing rules:</para>
-
- <itemizedlist>
- <listitem>
- <para>rule</para>
- </listitem>
-
- <listitem>
- <para>query</para>
- </listitem>
-
- <listitem>
- <para>when</para>
- </listitem>
-
- <listitem>
- <para>then</para>
- </listitem>
-
- <listitem>
- <para>end</para>
- </listitem>
-
- <listitem>
- <para>null</para>
- </listitem>
-
- <listitem>
- <para>and</para>
- </listitem>
-
- <listitem>
- <para>or</para>
- </listitem>
-
- <listitem>
- <para>not</para>
- </listitem>
-
- <listitem>
- <para>exists</para>
- </listitem>
-
- <listitem>
- <para>collect</para>
- </listitem>
-
- <listitem>
- <para>accumulate</para>
- </listitem>
-
- <listitem>
- <para>from</para>
- </listitem>
-
- <listitem>
- <para>forall</para>
- </listitem>
-
- <listitem>
- <para>true</para>
- </listitem>
-
- <listitem>
- <para>false</para>
- </listitem>
-
- <listitem>
- <para>eval</para>
- </listitem>
- </itemizedlist>
-
- <para>The following list are keywords that you should try and avoid in the
- rule contents if possible, but the parser usually will work fine, even if
- you use them for something else.</para>
-
- <itemizedlist>
- <listitem>
- <para>package</para>
- </listitem>
-
- <listitem>
- <para>function</para>
- </listitem>
-
- <listitem>
- <para>global</para>
- </listitem>
-
- <listitem>
- <para>import</para>
- </listitem>
-
- <listitem>
- <para>template</para>
- </listitem>
-
- <listitem>
- <para>attributes</para>
- </listitem>
-
- <listitem>
- <para>enabled</para>
- </listitem>
-
- <listitem>
- <para>salience</para>
- </listitem>
-
- <listitem>
- <para>duration</para>
- </listitem>
-
- <listitem>
- <para>init</para>
- </listitem>
-
- <listitem>
- <para>action</para>
- </listitem>
-
- <listitem>
- <para>reverse</para>
- </listitem>
-
- <listitem>
- <para>result</para>
- </listitem>
-
- <listitem>
- <para>contains</para>
- </listitem>
-
- <listitem>
- <para>excludes</para>
- </listitem>
-
- <listitem>
- <para>memberOf</para>
- </listitem>
-
- <listitem>
- <para>matches</para>
- </listitem>
-
- <listitem>
- <para>in</para>
- </listitem>
-
- <listitem>
- <para>date-effective</para>
- </listitem>
-
- <listitem>
- <para>date-expires</para>
- </listitem>
-
- <listitem>
- <para>no-loop</para>
- </listitem>
-
- <listitem>
- <para>auto-focus</para>
- </listitem>
-
- <listitem>
- <para>activation-group</para>
- </listitem>
-
- <listitem>
- <para>agenda-group</para>
- </listitem>
-
- <listitem>
- <para>dialect</para>
- </listitem>
-
- <listitem>
- <para>rule-flow-group</para>
- </listitem>
- </itemizedlist>
-
- <para>Of course, you can have words as part of a method name in camel
- case, like notSomething() - there are no issues with that scenario.</para>
- </section>
</section>
Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/error_message.png
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/error_message.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the jboss-svn-commits
mailing list