[jboss-svn-commits] JBL Code SVN: r8588 - in labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools: compiler lang/descr

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Dec 23 17:50:34 EST 2006


Author: KrisVerlaenen
Date: 2006-12-23 17:50:32 -0500 (Sat, 23 Dec 2006)
New Revision: 8588

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FunctionDescr.java
Log:
JBRULES-342: interactive rule debugger
 - added support for debugging functions

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2006-12-23 21:04:48 UTC (rev 8587)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2006-12-23 22:50:32 UTC (rev 8588)
@@ -43,11 +43,11 @@
 import org.drools.facttemplates.FactTemplateImpl;
 import org.drools.facttemplates.FieldTemplate;
 import org.drools.facttemplates.FieldTemplateImpl;
+import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.FactTemplateDescr;
 import org.drools.lang.descr.FieldTemplateDescr;
 import org.drools.lang.descr.FunctionDescr;
 import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.rule.LineMappings;
 import org.drools.rule.Package;
@@ -311,10 +311,14 @@
     }
 
     private void addFunction(final FunctionDescr functionDescr) {
+    	
+    	String functionClassName = this.pkg.getName() + "." + ucFirst( functionDescr.getName() );
+    	functionDescr.setClassName(functionClassName);
+    	
         final FunctionBuilder builder = new FunctionBuilder();
         this.pkg.addFunction( functionDescr.getName() );
 
-        addClassCompileTask( this.pkg.getName() + "." + ucFirst( functionDescr.getName() ),
+        addClassCompileTask( functionClassName,
                              functionDescr,
                              builder.build( this.pkg,
                                             functionDescr,                                            
@@ -325,6 +329,11 @@
                              new FunctionErrorHandler( functionDescr,
                                                        "Function Compilation error" ) );
 
+        LineMappings mapping = new LineMappings( functionClassName );
+        mapping.setStartLine( functionDescr.getLine() );
+        mapping.setOffset( functionDescr.getOffset() );
+        this.lineMappings.put( functionClassName,
+                               mapping );
     }
 
     private void addFactTemplate(final FactTemplateDescr factTemplateDescr) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FunctionDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FunctionDescr.java	2006-12-23 21:04:48 UTC (rev 8587)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FunctionDescr.java	2006-12-23 22:50:32 UTC (rev 8588)
@@ -33,6 +33,8 @@
     
     private int      offset;
 
+    private String   className;
+
     public FunctionDescr(final String name,
                          final String returnType) {
         this.name = name;
@@ -43,6 +45,14 @@
         return this.name;
     }
 
+    public String getClassName() {
+        return this.className;
+    }
+
+    public void setClassName(final String className) {
+        this.className = className;
+    }
+
     public List getParameterNames() {
         return this.parameterNames;
     }




More information about the jboss-svn-commits mailing list