[jboss-svn-commits] JBL Code SVN: r13676 - labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jul 20 11:18:38 EDT 2007
Author: ahtik
Date: 2007-07-20 11:18:38 -0400 (Fri, 20 Jul 2007)
New Revision: 13676
Modified:
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
Log:
Fix for java dialect line numbering for debugger line breakpoints; Fix for handling debugger stackframes with KnownVariables that are not found in VariableResolvers (possibly bug but for now logs this error and continues silently)
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java 2007-07-20 15:12:33 UTC (rev 13675)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java 2007-07-20 15:18:38 UTC (rev 13676)
@@ -7,6 +7,7 @@
import org.drools.eclipse.DroolsEclipsePlugin;
import org.drools.eclipse.DRLInfo.FunctionInfo;
import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
@@ -111,7 +112,10 @@
int line = ruleInfo.getConsequenceJavaLineNumber()
+ (lineNumber - ruleInfo.getConsequenceDrlLineNumber());
- return line;
+ if (ruleInfo.getDialect().getId().equals( MVELDialect.ID )) {
+ return line;
+ }
+ return line+1;
}
}
FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java 2007-07-20 15:12:33 UTC (rev 13675)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java 2007-07-20 15:18:38 UTC (rev 13676)
@@ -95,18 +95,25 @@
Iterator varIter = arr.getValues().iterator();
while ( varIter.hasNext() ) {
- final String varName = ((StringReference) varIter.next()).value();
- IJavaValue val = (IJavaValue) DebugUtil.getValueByExpression( "return getVariableResolver(\""+varName+"\").getValue();", factory);
- final ObjectReference valRef = ((JDIObjectValue)val).getUnderlyingObject();
- //MVELThisVariable t2 = new MVELThisVariable((JDIDebugTarget) getDebugTarget(),valRef,varName);
-
- VariableWrapper local = new VariableWrapper(varName, val);
-
- IValue isLocal = DebugUtil.getValueByExpression( "return getParserContext().getVariables();", frameLocal.getValue());
- local.setPublic( true );
- //local.setLocal( true );
- result.add(local);
- }
+ final String varName = ((StringReference) varIter.next()).value();
+ IJavaValue val = (IJavaValue) DebugUtil.getValueByExpression( "return getVariableResolver(\"" + varName + "\").getValue();",
+ factory );
+ if ( val != null ) {
+ final ObjectReference valRef = ((JDIObjectValue) val).getUnderlyingObject();
+ //MVELThisVariable t2 = new MVELThisVariable((JDIDebugTarget) getDebugTarget(),valRef,varName);
+
+ VariableWrapper local = new VariableWrapper( varName,
+ val );
+
+ IValue isLocal = DebugUtil.getValueByExpression( "return getParserContext().getVariables();",
+ frameLocal.getValue() );
+ local.setPublic( true );
+ //local.setLocal( true );
+ result.add( local );
+ } else {
+ DroolsEclipsePlugin.log( new Exception("Unable to get value for variable named '"+varName+"'") );
+ }
+ }
IValue localVars = DebugUtil.getValueByExpression( "return getParserContext().getVariables();", frameLocal.getValue());
IValue globalVars = DebugUtil.getValueByExpression( "return getParserContext().getInputs();", frameLocal.getValue());
More information about the jboss-svn-commits
mailing list