+++ This bug was initially created as a clone of Bug #1195634 +++ Description of problem: There is a problem when I want create Switchyard rules component from Decision Table which is in CSV format. Builder thinks that file's format is XLS and try it parses. The consequence is thrown exception: java.lang.IllegalArgumentException: Your InputStream was neither an OLE2 stream, nor an OOXML stream at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:75)[368:org.apache.servicemix.bundles.poi:3.9.0.2] at org.drools.decisiontable.parser.xls.ExcelParser.parseFile(ExcelParser.java:82)[369:org.drools.decisiontables:6.1.0.20140801-1612] ... Version-Release number of selected component (if applicable): JBoss Fuse 6.1.0.redhat-379 + Switchyard 2.0.0.Aplha3 (community version) How reproducible: Attached maven project with a reproducer (100%). Steps to Reproduce: Build attached maven project by command: mvn clean install. Deploy the reproducer on JBoss Fuse: 1. features:addurl mvn:com.example.switchyard/switchyard-dtables/0.0.1-SNAPSHOT/xml/features 2. features:install switchyard-dtables 3. log:display Actual results: Unable to start switchyard for bundle com.example.switchyard.switchyard-dtables. Full error log is enclosed. Expected results: Switchyard application is successfully deployed. Additional info: Expected problem is in function compileStream of class DecisionTableProviderImpl which passed parameter DecisionTableConfiguration configuration is null instead of a correct configuration with input type CSV. --- Additional comment from Tomas Turek on 2015-02-24 03:35:14 EST --- --- Additional comment from David Virgil on 2015-03-03 14:22:14 EST --- I tested this example in the switchyard 2.0.1-ER1 version and it was working. YOu can take a look to my comment, and to the code i used here: https://issues.jboss.org/browse/SWITCHYARD-2583 --- Additional comment from Tomas Turek on 2015-03-04 07:27:24 EST --- --- Additional comment from Tomas Turek on 2015-03-04 07:29:50 EST --- I looked at it and I found that this problem exists also in SW 2.0.1-ER1. Example does not throw an error because it is waiting for the CSA component, which I forgot to add to features.xml. I modified the example to make it correctly working. See the attachments. Steps to reproduce: 1. mvn clean install 2. Deploy in karaf: a. features:addurl mvn:com.example.switchyard/switchyard-dtables/0.0.1-SNAPSHOT/xml/features b. features:install switchyard-dtables 3. mvn exec:java --- Additional comment from David Virgil on 2015-03-04 08:56:30 EST --- I got it now. It seems that It is an error in drools. I am checking with one of the drools developers. It is getting throw when it is called: _runtimeEnvironment.addAsset(asset, type); The asset is a Resource that points to the csv file and the type is DecisionTable. --- Additional comment from Mario Fusco on 2015-03-04 10:41:33 EST --- The problem is in how jbpm adds a csv resource to the drools knowldge builder. I sent a pull request to the jbpm project that should fix this problem: https://github.com/droolsjbpm/jbpm/pull/238
This is a request from the Fuse team. Needs to be included in our GA release and so I am requesting the blocker flag. Mario already provided a PR for fixing the code: https://github.com/droolsjbpm/jbpm/pull/238
I'm not convinced the problem needs to be fixed on the jBPM/Drools side. Please see https://github.com/jboss-switchyard/components/pull/768
Fixed on master (waiting for blocker flag for 6.2.x). Commit: master: https://github.com/droolsjbpm/jbpm/commit/e890d200
Additional commit to catch another case: master: https://github.com/droolsjbpm/jbpm/commit/2bd321a7
Test fix: master: https://github.com/droolsjbpm/jbpm/commit/2d1f6f31
Cherry-picked to 6.2.x now that the blocker flag has been approved. Commits: 6.2.x: https://github.com/droolsjbpm/jbpm/commit/79f3b2f7 https://github.com/droolsjbpm/jbpm/commit/bbe57748 https://github.com/droolsjbpm/jbpm/commit/449f28d6
After discussion on IRC, this 'Singleton conflict' issue should be also fixed in jbpm source code here: https://github.com/droolsjbpm/jbpm/blob/master/jbpm-human-task/jbpm-human-task-jpa/pom.xml#L65 Returning back.
removed the OSGi manifest "singleton:=true" from jbpm-human-task-jpa module jbpm master: https://github.com/droolsjbpm/jbpm/commit/eb2556c18b7f857e06603c4336990aa21a69be84 6.2.x: https://github.com/droolsjbpm/jbpm/commit/32a7fe7181b70b59a1c0dbc62f6009a37e1bdcc0
It seems that this is related drools artifacts that are not deployed. Drools-integration-osgi is here: https://github.com/dvirgiln/fuse-bxms-integ/karaf This previous repository is where the switchyard bxms projects are gonna be placed. It contains integration tests for switchyard: https://github.com/jboss-integration/fuse-bxms-integ/tree/master/karaf/tests/switchyard. Also you can deploy the switchyard-dtables feature https://github.com/jboss-integration/fuse-bxms-integ/blob/master/karaf/karaf-features/src/main/resources/features.xml#L292 The kie version that is used here is 6.2.0.Final Thanks. Any doubt contact me, or throw IRC (virchete) Thanks David
Ok, so I tried to verify again with BPM Suite 6.1.0.CR2. I updated switchyard parent project to use BPMS 6.1.0.CR2 and rebuilt switchyard from tag 2.0.1-ER1. I set these versions: parent/pom.xml: jboss-integration-platform-bom version=6.0.0.CR26-redhat-2 kie-bom 6.2.0.Final-redhat-4 jbpm-bom 6.2.0.Final-redhat-4 drools-bom 6.2.0.Final-redhat-4 parent/bom/pom.xml: kie-bom 6.2.0.Final-redhat-4 jbpm-bom 6.2.0.Final-redhat-4 drools-bom 6.2.0.Final-redhat-4 release/brms/jboss-as7/bundle/target/jboss-switchyard/jboss-as-7.4.0.Final-redhat-19/quickstarts/demos/helpdesk/pom.xml: release/brms/jboss-as7/standalone/dist/target/jboss-switchyard/jboss-eap-6.3/quickstarts/demos/helpdesk/pom.xml: quickstarts/demos/helpdesk/pom.xml: <version.org.jbpm>6.2.0.Final-redhat-4</version.org.jbpm> I rebuilt also switchyard-dtables-2.0.1-ER1 reproducer project. I started jboss-fuse-6.2.0.redhat-064 and added necessary features: JBossFuse:karaf@root> features:addurl mvn:org.switchyard.karaf/switchyard/2.0.1-ER1/xml/features JBossFuse:karaf@root> features:addurl mvn:org.switchyard.brms.karaf/switchyard/2.0.1-ER1/xml/features JBossFuse:karaf@root> features:addurl mvn:com.example.switchyard/switchyard-dtables/0.0.1-SNAPSHOT/xml/features I tried to install switchyard-dtables project, but got: JBossFuse:karaf@root> features:install switchyard-dtables Error executing command: Could not start bundle mvn:org.jbpm/jbpm-flow-builder/6.2.0.Final-redhat-4 in feature(s) jbpm-6.2.0.Final-redhat-4: Activator start error in bundle org.jbpm.flow.builder [642]. And in the log I could see the old error before the fix: java.lang.IllegalArgumentException: Your InputStream was neither an OLE2 stream, nor an OOXML stream ... at org.jbpm.runtime.manager.impl.SimpleRuntimeEnvironment.addAsset(SimpleRuntimeEnvironment.java:109)[388:org.jbpm.runtime.manager:6.2.0.20141207-1019] which is very odd. I have changed all version references to jbpm, drools and kie in the switchyard project and still some old version from December is picked up (org.jbpm.runtime.manager:6.2.0.20141207-1019). David, can you please comment on this?
Created attachment 1012296 [details] fuse-with-sy201er1-bpms610cr2.log fuse.log of jboss-fuse-6.2.0.redhat-064, switchyard 2.0.1.er1 built from tag and using bpms 6.1.0.cr2. The original problem is still there in the logs due to badly picked jbpm version: org.jbpm.runtime.manager.impl.SimpleRuntimeEnvironment.addAsset(SimpleRuntimeEnvironment.java:109)[388:org.jbpm.runtime.manager:6.2.0.20141207-1019] All jbpm, drools and kie versions were properly updated and string 6.2.0.20141207 could not be found in switchyard repos. The console output currently looks like this (please regard the error message in previous comment as deprecated): JBossFuse:karaf@root> features:install switchyard-dtables Error executing command: Can not resolve feature: Unsatisfied requirement(s): --------------------------- package:(&(package=org.eclipse.aether.artifact)(version>=1.0.0)(!(version>=2.0.0))) SwitchYard: Knowledge Common Component Library
Jiri, based on comment #15 it looks like you will need to verify the issue when you get a new build with a new jBPM.
Verified. https://bugzilla.redhat.com/show_bug.cgi?id=1195634#c9