[JBoss JIRA] (JBRULES-3506) KnowledgeAgent is not detecting changes of a function defined in a package
by Elisabeth Wirth (JIRA)
Elisabeth Wirth created JBRULES-3506:
----------------------------------------
Summary: KnowledgeAgent is not detecting changes of a function defined in a package
Key: JBRULES-3506
URL: https://issues.jboss.org/browse/JBRULES-3506
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.4.0.Final
Reporter: Elisabeth Wirth
Assignee: Mark Proctor
I have a pkg containing a function and I am checking, if there are any changes in my pkg by using the KnowledgeAgent.
Now I have the problem, that changes of the function are not recognized.
In the log I see the following entry:
KnowledgeAgent: impossible to add a map for a null resource! skiping.
I have analyzed the code of KnowledgeAgentImpl and found the reason for the problem:
in the method createPackageFromResource(Resource resource, KnowledgeBuilder kbuilder) in KnowledgeAgentImpl
the mapping for functions is missing.
I have added the following code and everything works as expected:
for( KnowledgePackage kpkg : kpkgs ) {
for ( Rule rule : ((KnowledgePackageImp)kpkg).pkg.getRules() ) {
rule.setResource( resource );
} ....
// added
for ( Function function : ((KnowledgePackageImp)kpkg).pkg.getFunctions().values() ) {
function.setResource( resource );
}
}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] (AS7-2756) Implement username / password strength checks
by Darran Lofthouse (Created) (JIRA)
Implement username / password strength checks
---------------------------------------------
Key: AS7-2756
URL: https://issues.jboss.org/browse/AS7-2756
Project: Application Server 7
Issue Type: Feature Request
Components: Domain Management
Reporter: Darran Lofthouse
Assignee: Brian Stansberry
Fix For: Open To Community
The AS 7.1 distribution now contains a utility for adding new users to the property files, this utility contains some very basic checks of the username and password e.g. bad choices of username and disallowing passwords which match the username.
This Jira is to implement a more advanced check to enforce complexity.
I believe we should have something along the lines of a util that will take a username and password and will respond ACCEPT, REJECT, or WARN where WARN has a message to display to the user and the user an opportunity to ignore the warning or return to re-entry of the details.
At some point in the future this could become a management operations so the implementation shouldn't be too constrained to the current command line tool.
As a management op we may also want to take into account the user making the request, i.e. a user changing their own password has tighter restrictions than the overall administrator.
As the add user script is currently stand alone this may be a nice task for someone to undertake who would like to get more familiar with submitting an AS change without needing to get too involved with the internals of the application server at this stage.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] (JBRULES-3517) Combining custom operators with OR results in compile error
by Stathis Rouvas (JIRA)
Stathis Rouvas created JBRULES-3517:
---------------------------------------
Summary: Combining custom operators with OR results in compile error
Key: JBRULES-3517
URL: https://issues.jboss.org/browse/JBRULES-3517
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-compiler (expert)
Affects Versions: 5.4.0.Final
Environment: Drools.5.4.0
Java.1.6
Linux
Reporter: Stathis Rouvas
Assignee: Mark Proctor
I recently migrated from Drools.5.0.1 to Drools.5.4.0 and I am having issues when combining constraints with OR when custom operators are involved.
For example, the following rule:
rule "r548695.1"
no-loop true
dialect "mvel"
when
gnId : GN()
la : t547147( )
v1717 : Tra48( gnId.gNo==gNo , name F_str[startsWith] la.c547148 || postCode F_str[contains] la.c547149 )
then
System.out.println("Rule r548695.1 fired");
end
results in the following exception:
Unable to Analyse Expression gnId.gNo == gNo && ( F_str0.evaluate( name, la.c547148 ) || F_str1.evaluate( postCode, la.c547149 ) ):
[Error: unable to resolve method using strict-mode: my.package.rulez.Tra48.F_str0()]
[Near : {... gNo == gNo && ( F_str0.evaluate( name, la.c54 ....}]
^ : [Rule name='r548695.1']
Please note, that the same rule using AND (&&) between the custom operators compiles OK.
The above rule had not problem whatsoever in Drools.5.0.1.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] (JBRULES-3552) ConcurrentModificationException in CompositeClassLoader$CachingLoader in multithreading environment
by Peter P (JIRA)
Peter P created JBRULES-3552:
--------------------------------
Summary: ConcurrentModificationException in CompositeClassLoader$CachingLoader in multithreading environment
Key: JBRULES-3552
URL: https://issues.jboss.org/browse/JBRULES-3552
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-api
Affects Versions: 5.4.0.Final
Environment: drools expert, ejb, application server
Reporter: Peter P
Assignee: Mark Proctor
Sometimes we get this exception when executing rules from multiple threads at first time after application server starts, probably same rule file.
Here is our environment:
1. We are using precompiled knowledge base by serialized into file and deserialize it from file when using it;
2. Use same knowledge base object for all threads;
3. Call newStatelessKnowledgeSession from same knowledge base for every thread when executing rules;
4. stateless session is never cached or shared among threads;
Following are stack trace:
[java.util.ConcurrentModificationException] concurrent access to HashMap attempted by Thread[ORB.thread.pool :
3,5,main]
at java.util.HashMap.onExit(HashMap.java:226)
at java.util.HashMap.transfer(HashMap.java:690)
at java.util.HashMap.resize(HashMap.java:676)
at java.util.HashMap.addEntry(HashMap.java:1049)
at java.util.HashMap.put(HashMap.java:561)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:271)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:237)
at org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:163)
at org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:159)
at org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:187)
at org.mvel2.ParserContext.hasImport(ParserContext.java:352)
at org.mvel2.compiler.PropertyVerifier.getBeanProperty(PropertyVerifier.java:163)
at org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:117)
at org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)
at org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:2137)
at org.mvel2.ast.Substatement.<init>(Substatement.java:38)
at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:1073)
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
at org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:2137)
at org.mvel2.ast.Negation.<init>(Negation.java:40)
at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:1181)
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
at org.mvel2.MVEL.compileExpression(MVEL.java:810)
at org.drools.base.mvel.MVELCompilationUnit.compile(MVELCompilationUnit.java:442)
at org.drools.base.mvel.MVELCompilationUnit.getCompiledExpression(MVELCompilationUnit.java:238)
at org.drools.rule.constraint.MvelConstraint.createMvelConditionEvaluator(MvelConstraint.java:173)
at org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:157)
at org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:124)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)
at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)
at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:337)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)
at org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:303)
at com.validators.Validator.execute(Validator.java:436)
at com.ejb.EJBBean.validate(EJBBean.java:122)
at com.ejb._EJSRemote0SLEJBBean_3a6166f4_Tie.validate(_EJSRemote0SLEJBBean_3a6166f4_Tie.java)
at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:621)
at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:474)
at com.ibm.rmi.iiop.ORB.process(ORB.java:503)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1571)
at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2703)
at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2577)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:62)
at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1551)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months