[jboss-svn-commits] JBL Code SVN: r26211 - labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/debug/core.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Apr 22 11:39:58 EDT 2009
Author: KrisVerlaenen
Date: 2009-04-22 11:39:57 -0400 (Wed, 22 Apr 2009)
New Revision: 26211
Modified:
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
Log:
JBRULES-2071: MVEL debug not working anymore
- updated methods to retrieve source file and line number due to changes in MVEL
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java 2009-04-22 15:24:01 UTC (rev 26210)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java 2009-04-22 15:39:57 UTC (rev 26211)
@@ -365,6 +365,8 @@
evaluating = true;
try {
+
+ // Drools 4
try {
Object o = getRemoteVar( "lineNumber" );
if ( o == null ) {
@@ -374,9 +376,35 @@
int realval = val.value();
cacheBreakpointLineNumber = realval;
return realval;
- } catch ( Throwable e ) {
- DroolsEclipsePlugin.log( e );
+ } catch ( NullPointerException e ) {
+ // Drools 5+
+ } catch (Throwable e) {
+ DroolsEclipsePlugin.log( e );
}
+
+ // Drools 5
+ try {
+ Object o = getRemoteVar( "label" );
+ if ( o == null ) {
+ return -1;
+ }
+ ObjectReference obj = (ObjectReference) o;
+ ClassType frameType = (ClassType) obj.type();
+ Field field = frameType.fieldByName( "lineNumber" );
+ o = obj.getValue( field );
+ if ( o == null ) {
+ return -1;
+ }
+ IntegerValue val = (IntegerValue) o;
+ int realval = val.value();
+ cacheBreakpointLineNumber = realval;
+ return realval;
+ } catch ( NullPointerException e ) {
+ // Drools 5+
+ } catch (Throwable e) {
+ DroolsEclipsePlugin.log( e );
+ }
+
return -1;
} finally {
evaluating = false;
@@ -396,6 +424,8 @@
evaluating = true;
try {
+
+ // Drools 4
try {
Object rem = getRemoteVar( "sourceName" );
if ( rem == null ) {
@@ -405,9 +435,32 @@
String realres = res.value();
cacheMVELName = realres;
return realres;
+ } catch ( NullPointerException e) {
+ // Drools 5
} catch ( Throwable e ) {
DroolsEclipsePlugin.log( e );
}
+
+ // Drools 5
+ try {
+ Object rem = getRemoteVar( "label" );
+ if ( rem == null ) {
+ return null;
+ }
+ ObjectReference obj = (ObjectReference) rem;
+ ClassType frameType = (ClassType) obj.type();
+ Field field = frameType.fieldByName( "sourceFile" );
+ rem = obj.getValue( field );
+ if ( rem == null ) {
+ return null;
+ }
+ StringReference res = (StringReference) rem;
+ String realres = res.value();
+ cacheMVELName = realres;
+ return realres;
+ } catch ( Throwable e ) {
+ DroolsEclipsePlugin.log( e );
+ }
return "Unavailable";
} finally {
More information about the jboss-svn-commits
mailing list