[JBoss JIRA] Created: (JBRULES-2254) Webdav plugin creates hidden file with colon (":") in filename when copying resources from Guvnor - Causes issues on Windows
by Tihomir Surdilovic (JIRA)
Webdav plugin creates hidden file with colon (":") in filename when copying resources from Guvnor - Causes issues on Windows
----------------------------------------------------------------------------------------------------------------------------
Key: JBRULES-2254
URL: https://jira.jboss.org/jira/browse/JBRULES-2254
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-eclipse
Affects Versions: 5.0.1.FINAL
Reporter: Tihomir Surdilovic
Assignee: Mark Proctor
***
When trying to create rule flow in Jboss Developer Studio
1.) Dragging a file from the Guvnor Repositories view to the Eclipse Navigator
view (i.e. to create a local copy linked to the Guvnor) throws an error
indication that a directory could not be created. This directory name has colons in it (i.e. :), which will never be allowed under Windows XP.
Here is the error:
Could not create directory C:Documents and Settings539578My Documentsworkspace.metadata.pluginsorg.guvnor.tools-2edc6539:1232df2fb51:-7ff6
Could not create directory C:Documents and Settings539578My Documentsworkspace.metadata.pluginsorg.guvnor.tools-2edc6539:1232df2fb51:-7ff6
2.) Trying to use the "Resources from Guvnor" wizard also produces an error, and the wizard does not let you browse the Guvnor repository to choose resources to copy over to eclipse.
Error Reason:
3 entries found for http://localhost:8080/jboss-brms/org.drools.guvnor.Guvnor/webdav
***
The hidden file created by Guvnor plugin uses Webdav to create a hidden file which includes colons in filename which is not allowed by Windows XP.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 2 months
[JBoss JIRA] Created: (JBRULES-2319) When using from (CE) the objects loaded are not available to RHS if the objects are events
by Richard Ambridge (JIRA)
When using from (CE) the objects loaded are not available to RHS if the objects are events
------------------------------------------------------------------------------------------
Key: JBRULES-2319
URL: https://jira.jboss.org/jira/browse/JBRULES-2319
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.0.1.FINAL
Environment: Ubuntu, Eclipse
Reporter: Richard Ambridge
Assignee: Mark Proctor
If I create the sample project from Eclipse, and modify DroolsTest to contain:
ArrayList<Message> a=new ArrayList<Message>();
Message a1=new Message(); a1.setId(1); a1.setMessage("mesC:7"); a1.setStatus(Message.HELLO); a.add(a1);
Message a2=new Message(); a2.setId(2);a2.setMessage("mesC:8"); a2.setStatus(Message.HELLO);a.add(a2);
ksession.setGlobal("data", a);
And set the environment as STREAM,
conf.setOption( EventProcessingOption.STREAM );
and then have a rule:
package com.sample
import com.sample.DroolsTest.Message;
global java.util.ArrayList data;
declare Message
@role( event )
end
rule "Hello World"
when
a : Message(id==4)
m : Message(id!=a.id, message==a.message) from data
then
System.out.println( "a is:"+a+" m is:"+m );
end
The result is:
a is:Message:[4] msg:mesC:7 m is:null
Notice, m is NULL
if you change this to fact based, m will contain the correct value.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 2 months
[JBoss JIRA] Created: (JBRULES-2381) NPE during usage after serialize/deserialize
by Justin Waugh (JIRA)
NPE during usage after serialize/deserialize
--------------------------------------------
Key: JBRULES-2381
URL: https://jira.jboss.org/jira/browse/JBRULES-2381
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.0.1.FINAL
Environment: Windows XP / Server 2003, JDK 1.6
Reporter: Justin Waugh
Assignee: Mark Proctor
Attachments: test.zip
In our application we are often removing and adding new rules. We also have a requirement to serialize state so that we can continue across restarts. We've seen a few problems related to the state of the knowledgebase after serializing/deserializing related to removing rules. Both are NPE's, and from debugging into Drools, both seem to be a case of a deserialized transient value not being wired up correctly. In one case the reader field of ClassFieldReader is not wired, so the InternalReadAccessor is null, and in the other the expression field of EvalCondition is left null. I have not been able to reproduce in a simple test case the first problem, though it is easily reproduceable in our live system, but I was able to reproduce the second, and I've attached a test case to demonstrate it. Both only happen with the combination of removing rules and serialization/deserialization. If the rules are never removed, the problems do not exhibit themselves. Here are the 2 stack traces:
java.lang.NullPointerException
at org.drools.base.ClassFieldReader.getValueType(ClassFieldReader.java:96)
at org.drools.reteoo.CompositeObjectSinkAdapter.addObjectSink(CompositeObjectSinkAdapter.java:98)
at org.drools.reteoo.ObjectSource.addObjectSink(ObjectSource.java:143)
at org.drools.reteoo.AlphaNode.attach(AlphaNode.java:116)
at org.drools.reteoo.AlphaNode.attach(AlphaNode.java:120)
at org.drools.reteoo.builder.BuildUtils.attachNode(BuildUtils.java:160)
at org.drools.reteoo.builder.PatternBuilder.attachAlphaNodes(PatternBuilder.java:295)
at org.drools.reteoo.builder.PatternBuilder.attachPattern(PatternBuilder.java:117)
at org.drools.reteoo.builder.PatternBuilder.build(PatternBuilder.java:70)
at org.drools.reteoo.builder.GroupElementBuilder$AndBuilder.build(GroupElementBuilder.java:126)
at org.drools.reteoo.builder.GroupElementBuilder.build(GroupElementBuilder.java:73)
at org.drools.reteoo.builder.ReteooRuleBuilder.addSubRule(ReteooRuleBuilder.java:153)
at org.drools.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:126)
at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:118)
at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java:362)
at org.drools.common.AbstractRuleBase.addRule(AbstractRuleBase.java:618)
at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:662)
at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:290)
at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:488)
at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:25)
java.lang.NullPointerException
at org.drools.rule.EvalCondition.createContext(EvalCondition.java:110)
at org.drools.reteoo.EvalConditionNode.createMemory(EvalConditionNode.java:231)
at org.drools.common.ConcurrentNodeMemories.createNodeMemory(ConcurrentNodeMemories.java:96)
at org.drools.common.ConcurrentNodeMemories.getNodeMemory(ConcurrentNodeMemories.java:75)
at org.drools.common.AbstractWorkingMemory.getNodeMemory(AbstractWorkingMemory.java:1534)
at org.drools.reteoo.EvalConditionNode.doRemove(EvalConditionNode.java:263)
at org.drools.common.BaseNode.remove(BaseNode.java:95)
at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:360)
at org.drools.common.BaseNode.remove(BaseNode.java:95)
at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:248)
at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:366)
at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:712)
at org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.java:640)
at org.drools.impl.KnowledgeBaseImpl.removeKnowledgePackage(KnowledgeBaseImpl.java:166)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 2 months
[JBoss JIRA] Created: (JBRULES-2358) ClassNotFoundException when using "mvel" as a dialect
by stephane Brossier (JIRA)
ClassNotFoundException when using "mvel" as a dialect
-----------------------------------------------------
Key: JBRULES-2358
URL: https://jira.jboss.org/jira/browse/JBRULES-2358
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 5.0.1.FINAL
Environment: OS: Macos X and Linux
JVM 1.6.0_15 from sun
Reporter: stephane Brossier
Assignee: Mark Proctor
I get a ClassNotFoundexception when using a very simple rule and test. The test dowloads a binary package from guvnor, containing one trivial rule. Then it creates a StatefulKnowledgeSession and insert 500 facts. The drl file uploaded on guvnor is:
--------------------------
package mytest.debug.rules
declare PerUserCount
num : long
profile : String
end
rule "Event"
dialect "java"
when
e: PerUserCount()
then
System.out.println("Possible spammer [p=" + e.getProfile() + "] : count = " + e.getNum());
end
----------------------------
When calling fireAll, i get an exception. Note that:
1) The exception does not show up right away-- it only comes after some of those facts got processed
2) If i change the dialect from default 'mvel" to "java" it works fine:
Exception in thread "main" java.lang.NoClassDefFoundError: mytest/debug/rules/PerUserCount
at ASMAccessorImpl_7377369041259611028980.getValue(Unknown Source)
at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:66)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:99)
at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:102)
at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:102)
at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:102)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:41)
at ASMAccessorImpl_7157329411259611028970.getValue(Unknown Source)
at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:66)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:99)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:107)
at org.mvel2.MVEL.executeExpression(MVEL.java:978)
at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:87)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:934)
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885)
at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1086)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:660)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:627)
at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:183)
at com.drools.debug.Test.runIteration(Test.java:132)
at com.drools.debug.Test.startTest(Test.java:73)
at com.drools.debug.Test.main(Test.java:196)
Caused by: java.lang.ClassNotFoundException: mytest.debug.rules.PerUserCount
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:402)
... 23 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 2 months