Alex
On Wed, Feb 15, 2012 at 2:04 PM, Alexander Filipchik
<afilipchik(a)gmail.com>wrote:
Hi,
I created 3 pull requests. Here are repos:
- droolsjbpm / drools
- droolsjbpm / droolsjbpm-build-distribution
- droolsjbpm / droolsjbpm-integration
Alex
On Wed, Feb 15, 2012 at 11:02 AM, Mark Proctor <mproctor(a)codehaus.org>wrote:
> On 15/02/2012 00:44, Alexander Filipchik wrote:
>
> Updated tests. Diff is attached.
>
> saw your msg on irc, great news :)
>
>
> >> Don't forget to update the docs too, so they remain up to date.
> Where can I find the docs?
>
>
>
https://github.com/droolsjbpm/droolsjbpm-integration/tree/master/droolsjb...
>
>
> Alex
>
> On Fri, Feb 10, 2012 at 11:44 AM, Mark Proctor <mproctor(a)codehaus.org>wrote:
>
>> On 10/02/2012 19:41, Alexander Filipchik wrote:
>>
>> Hello!
>>
>> Can you submit a pull request over at github? Don't forget to update the
>> docs too, so they remain up to date.
>>
>> Mark
>>
>>
>> I finally managed to get it working, but it required some changes in
>> the existent stuff...
>> Here is a diff:
>>
>>
git://github.com/droolsjbpm/drools.git
>> diff --git a/drools-compiler/pom.xml b/drools-compiler/pom.xml
>> index 708a5b2..4b1dc98 100644
>> --- a/drools-compiler/pom.xml
>> +++ b/drools-compiler/pom.xml
>> @@ -244,7 +244,7 @@
>> <_removeheaders>Ignore-Package</_removeheaders>
>>
>>
<Bundle-SymbolicName>org.drools.compiler;singleton:=true</Bundle-SymbolicName>
>>
>>
<Require-Bundle>org.drools.core;visibility:=reexport;bundle-version="${drools.osgi.version}"</Require-Bundle>
>> - <Import-Package>!org.drools.*,
>> +
<Import-Package>org.antlr.*;version="3.4",!org.drools.*,
>> <!-- java compilers are optional: only need one at most
>> -->
>>
>>
org.codehaus.janino.*;resolution:=optional,org.eclipse.jdt.*;resolution:=optional,
>> *</Import-Package>
>>
>>
git://github.com/droolsjbpm/droolsjbpm-integration.git
>> diff --git a/drools-camel/pom.xml b/drools-camel/pom.xml
>> index a5a6b3d..273bfaa 100644
>> --- a/drools-camel/pom.xml
>> +++ b/drools-camel/pom.xml
>> @@ -23,7 +23,7 @@
>> <dependency>
>> <groupId>org.drools</groupId>
>> <artifactId>knowledge-internal-api</artifactId>
>> - </dependency>
>> + </dependency>
>> <dependency>
>> <groupId>org.drools</groupId>
>> <artifactId>drools-core</artifactId>
>> @@ -186,5 +186,44 @@
>> <scope>provided</scope>
>> </dependency>
>> </dependencies>
>> -
>> + <build>
>> + <plugins>
>> + <plugin>
>> + <artifactId>maven-jar-plugin</artifactId>
>> + <configuration>
>> + <archive>
>> + <manifestFile>META-INF/MANIFEST.MF</manifestFile>
>> + </archive>
>> + </configuration>
>> + </plugin>
>> + <plugin>
>> + <groupId>org.apache.felix</groupId>
>> + <artifactId>maven-bundle-plugin</artifactId>
>> + <extensions>true</extensions>
>> + <executions>
>> + <execution>
>> + <id>manifest</id>
>> + <phase>process-classes</phase>
>> + <goals>
>> + <goal>manifest</goal>
>> + </goals>
>> + </execution>
>> + </executions>
>> + <configuration>
>> + <manifestLocation>META-INF</manifestLocation>
>> + <instructions>
>> +
>>
<Bundle-SymbolicName>org.drools.camel;singleton:=true</Bundle-SymbolicName>
>> + <_removeheaders>Ignore-Package</_removeheaders>
>> + <Require-Bundle>
>> +
org.drools.core;bundle-version="${drools.osgi.version}",
>> +
org.drools.spring;bundle-version="${drools.osgi.version}"
>> + </Require-Bundle>
>> + <Import-Package>!org.drools.*, *</Import-Package>
>> + <Export-Package>!org.drools.grid, org.drools.camel.*,
>> org.drools.camel.jax</Export-Package>
>> +
<DynamicImport-Package>org.drools.*</DynamicImport-Package>
>> + </instructions>
>> + </configuration>
>> + </plugin>
>> + </plugins>
>> + </build>
>> </project>
>> diff --git a/drools-container/drools-spring/pom.xml
>> b/drools-container/drools-spring/pom.xml
>> index b6be52c..f83a457 100644
>> --- a/drools-container/drools-spring/pom.xml
>> +++ b/drools-container/drools-spring/pom.xml
>> @@ -126,7 +126,45 @@
>> <groupId>org.antlr</groupId>
>> <artifactId>antlr-runtime</artifactId>
>> <scope>test</scope>
>> - </dependency>
>> + </dependency>
>> </dependencies>
>> -
>> + <build>
>> + <plugins>
>> + <plugin>
>> + <artifactId>maven-jar-plugin</artifactId>
>> + <configuration>
>> + <archive>
>> + <manifestFile>META-INF/MANIFEST.MF</manifestFile>
>> + </archive>
>> + </configuration>
>> + </plugin>
>> + <plugin>
>> + <groupId>org.apache.felix</groupId>
>> + <artifactId>maven-bundle-plugin</artifactId>
>> + <extensions>true</extensions>
>> + <executions>
>> + <execution>
>> + <id>manifest</id>
>> + <phase>process-classes</phase>
>> + <goals>
>> + <goal>manifest</goal>
>> + </goals>
>> + </execution>
>> + </executions>
>> + <configuration>
>> + <manifestLocation>META-INF</manifestLocation>
>> + <instructions>
>> +
>>
<Bundle-SymbolicName>org.drools.spring;singleton:=true</Bundle-SymbolicName>
>> + <_removeheaders>Ignore-Package</_removeheaders>
>> +
>>
<Require-Bundle>org.drools.core;bundle-version="${drools.osgi.version}"</Require-Bundle>
>> + <Import-Package>!org.drools.*, *</Import-Package>
>> + <Export-Package>
>> +
>> org.drools.grid,org.drools.grid.impl,org.drools.container.spring
>> + </Export-Package>
>> +
<DynamicImport-Package>org.drools.*</DynamicImport-Package>
>> + </instructions>
>> + </configuration>
>> + </plugin>
>> + </plugins>
>> + </build>
>> </project>
>>
>> Alex
>>
>> On Tue, Feb 7, 2012 at 6:01 PM, Alexander Filipchik <
>> afilipchik(a)gmail.com> wrote:
>>
>>> Thank you! But didn't help.
>>> Actually I see some weird behavior. I decided to try referring
>>> drools-core using Require-Bundle from my bundle, so I added
>>> <Bundle-SymbolicName>org.drools.core</Bundle-SymbolicName> to a
>>> drools-core package, recompiled it and got
>>> NullPointerException (still without stacktrace) when I tried to deploy
>>> new core bundle to a karaf container.
>>>
>>> I was able to deploy it after I removed Bundle-SymbolicName and
>>> recompiled again.
>>>
>>> Thanks,
>>> Alex
>>>
>>> On Tue, Feb 7, 2012 at 4:42 PM, Mauricio Salatino
<salaboy(a)gmail.com>wrote:
>>>
>>>> I've already answer a similar question here.. try including inside
the
>>>> application that is using the bundles the file called:
>>>> drools.packagebuilder.conf
>>>>
>>>> which contains:
>>>> drools.dialect.default = java
>>>> drools.dialect.java =
>>>> org.drools.rule.builder.dialect.java.JavaDialectConfiguration
>>>> drools.dialect.java.compiler = ECLIPSE
>>>>
>>>> drools.dialect.mvel =
>>>> org.drools.rule.builder.dialect.mvel.MVELDialectConfiguration
>>>> drools.dialect.mvel.strict = true
>>>> drools.dialect.mvel.langLevel = 4
>>>>
>>>> drools.accumulate.function.average =
>>>> org.drools.base.accumulators.AverageAccumulateFunction
>>>> drools.accumulate.function.max =
>>>> org.drools.base.accumulators.MaxAccumulateFunction
>>>> drools.accumulate.function.min =
>>>> org.drools.base.accumulators.MinAccumulateFunction
>>>> drools.accumulate.function.count =
>>>> org.drools.base.accumulators.CountAccumulateFunction
>>>> drools.accumulate.function.sum =
>>>> org.drools.base.accumulators.SumAccumulateFunction
>>>> drools.accumulate.function.collectList =
>>>> org.drools.base.accumulators.CollectListAccumulateFunction
>>>> drools.accumulate.function.collectSet =
>>>> org.drools.base.accumulators.CollectSetAccumulateFunction
>>>>
>>>> drools.evaluator.coincides =
>>>> org.drools.base.evaluators.CoincidesEvaluatorDefinition
>>>> drools.evaluator.before =
>>>> org.drools.base.evaluators.BeforeEvaluatorDefinition
>>>> drools.evaluator.after =
>>>> org.drools.base.evaluators.AfterEvaluatorDefinition
>>>> drools.evaluator.meets =
>>>> org.drools.base.evaluators.MeetsEvaluatorDefinition
>>>> drools.evaluator.metby =
>>>> org.drools.base.evaluators.MetByEvaluatorDefinition
>>>> drools.evaluator.overlaps =
>>>> org.drools.base.evaluators.OverlapsEvaluatorDefinition
>>>> drools.evaluator.overlappedby =
>>>> org.drools.base.evaluators.OverlappedByEvaluatorDefinition
>>>> drools.evaluator.during =
>>>> org.drools.base.evaluators.DuringEvaluatorDefinition
>>>> drools.evaluator.includes =
>>>> org.drools.base.evaluators.IncludesEvaluatorDefinition
>>>> drools.evaluator.starts =
>>>> org.drools.base.evaluators.StartsEvaluatorDefinition
>>>> drools.evaluator.startedby =
>>>> org.drools.base.evaluators.StartedByEvaluatorDefinition
>>>> drools.evaluator.finishes =
>>>> org.drools.base.evaluators.FinishesEvaluatorDefinition
>>>> drools.evaluator.finishedby =
>>>> org.drools.base.evaluators.FinishedByEvaluatorDefinition
>>>> drools.evaluator.equality =
>>>> org.drools.base.evaluators.EqualityEvaluatorsDefinition
>>>> drools.evaluator.comparable =
>>>> org.drools.base.evaluators.ComparableEvaluatorsDefinition
>>>> drools.evaluator.set =
>>>> org.drools.base.evaluators.SetEvaluatorsDefinition
>>>> drools.evaluator.matches =
>>>> org.drools.base.evaluators.MatchesEvaluatorsDefinition
>>>> drools.evaluator.soundslike =
>>>> org.drools.base.evaluators.SoundslikeEvaluatorsDefinition
>>>>
>>>> Cheers
>>>>
>>>>
>>>> On Tue, Feb 7, 2012 at 9:03 PM, Alexander Filipchik
>>>> <afilipchik(a)gmail.com> wrote:
>>>> > It's not an obvious how to OSGI-fy something :)
>>>> >
>>>> > I did some homework - now I have OSGi-ified versions of
>>>> drools-spring and
>>>> > drools-camel.
>>>> > Also I created own bundle and tried to import
>>>> KnowledgeBaseFactoryService,
>>>> > ServiceRegistry and KnowledgeBaseFactoryService as described in
>>>> >
http://docs.jboss.org/jbpm/v5.2/userguide/ch18.html#d0e4308.
>>>> > All what I got - NullPointerException from karaf core (haven't
>>>> gotten full
>>>> > staketrace yet. For some reason it is just:
>>>> > 15:11:34,484 | INFO | l Console Thread | Console
>>>> |
>>>> > ? ? | 34 -
>>>> org.apache.karaf.shell.console
>>>> > - 2.2.2.fuse-02-13 | Exception caught while executing command
>>>> > java.lang.NullPointerException
>>>> > )
>>>> >
>>>> > So, I spent some time randomly adding and removing configuration
>>>> params and
>>>> > I found - NPE occurs when I'm trying to import
>>>> > org.drools.KnowledgeBaseFactoryService.
>>>> > I guess (i'm not OSGI expert) it could be because org.drools
package
>>>> is
>>>> > exported in 2! bundles. It is in drools-core and knowledge-api
>>>> bundles. And
>>>> > I guess, karaf container just can't link my bundle with both
core
>>>> and api,
>>>> > only first bundle which contains requested package (org.drools)
wins.
>>>> >
>>>> > Any ideas on how to make it work?
>>>> > I actually have one - every bundle should export own package. For
>>>> > knowledge-api it should be org.drools.api, and org.drools.core for
>>>> > drools-core.
>>>> >
>>>> > Here is full log of similar packages:
>>>> > WARNING: multiple bundles are exporting package org.drools.command
>>>> > - org.drools.core [218]
>>>> > - org.drools.api [216]
>>>> > - org.drools.internalapi [217]
>>>> >
>>>> > WARNING: multiple bundles are exporting package
>>>> org.drools.runtime.process
>>>> > - org.drools.core [218]
>>>> > - org.drools.api [216]
>>>> >
>>>> > WARNING: multiple bundles are exporting package org.drools.time
>>>> > - org.drools.core [218]
>>>> > - org.drools.api [216]
>>>> >
>>>> > WARNING: multiple bundles are exporting package
>>>> > org.apache.geronimo.transaction
>>>> > - org.apache.aries.transaction.manager [123]
>>>> > - org.apache.aries.transaction.manager [51]
>>>> >
>>>> > WARNING: multiple bundles are exporting package org.drools
>>>> > - org.drools.core [218]
>>>> > - org.drools.api [216]
>>>> >
>>>> > WARNING: multiple bundles are exporting package
>>>> > org.apache.geronimo.transaction.manager
>>>> > - org.apache.aries.transaction.manager [123]
>>>> > - org.apache.aries.transaction.manager [51]
>>>> >
>>>> > WARNING: multiple bundles are exporting package org.drools.grid
>>>> > - org.drools.core [218]
>>>> > - org.drools.spring [220]
>>>> >
>>>> > WARNING: multiple bundles are exporting package jline
>>>> > - org.apache.servicemix.bundles.jruby [210]
>>>> > - org.apache.karaf.shell.console [34]
>>>> >
>>>> > WARNING: multiple bundles are exporting package
>>>> > org.apache.geronimo.transaction.log
>>>> > - org.apache.aries.transaction.manager [123]
>>>> > - org.apache.aries.transaction.manager [51]
>>>> >
>>>> > WARNING: multiple bundles are exporting package
org.drools.management
>>>> > - org.drools.core [218]
>>>> > - org.drools.api [216]
>>>> >
>>>> > WARNING: multiple bundles are exporting package org.drools.agent
>>>> > - org.drools.core [218]
>>>> > - org.drools.api [216]
>>>> >
>>>> > WARNING: multiple bundles are exporting package org.drools.event
>>>> > - org.drools.core [218]
>>>> > - org.drools.api [216]
>>>> >
>>>> > 2012/2/3 Mark Proctor <mproctor(a)codehaus.org>
>>>> >>
>>>> >> neither spring or camel have been OSGi-ified. only api, core,
>>>> compiler,
>>>> >> templates, decision-tables and flow have.
>>>> >>
>>>> >> If someone wants to OSGi-ify those and contribute back they are
very
>>>> >> welcome:
>>>> >> 1) update the pom.xml to use the osgi bundle plugin, see other
>>>> existing
>>>> >> poms.
>>>> >>
>>>> >>
>>>>
https://github.com/droolsjbpm/drools/blob/master/drools-decisiontables/po...
>>>> >> 2) create an Activator to register the module, again see
>>>> Activator's for
>>>> >> core, compiler etc.
>>>> >>
>>>> >>
>>>>
https://github.com/droolsjbpm/drools/blob/master/drools-decisiontables/sr...
>>>> >> 3) update the osgi bundle's pom with new dependencies, make
sure to
>>>> pull
>>>> >> in the spring ones, unless the actual project provides osgi
ready
>>>> jars.
>>>> >>
>>>> >>
>>>>
https://github.com/droolsjbpm/droolsjbpm-build-distribution/tree/master/d...
>>>> >> 4) Update the boot-bundles.properties so that Spring DM loads
the
>>>> OSGi
>>>> >> dependencies
>>>> >>
>>>> >>
>>>>
https://github.com/droolsjbpm/droolsjbpm-build-distribution/blob/master/d...
>>>> >> 5) write unit tests for spring and camel.
>>>> >>
>>>> >> Mark
>>>> >> On 03/02/2012 03:47, Alexander Filipchik wrote:
>>>> >>
>>>> >> Hello all!
>>>> >>
>>>> >> Don't know if it is right list to ask, but I'm trying to
make
>>>> drools +
>>>> >> camel running on Fuse (ServiceMix container).
>>>> >> I couldn't even install OSGI drools artifacts for 5.3.1
version
>>>> (because
>>>> >> of weird dependency on drools.core Snapshot),
>>>> >> but did it with v5.2.1. I used:
>>>> >>
>>>> >> mvel2/2.1.0,
>>>> >>
>>>> org.drools/drools-core/5.2.1.Final,
org.drools/drools-compiler/5.2.1.Final,
>>>> >> org.drools/knowledge-api/5.2.1.Final
>>>> >> and org.drools/drools-camel/5.2.1.Final.
>>>> >>
>>>> >> All are installed and active. Part of log:
>>>> >>
>>>> >> [ 162] [Active ] [ ] [ ] [ 60] Drools ::
>>>> Compiler
>>>> >> (5.2.1.Final)
>>>> >>
>>>> >> [ 163] [Active ] [ ] [ ] [ 60] mvel2
>>>> >> (2.1.0.drools4)
>>>> >>
>>>> >> [ 164] [Active ] [ ] [ ] [ 60] Drools ::
Core
>>>> >> (5.2.1.Final)
>>>> >>
>>>> >> [ 165] [Active ] [ ] [ ] [ 60] Knowledge
API
>>>> >> (5.2.1.Final)
>>>> >>
>>>> >> [ 172] [Active ] [ ] [ ] [ 60]
>>>> >> mvn:org.drools/drools-camel/5.2.1.Final
>>>> >>
>>>> >> Then I tried to add my own camel-drools router (I created OSGI
>>>> bundle for
>>>> >> it). It depends on:
>>>> >>
>>>> >> Import-Package:
>>>> >>
>>>>
org.apache.activemq,org.apache.activemq.camel.component,org.apache.activemq.pool,org.apache.camel;version="[2.8,3)",org.apache.camel.builder;version="[2.8,3)",org.apache.camel.component.jms;version="[2.8,3)",org.apache.camel.model;version="[2.8,3)",org.drools.camel.component,org.osgi.service.blueprint;version="[1.0.0,2.0.0)",org.springframework.transaction;version="[3,4)"
>>>> >>
>>>> >> It tried to install it to a container but all I got -
>>>> >>
>>>> >> Error executing command: Unresolved constraint in bundle
>>>> >> com.betfair.drools [170]: Unable to resolve 170.0: missing
>>>> requirement
>>>> >> [170.0] package; (package=org.drools.camel.component)
>>>> >>
>>>> >> I even tried to put drools-camel.jar
>>>> with org.drools.camel.component in a
>>>> >> lib folder and add package to
>>>> org.osgi.framework.system.packages.extra, but
>>>> >> got same result.
>>>> >>
>>>> >> Do you have any idea, blog posts, samples which could help me?
>>>> >> I'm completely stuck.
>>>> >>
>>>> >> Thanks,
>>>> >> Alex
>>>> >>
>>>> >>
>>>> >> _______________________________________________
>>>> >> rules-users mailing list
>>>> >> rules-users(a)lists.jboss.org
>>>> >>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>> >>
>>>> >>
>>>> >>
>>>> >> _______________________________________________
>>>> >> rules-users mailing list
>>>> >> rules-users(a)lists.jboss.org
>>>> >>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>> >>
>>>> >
>>>> >
>>>> > _______________________________________________
>>>> > rules-dev mailing list
>>>> > rules-dev(a)lists.jboss.org
>>>> >
https://lists.jboss.org/mailman/listinfo/rules-dev
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> - CTO @
http://www.plugtree.com
>>>> - MyJourney @
http://salaboy.wordpress.com
>>>> - Co-Founder @
http://www.jugargentina.org
>>>> - Co-Founder @
http://www.jbug.com.ar
>>>>
>>>> - Salatino "Salaboy" Mauricio -
>>>>
>>>> _______________________________________________
>>>> rules-users mailing list
>>>> rules-users(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> rules-users mailing
listrules-users@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>> _______________________________________________
>> rules-dev mailing list
>> rules-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>>
>
>