Semantic Web Drools Module, Request for Feedbak
by Xavier Breton
Hi,
I'm looking for feedback, I'll develop a Semantic Web Drools Module that
will be the subject of my Master Degree Tesis.
The idea is to use Eclipse Modelling Framework (EMF) for prototyping and
follow a Model Driven Architecture (MDA) where the source language is
Semantic of Business Vocabularies and Business Rules (SBVR) and the target
language is Drools DRL.
The mapping could be (PIM level):
- Semantic Web Rule Language (SWRL)
- Ontology Web Language (OWL)
- RuleML
- Rule Interchange Format (RIF)
- REWERSE Rule Markup Language (R2ML)
It could be added to the module at the source UML or Entity Relationship
like models to transform the models into SBVR.
Regards
Xavier Breton
10 years, 9 months
Guvnor split-up
by Michael Anstis
Hi,
The time to split Guvnor into "Guvnor" (common asset management/generic
project framework) and "Drools IDE" (Editors for Drools assets) has arrived.
This is a list of the current Guvnor modules and a proposal as to the
split. Please feedback any comments - I'd like to split next week (and
perform related GAV changes):-
*guvnor-commons
*
1. guvnor-comons-builder ---> drools-ide
2. guvnor-commons-data ---> split applicable components into guvnor and
drools-ide(sub-package "tables" is guvnor; the remainder are drools-ide).
3. guvnor-commons-security ---> drools-ide
4. guvnor-commons-security-api ---> drools-ide
5. guvnor-commons-ui ---> split applicable components into guvnor and
drools-ide (some classes in sub-package "widgets" are drools-ide and
sub-package "workitems" is drools-ide but can be deleted).
*guvnor-core*
1. guvnor-core-services ---> guvnor
2. guvnor-datamodel ---> drools-ide
3. guvnor-project ---> drools-ide
4. guvnor-workingsets ---> delete (not used)
*
guvnor-editors
*
1. guvnor-categories-editor ---> drools-ide
2. guvnor-default-editor ---> drools-ide
3. guvnor-drl-text-editor ---> drools-ide
4. guvnor-dsl-text-edutor ---> drools-ide
5. guvnor-dtable-xls-editor ---> drools-ide
6. guvnor-enum-editor ---> drools-ide
7. guvnor-explorer ---> guvnor
8. guvnor-factmodel-editor ---> drools-ide
9. guvnor-globals-editor ---> drools-ide
10. guvnor-guided-dtable-editor ---> drools-ide
11. guvnor-guided-rule-editor ---> drools-ide
12. guvnor-guided-scorecard-editor ---> drools-ide
13. guvnor-guided-template-editor ---> drools-ide
14. guvnor-inbox ---> guvnor
15. guvnor-m2repo-editor ---> guvnor
16. guvnor-project-config-editor ---> drools-ide
17. guvnor-project-editor ---> drools-ide
18. guvnor-scorecard-xls-editor ---> drools-ide
19. guvnor-search-screen ---> guvnor
20. guvnor-test-scenario-editor ---> drools-ide
Worthy of mention is that the "Project Editor" becomes a Drools specific
project editor (as it needs to handle both pom.xml and kmodule.xml). There
is no "Project Editor" out of the box for Guvnor.
*guvnor-webapp
*
1. guvnor-showcase ---> drools-ide
*guvnor-widgets*
1. guvnor-config-resource-widget ---> drools-ide
2. guvnor-decorated-grid-widget ---> drools-ide
3. guvnor-error-messages-widget ---> delete (not used)
4. guvnor-metadata-widget ---> guvnor
5. guvnor-view-source-widget ---> drools-ide
*GAV changes
*
drools-ide components would adopt the "org.drools.ide" GroupId; guvnor
components would adopt the "org.kie.guvnor" GroupId.
Package names would be corrected to follow the GAV-package naming
convention.
With kind regards,
Mike
11 years, 8 months
Fwd: Re: [osgi-dev] Provide both blueprint and DS ?
by Cristiano Gavião
Hi Charles,
I opened a discussion in OSGi dev list to get some feedbacks about the
use of DI (Blueprint, CDI, Google) and DS. I got some interested notes
there. (http://www.mail-archive.com/osgi-dev@mail.osgi.org/msg02684.html)
I'm in favor of having Drools and DS + Services, too...
Btw, have you investigated about the services to be exposed bye KIE and
Drools?
@Mark,
I saw a lot of "*service" interfaces in new code. But I guess only a few
of them are for external uses. Could you point us which interfaces are
intent to be used by an external api? thanks.
regards,
Cristiano
11 years, 8 months
Question about kie - api & kie - internal (OSGIactivator)
by Charles Moulliard
Hi,
The org.kie.api.osgi.Activator class of kie project needs the class
ServiceRegistryImpl (& Interface ServiceRegistry of kie internal) to
register an OSGI Service (Interface)
this.serviceRegistry = bc.registerService(
ServiceRegistry.class.getName(),
ServiceRegistryImpl.getInstance(),
new Hashtable() );
but the maven module kie api does not have a dependency with kie internal
as the class ServiceRegistry & ServiceRegistryImpl are part of the module
kie internal & package org.kie.internal.utils
Questions :
- What are the plans regarding to the Activator of Kie api bundle - what
does it want to do ?
- Can we add the missing dependency in kie api project ?
Regards,
--
Charles Moulliard
Apache Committer / Sr. Enterprise Architect (RedHat)
Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com
11 years, 8 months
osgi pull request conflicts
by Geoffrey De Smet
Christiano, Charles,
Your pull requests conflicted massively with each other :(
I 've done my best to apply the best of both worlds.
Due to the conflict, changes might be lost. Sorry if that has happened.
Contradicting conflicts have been written below.
Some notes on this approach and the current state:
* *All common felix properties have been extracted to the
droolsjbpm-parent pom.* Individual modules should not define any of
these specifically.
o If you want to add/remove/change any of those, change them in
the parent pom only:
+ https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/pom.xml
o These are currently in the parent pom:
+ <extensions>true</extensions>
+ <excludeDependencies>true</excludeDependencies>
+ <_removeheaders>Ignore-Package</_removeheaders>
# What does this mean? Christiano wants to remove this.
# @charles are you ok with removing this?
+ <_nouses>true</_nouses>
# What does this mean? Christiano wants this.
+ <_snapshot>${osgi-version-qualifier}</_snapshot>
# Christiano: "To make eclipse happy"
+ <Bundle-Version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi.version.qualifier}</Bundle-Version>
# Christiano: "To make eclipse happy"
o There are not added (because less code is better maintainable):
+ <DynamicImport-Package>*</> has been removed everywhere, as
per Christiano's change
# @charles @christiano If you need it anyway, edit the
droolsjbpm-parent pom and supply a pull request
+ <Bundle-ActivationPolicy>lazy</> has not been added
anywhere, as Charles didn't seem to need it
# @christiano @charles If you need it anyway, edit the
droolsjbpm-parent pom and supply a pull request
* Generally, christiano's imports/export statements survived. (I found
they to contain little or no dead imports/exports.)
o Some of Charles imports/export statement changes were added too.
o The original state of the imports/exports was mostly ignored as
they were totally out-of-date.
* The singleton discussion is lost to me. As Charles is supplying the
unit test in droolsjbpm, I believe he should make the call which
modules should be singleton and which should not, taking
Christiano's advice into consideration of course.
o Some modules currently have singleton=true, others don't. This
seems to be the way you guys wanted: it's differs per module
+ Pull Request to add/remove singleton as needed welcome
* Empty<Private-Package> have been removed everywhere
* <Require-Bundle> has been removed everywhere.
o This makes our build and release procedure far less complex (no
more separate osgi.version property).
+ Don't add it back pls: I strongly prefer it stays dead.
I've now spend a lot of time on drools OSGi, and I really need to focus
on optaplanner issues.
Edson has agreed to look into future osgi related pull requests for drools.
11 years, 8 months
KieBuilderImpl.getKieModuleIgnoringErrors()
by Michael Anstis
Hello,
I'd really like the captioned being exposed (either protected so I can
sub-class it to get access; or on the InternalKieBuilder interface - but
*ideally* the public API as Guvnor has been burned before by using
"internal" APIs).
At the moment we have to do two builds in Guvnor:-
1 - For a "full KieModule" including all artifacts. This is used for
incremental package compilation.
2 - For a transient KieModule containing only Declarative Types so we can
determine what Fact Types are available for authoring. This *limits* the
potential for compilation errors as Declarative Types are constructed with
a guided editor.
We cannot re-use #1 for our #2 use-case as KieBuilder.getKieModule() throws
an exception if the KieModule contains build errors although the KieModule
has been built and the Fact Types are available for inspection.
If we can limit the number of KieModules we need to build by being able to
use KieBuilder.getKieModuleIgnoringErrors() we ~half the time we spend
building KieModules. Which would be a good thing :)
With kind regards,
Mike
11 years, 8 months
drools-decisiontables and poi-ooxml-3.9.jar
by Cristiano Gavião
Hi,
I'm getting a problem with the org.apache.poi.openxml4j.exceptions
package in my osgi things. I could not find a bundle that exports such
package.
Investigating a bit, the unique class that I could find using this api
is org.drools.decisiontable.parser.xls.ExcelParser, but only
org.apache.poi.openxml4j.exceptions.InvalidFormatException class.
is this api really needed?
> public void parseFile(InputStream inStream) {
> try {
> Workbook workbook = WorkbookFactory.create(inStream);
>
> if ( _useFirstSheet ) {
> Sheet sheet = workbook.getSheetAt( 0 );
> processSheet( sheet, _listeners.get(
> DEFAULT_RULESHEET_NAME ) );
> } else {
> for ( String sheetName : _listeners.keySet() ) {
> Sheet sheet = workbook.getSheet( sheetName );
> if (sheet == null) {
> throw new IllegalStateException("Could not
> find the sheetName (" + sheetName
> + ") in the
> workbook sheetNames.");
> }
> processSheet( sheet,
> _listeners.get( sheetName ) );
>
> }
> }
> } catch ( *InvalidFormatException* e ) {
> throw new DecisionTableParseException( "An error occurred
> opening the workbook. It is possible that the encoding of the document
> did not match the encoding of the reader.",
> e );
>
> } catch ( IOException e ) {
> throw new DecisionTableParseException( "Failed to open
> Excel stream, " + "please check that the content is xls97 format.",
> e );
> }
>
> }
all other behavior is being supported by org/apache/poi/poi/3.9/poi-3.9.jar
regards,
Cristiano
11 years, 8 months