[jboss-svn-commits] JBL Code SVN: r22322 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/lang and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 2 09:32:08 EDT 2008


Author: porcelli
Date: 2008-09-02 09:32:08 -0400 (Tue, 02 Sep 2008)
New Revision: 22322

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/DRLIncompleteCodeTest.java
Log:
JBRULES-1689: in editor mode the DrlParser will return the Descrs from TreeWalker, even when an error occur. This will help editor to get partial data (even with malformed ASTs).

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java	2008-09-02 13:24:15 UTC (rev 22321)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DrlParser.java	2008-09-02 13:32:08 UTC (rev 22322)
@@ -50,6 +50,7 @@
 	private final List results = new ArrayList();
 	private List<DroolsSentence> editorSentences = null;
 	private Location location = new Location(Location.LOCATION_UNKNOWN);
+	DescrBuilderTree walker = null;
 
 	public DrlParser() {
 	}
@@ -206,7 +207,7 @@
 			}
 		} catch (Exception e) {
 			if (isEditor) {
-				return null;
+				return walker.getPackageDescr();
 			} else {
 				throw new DroolsParserException(
 						"Unknown error while parsing. This is a bug. Please contact the Development team.",
@@ -221,7 +222,7 @@
 		// AST nodes have payload that point into token stream
 		nodes.setTokenStream(tokenStream);
 		// Create a tree walker attached to the nodes stream
-		DescrBuilderTree walker = new DescrBuilderTree(nodes);
+		walker = new DescrBuilderTree(nodes);
 		walker.compilation_unit();
 		return walker.getPackageDescr();
 	}

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/DRLIncompleteCodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/DRLIncompleteCodeTest.java	2008-09-02 13:24:15 UTC (rev 22321)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/DRLIncompleteCodeTest.java	2008-09-02 13:32:08 UTC (rev 22322)
@@ -180,7 +180,11 @@
 			"end ";
 		DrlParser parser = new DrlParser();
 		PackageDescr descr = parser.parse(true, input);
-		assertNull(descr);
+		assertNotNull(descr);
+
+		assertEquals("a.b.c", descr.getNamespace());
+		assertEquals("a.b.c.*", ((ImportDescr) descr.getImports().get(0))
+				.getTarget());
 	}
 	
 	@SuppressWarnings("unchecked")




More information about the jboss-svn-commits mailing list