[
http://jira.jboss.com/jira/browse/JBRULES-1272?page=all ]
Mark Proctor updated JBRULES-1272:
----------------------------------
Fix Version/s: 4.0.3
4.1.0
FUTURE
This fix needs to be back ported to be part of 4.0.3
From kris:
"This does not seem to be related to the editor
itself, it is the DSL
compiler which seems to be throwing an exception if you have a DSL
sentence where 2 params are only 1 character apart (doens't matter
whether it is a space or not), like "My DSL sentence with
{key1}_{key2}". If the distance is at least 2 characters, then there
is no problem. The problem still exists in trunk as well.
Looking at the svn history, it is probably related to the fix edson
this in DefaultDSLMappingEntry for JBRULES-1164 (commit 15069): Fixing
DSL files with embedded () on key."
DSL : String index out of range: -1
-----------------------------------
Key: JBRULES-1272
URL:
http://jira.jboss.com/jira/browse/JBRULES-1272
Project: JBoss Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 4.0.2
Reporter: Delbart Vincent
Assigned To: Mark Proctor
Priority: Critical
Fix For: FUTURE, 4.0.3, 4.1.0
Hi,
I have a problem with my DSL and the 4.0.2 version :
this sentence doesn't work in 4.0.2 :
[condition][]there is at least {number} {object}=ArrayList( size >= {number}) from
collect( {object}() )
log :
!ENTRY org.eclipse.ui 4 0 2007-10-11 14:29:29.052
!MESSAGE String index out of range: -1
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1768)
at
org.drools.lang.dsl.DefaultDSLMappingEntry.setMappingKey(DefaultDSLMappingEntry.java:139)
at org.drools.eclipse.dsl.editor.MappingEditor.okPressed(Unknown Source)
at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:508)
at org.eclipse.jface.dialogs.Dialog$3.widgetSelected(Dialog.java:660)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
at org.eclipse.jface.window.Window.open(Window.java:796)
at org.drools.eclipse.dsl.editor.DSLEditor$8.widgetSelected(Unknown Source)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
If I put two blanks between {number} {object}, it's working.
[condition][]there is at least {number} {object}=ArrayList( size >= {number}) from
collect( {object}() )
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira