[jboss-jira] [JBoss JIRA] Updated: (JBRULES-1272) DSL : String index out of range: -1

Mark Proctor (JIRA) jira-events at lists.jboss.org
Fri Oct 12 15:17:03 EDT 2007


     [ 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

        



More information about the jboss-jira mailing list