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, 10 months
Outgoing Sheriff (to incoming Sheriff) status
by Michael Anstis
Hi Salaboy,
I notice from the Drools Google Calendar that you are "Sheriff" for
November.
As of today this is the status:-
http://hudson.qa.jboss.com/hudson/job/droolsjbpm-integration/
A lot of failing tests due to : org.drools.core.util.LinkedListNode is an
interface, and JAXB can't handle interfaces.
I emailed drools-dev about this a few days ago. It should be followed up
and somebody found to fix the root cause (I suspect somebody on -core).
There are a few other failing tests but I'd concentrate on the bigger issue
first (as the other failures may be related).
http://hudson.qa.jboss.com/hudson/job/guvnor/
A lot of failing tests probably due to merging in the UberFire integration
changes.
I have asked Geoffrey to take a look for us.
http://hudson.qa.jboss.com/hudson/job/droolsjbpm-tools/
A lot of failing tests that possibly relate to something Mario fixed (the
tests fail after a commit he made).
I've spoken with Mario and he is pretty sure the failures are as a result
of his change. He has said he will fix as soon as possible.
Everything else looks OK.
With kind regards,
Mike
12 years, 1 month
5.5.0.Final
by Michael Anstis
Hi Mark,
Any ideas when you want 5.5.0.Final out of the way?
I believe the initial problems with 5.5.0.CR1 are now resolved
(protobuf\jBPM issue, class not found issue).
We still have a Guvnor issue (when starting up without an existing
repository there's a JCR related error, but Jervis is looking into this -
after he's done with 5.3.1. BZs).
With kind regards,
Mike
12 years, 1 month
Fwd: [rules-users] ClassNotFound on class defined in drl with 5.5.0.CR1
by Wolfgang Laun
Folks,
it seems that something new in 5.5.0.CR1 sabotages the ingestion of
compiled packages.
-W
---------- Forwarded message ----------
From: Willem van Asperen <willem(a)van.asperen.org>
Date: Thu, 25 Oct 2012 00:04:32 +0200
Subject: Re: [rules-users] ClassNotFound on class defined in drl with 5.5.0.CR1
To: Wolfgang Laun <wolfgang.laun(a)gmail.com>, Rules Users List
<rules-users(a)lists.jboss.org>
Hi,
This was a good idea. Here is my test case:
public class TestCompilation {
private final static FileFilter RULES_FILES_FILTER = new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".drl");
}
};
private void testCompilation() throws FileNotFoundException,
IOException {
KnowledgeBuilderConfiguration configuration =
KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder(configuration);
File folder = new File("src/main/rules/");
for (File file : folder.listFiles(RULES_FILES_FILTER)) {
System.out.println("compiling "+file.getAbsolutePath());
kbuilder.add(ResourceFactory.newFileResource(file.getAbsolutePath()),
ResourceType.DRL);
}
System.out.println("saving");
ObjectOutputStream out = new ObjectOutputStream(new
FileOutputStream("test.drl.compiled"));
out.writeObject( kbuilder.getKnowledgePackages());
out.close();
}
private KnowledgeBase testLoad() throws FileNotFoundException,
IOException, ClassNotFoundException {
Properties configProperties = new Properties();
KnowledgeBaseConfiguration knowledgeBaseConfiguration =
KnowledgeBaseFactory.newKnowledgeBaseConfiguration(configProperties);
KnowledgeBase kbase =
KnowledgeBaseFactory.newKnowledgeBase(knowledgeBaseConfiguration);
ObjectInputStream in = new ObjectInputStream(new
FileInputStream("test.drl.compiled"));
System.out.println("loading");
kbase.addKnowledgePackages((Collection<KnowledgePackage>) in.readObject());
return kbase;
}
public static void main(String[] args) throws
FileNotFoundException, IOException, ClassNotFoundException {
TestCompilation testCompilation = new TestCompilation();
testCompilation.testCompilation();
testCompilation.testLoad();
}
}
The folder src/main/rules consists of a number of .drl files.
Compiling works fine.
This is the output:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for
further details.
compiling
/home/willem/development/workspace/VCM/src/main/rules/planner-lock.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/executable-action-selection.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/block-times-3.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/planner-bridge.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/routeplan.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/shift-management-brabant.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/plan-first-object-in-route.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/operator-lock.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/block-times-route-call.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/shift-management.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/planner-process-data.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/plan-last-moment.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/operator-bridge.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/operator-management.drl
saving
loading
Exception in thread "main" java.lang.ClassNotFoundException:
vcm.planner.lock.standard.PossibleSlotLock
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at
org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:85)
at
org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:97)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1593)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1480)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1330)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at
org.drools.rule.ConsequenceMetaData$Statement.readExternal(ConsequenceMetaData.java:61)
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at java.util.ArrayList.readObject(ArrayList.java:733)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at
org.drools.rule.ConsequenceMetaData.readExternal(ConsequenceMetaData.java:19)
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at org.drools.rule.Rule.readExternal(Rule.java:207)
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at
org.drools.rule.JavaDialectRuntimeData.readExternal(JavaDialectRuntimeData.java:195)
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at java.util.HashMap.readObject(HashMap.java:1155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at
org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:58)
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at org.drools.rule.Package.readExternal(Package.java:208)
at
org.drools.definitions.impl.KnowledgePackageImp.readExternal(KnowledgePackageImp.java:157)
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at java.util.ArrayList.readObject(ArrayList.java:733)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at
com.paconsulting.pase.test.TestCompilation.testLoad(TestCompilation.java:57)
at
com.paconsulting.pase.test.TestCompilation.main(TestCompilation.java:64)
The class PossibleSlotLock is just a locally declared fact class. It is
only being used in that particular .drl file. Every .drl file has it's
own package name.
The head of the .drl file:
package vcm.planner.lock.standard;
import java.util.Set;
import com.paconsulting.pase.core.schedule.CurrentTime;
import com.paconsulting.pase.core.duration.FixedDuration;
import com.paconsulting.pase.transport.agents.ScheduleManagingContainer;
import com.paconsulting.pase.transport.agents.movers.Ship;
import com.paconsulting.pase.transport.agents.water.Lock;
import com.paconsulting.pase.transport.agents.water.LockChamber;
import com.paconsulting.pase.transport.agents.base.WaterLevel;
import com.paconsulting.pase.transport.components.action.ActionFactory;
import com.paconsulting.pase.transport.actions.IAction;
import com.paconsulting.pase.transport.components.action.IActionable;
import com.paconsulting.pase.transport.actions.NonTransactionAction;
import com.paconsulting.pase.transport.actions.ExecutableAction;
import com.paconsulting.pase.transport.components.containing.IContainer;
import
com.paconsulting.pase.transport.components.containing.IContainer.UpDown;
import com.paconsulting.pase.transport.components.moving.IMover;
import com.paconsulting.pase.transport.components.moving.TransferSchedule;
import com.paconsulting.pase.transport.components.moving.ToScheduleLock;
declare PossibleSlotLock
ship : IMover
chamber : IContainer
side : IContainer.UpDown
schedule : TransferSchedule
eta : double
at : double
cause : String
end
....
Same issue like in my previous email, different class that cannot be found.
This works in 5.4.0.Final
Any clue?
This seems to me like a really basic thing so either I am missing the
plot somehow or no-one has yet used a locally declared fact classes -
which I think is just not true...
Regards,
Willem
On 10/24/2012 07:29 PM, Wolfgang Laun wrote:
> It would be interesting to know (and perhaps help to isolate the problem
> apparently introduced in 5.5.0) if you could try and compile and
> serialize into a single file, and load that in a single readObject.
>
> -W
>
> On 24/10/2012, Willem van Asperen <willem(a)van.asperen.org> wrote:
>> Hi Wolfgang,
>>
>> Thanks for picking this up. I am indeed compiling these separate .drl
>> files into separate .drl.compiled files and then creating a kbase using
>> addKnowledgePackages on the individual .drl.compiled files.
>>
>> But: the classes declared in some of by .drl files are only going to be
>> used in that particular .drl file - not anywhere else.
>> Also: this did work in 5.4.0.Final but now has given up on me.
>>
>> Point is that I need to be flexible in mixing different .drl.compiled
>> files into a kbase, based on user specifications.
>> Alternative is that I do not pre-compile these .drl files and only
>> compile them, in combination, in the mix that is required by the user...
>> If that would solve the problem... But it seems to be more cumbersome...
>>
>> Regards,
>> Willem
>>
>> On 10/24/2012 03:39 PM, Wolfgang Laun wrote:
>>> The code you use for loading where you load many .pkg files isn't
>>> quite the counterpart for compiling where you compile one DRL.
>>>
>>> Do you compile and output the .drl files one by one? Apparently you
>>> load them individually?
>>>
>>> Try compiling them all, and then take the Collection<KnowledgePackage>
>>> and writeObject it to a single .pkg from which you load them in one
>>> go.
>>>
>>> Could it be that the type declared in one .drl is used in another .drl
>>> in the same package? Reading this in the wrong order might cause the
>>> CNF.
>>>
>>> -W
>>>
>>> On 24/10/2012, Willem van Asperen <willem(a)van.asperen.org> wrote:
>>>> Dear All,
>>>>
>>>> I use the Drools compiler to compile a set of drl files:
>>>>
>>>>
>>>> KnowledgeBuilder kbuilder =
>>>> KnowledgeBuilderFactory.newKnowledgeBuilder(configuration);
>>>> kbuilder.add(ResourceFactory.newFileResource(fileName),
>>>> ResourceType.DRL);
>>>>
>>>> KnowledgeBuilderErrors errors = kbuilder.getErrors();
>>>> if (errors.size() > 0) {
>>>> for (KnowledgeBuilderError error: errors) {
>>>> logger.error(error);
>>>> }
>>>> throw new IllegalArgumentException("Could not parse
>>>> knowledge.");
>>>> }
>>>>
>>>> ObjectOutputStream out = new ObjectOutputStream(new
>>>> FileOutputStream(fileName+".compiled"));
>>>> out.writeObject( kbuilder.getKnowledgePackages());
>>>> out.close();
>>>>
>>>> I then load these *.compiled files into my application:
>>>>
>>>>
>>>> for (String packageName : packages) {
>>>> InputStream is =
>>>> getClass().getResourceAsStream("/"+packageName+".drl.compiled");
>>>> if (is != null) {
>>>> logger.debug("adding package '"+packageName+"'");
>>>> ObjectInputStream in = new ObjectInputStream(is);
>>>> kbase.addKnowledgePackages((Collection<KnowledgePackage>)
>>>> in.readObject());
>>>> in.close();
>>>> } else
>>>> throw new FileNotFoundException("could not find
>>>> resource for package "+packageName);
>>>> is.close();
>>>> }
>>>>
>>>> In some of these drl files I declare a class, for instance:
>>>>
>>>> package vcm.selection.standard;
>>>>
>>>> import com.paconsulting.pase.transport.agents.ShiftWorker;
>>>> import com.paconsulting.pase.transport.agents.VCMShiftWorker;
>>>> import com.paconsulting.pase.transport.actions.ExecutableAction;
>>>> import com.paconsulting.pase.transport.agents.ScheduleManagingContainer;
>>>> import com.paconsulting.pase.transport.agents.water.Bridge;
>>>> import com.paconsulting.pase.transport.agents.movers.AbstractMover;
>>>> import com.paconsulting.pase.transport.agents.movers.Ship;
>>>> import com.paconsulting.pase.transport.agents.movers.VCMShip;
>>>>
>>>> declare RelevantExecutableAction
>>>> agent : ShiftWorker
>>>> executableAction : ExecutableAction
>>>> end
>>>> ...
>>>>
>>>> When running the
>>>> kbase.addKnowledgePackages((Collection<KnowledgePackage>)
>>>> in.readObject()) I get the following ClassNotFound stack trace:
>>>>
>>>> java.lang.ClassNotFoundException:
>>>> vcm.selection.standard.RelevantExecutableAction
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>>>> at java.lang.Class.forName0(Native Method)
>>>> at java.lang.Class.forName(Class.java:264)
>>>> at
>>>> org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:85)
>>>> at
>>>> org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:97)
>>>> at
>>>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1593)
>>>> at
>>>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
>>>> at
>>>> java.io.ObjectInputStream.readClass(ObjectInputStream.java:1480)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1330)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at
>>>> org.drools.rule.ConsequenceMetaData$Statement.readExternal(ConsequenceMetaData.java:61)
>>>> at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at java.util.ArrayList.readObject(ArrayList.java:733)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:601)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
>>>> at
>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at
>>>> org.drools.rule.ConsequenceMetaData.readExternal(ConsequenceMetaData.java:19)
>>>> at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at org.drools.rule.Rule.readExternal(Rule.java:207)
>>>> at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at
>>>> org.drools.rule.JavaDialectRuntimeData.readExternal(JavaDialectRuntimeData.java:195)
>>>> at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at java.util.HashMap.readObject(HashMap.java:1155)
>>>> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:601)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
>>>> at
>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at
>>>> org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:58)
>>>> at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at org.drools.rule.Package.readExternal(Package.java:208)
>>>> at
>>>> org.drools.definitions.impl.KnowledgePackageImp.readExternal(KnowledgePackageImp.java:157)
>>>> at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at java.util.ArrayList.readObject(ArrayList.java:733)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:601)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
>>>> at
>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>> at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>> at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>> at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.KnowledgebaseDefinition.addPackages(KnowledgebaseDefinition.java:48)
>>>> at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.KnowledgebaseDefinition.materialize(KnowledgebaseDefinition.java:59)
>>>> at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.TeamDefinition.materialize(TeamDefinition.java:97)
>>>> at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.OperatingModelDefinition.materialize(OperatingModelDefinition.java:36)
>>>> at
>>>> com.paconsulting.pase.core.configuration.runconfig.Run.<init>(Run.java:31)
>>>> at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.RunDefinition.materialize(RunDefinition.java:53)
>>>> at
>>>> com.paconsulting.pase.core.configuration.runconfig.RunConfigExecutor$ScheduleExecutorWrapper.run(RunConfigExecutor.java:69)
>>>> ...
>>>>
>>>> I'm sure I miss something as this is basic functionality. Maybe I must
>>>> tell the kbase where to load the classes...
>>>>
>>>> Can someone point me in the right direction?
>>>>
>>>> Thanks,
>>>> Willem
>>>>
>>>> _______________________________________________
>>>> 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
>>
12 years, 1 month
Attach custom editor on guided decision table cell
by c3310082
Hi,
We would like to render a custom editor when a user double-clicks on a cell
that is present in web guided decision table in Guvnor 5.1 (or later). The
custom editor needs to be invoked for cells that represent a particular fact
model attribute only.
This is somewhat similar to WS custom forms functionality available for
guided business rules.
So far we have seen the
org.drools.guvnor.client.decisiontable.GuidedDecisionTableWidget class that
contains implementation for:
public void onCellDblClick(GridPanel grid,
int rowIndex,
int colIndex,
EventObject e)
in the GridCellListenerAdapter class that opens up text editor or drop down
editor.
We're new to GWT and Guvnor so would appreciate it if anyone can provide the
high level steps.
Thanks
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Attach-custom-editor-...
Sent from the Drools - Dev mailing list archive at Nabble.com.
12 years, 2 months