[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2879) Exception when type empty in Convering Gateway

Roger Hui (JIRA) jira-events at lists.jboss.org
Mon Mar 7 15:14:46 EST 2011


    [ https://issues.jboss.org/browse/JBRULES-2879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12586419#comment-12586419 ] 

Roger Hui commented on JBRULES-2879:
------------------------------------

I think I have a better work around on your situation. For all the converge gateway, make sure you have set the type before you close the window. 

According to R&D, complexGateway is not one of the supported node types when
using the BPMN2 XML format.  So it would be best to replace that gateway
with either an exclusive or parallel gateway, or to use the old RuleFlow
format for storing the process definition.

So, what they mean is that exclusiveGateway -> XOR and parallelGateway -> AND. The problem is the tool by default set the Gateway to complex and hence it messes up the whole thing. This is the real bug. 

So the work around is search for all the complexGateway and change them to either exclusive or parallel Gateway, and now you can save and update and change the flow instead of lowercasing it in between. There shouldn't be complexGateway in BPMN2 anyway. 


> Exception when type empty in Convering Gateway
> ----------------------------------------------
>
>                 Key: JBRULES-2879
>                 URL: https://issues.jboss.org/browse/JBRULES-2879
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-eclipse (flow)
>    Affects Versions: 5.2.0.M2
>         Environment: Windows Vista 7
> Eclipse Version: Helios Service Release 1
> Build id: 20100917-0705
>            Reporter: Matias Rivera
>            Assignee: Mark Proctor
>
> If you are creating a process or editing an existing one and you add a Gateway [converge] from the components Pallete and do not set a Type, the next time you open the bpmn process in the "BPMN2 Process Editor" it throws the following exception
> java.lang.IllegalArgumentException: Unknown gateway direction: Converging
> 	at org.jbpm.bpmn2.xml.ComplexGatewayHandler.createNode(ComplexGatewayHandler.java:37)
> 	at org.jbpm.bpmn2.xml.AbstractNodeHandler.start(AbstractNodeHandler.java:64)
> 	at org.drools.xml.ExtensibleXmlParser.startElement(ExtensibleXmlParser.java:384)
> 	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
> 	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
> 	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:739)
> 	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
> 	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
> 	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
> 	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
> 	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
> 	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
> 	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
> 	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
> 	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
> 	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
> 	at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
> 	at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:295)
> 	at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:174)
> 	at org.jbpm.compiler.xml.XmlProcessReader.read(XmlProcessReader.java:44)
> 	at org.drools.eclipse.flow.bpmn2.editor.BPMNModelEditor.createModel(BPMNModelEditor.java:210)
> 	at org.drools.eclipse.flow.common.editor.GenericModelEditor.setInput(GenericModelEditor.java:286)
> 	at org.drools.eclipse.flow.bpmn2.editor.BPMNModelEditor.setInput(BPMNModelEditor.java:96)
> 	at org.eclipse.gef.ui.parts.GraphicalEditor.init(GraphicalEditor.java:346)
> 	at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:798)
> 	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
> 	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
> 	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
> 	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
> 	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863)
> 	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
> 	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
> 	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
> 	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> 	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
> 	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
> 	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682)
> 	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
> 	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
> 	at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:99)
> 	at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:99)
> 	at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:133)
> 	at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:330)
> 	at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:787)
> 	at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:499)
> 	at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
> 	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:845)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
> 	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
> 	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:843)
> 	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1131)
> 	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1235)
> 	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
> 	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
> 	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
> 	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
> 	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
> 	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
> 	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
> 	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
> 	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
> 	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:597)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
> I think the problem resides in the node.  The empty gateway node type is
>     <complexGateway name="Gateway" gatewayDirection="Converging" />
> While the gateway with type is
>   <exclusiveGateway name="Gateway" gatewayDirection="Converging" />

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list