Guvnor build changes summary
by Geoffrey De Smet
Hi guys,
The Guvnor build has changed somewhat. Here's the changes:
- "mvn clean compile" now compiles the GWT java sources to javascript
with the gwt-maven-plugin.
-- So now, to really clean build guvnor, you don't need to run the ANT
script separate no more
-- The maven plugin is about 50% faster than the ANT script.
-- This makes the entire drools build slower (as it now gwt compiles
too), but I am looking into improving that (for example in a development
mode profile, we can only gwt compile to english and firefox)
- The generated GWT javascript files have been removed from subversion
and are now generated under the target/drools-guvnor directory
-- No more A43BF34D23567676DF.js files in svn or tree conflicts on those
directories
I haven't split up drools-guvnor into drools-guvnor-gwtclient and
drools-guvnor-server, because GWT simply doesn't really allow that (not
without making the solution worse than the problem at least...).
If you feel any rough edges, let me know and I 'll take a look at it.
I 'll remove the old ANT script soon, once the maven filtering for the
version and revision is in place.
--
With kind regards,
Geoffrey De Smet
14 years, 2 months
Use Knowledge Agent
by java.developer.researcher
Hello,
I am trying of integrate Drools Guvnor with an java web application. I am
using KnowledgeAgent, but occurs the next exception when execute the code:
java.lang.RuntimeException: java.io.IOException: Server returned HTTP
response code: 401 for URL:
http://localhost:8383/drools-guvnor/org.drools.guvnor.Guvnor/package/org....
at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:559)
at
org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:25)
at
org.examples.test.TestKnowledgeAgent.getKnowledgeBase(TestKnowledgeAgent.java:63)
at org.examples.test.TestKnowledgeAgent.main(TestKnowledgeAgent.java:28)
Caused by: java.io.IOException: Server returned HTTP response code: 401 for
URL:
http://localhost:8383/drools-guvnor/org.drools.guvnor.Guvnor/package/org....
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at org.drools.io.impl.UrlResource.getInputStream(UrlResource.java:76)
at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:512)
... 3 more
Exception in thread "main" java.lang.NullPointerException
at org.examples.test.TestKnowledgeAgent.main(TestKnowledgeAgent.java:37)
What is the cause of this exception? How can I solved it?
Any help is welcome.
Regards,
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Use-Knowledge-Agent-t...
Sent from the Drools - Dev mailing list archive at Nabble.com.
14 years, 3 months
Help need
by jaffar nawaz
Dear Sir/Madam,
I am a newbie to the drools world working as an interne at an IT enterprise. Can any of you be kind enough to answer me the following question.
I want to create a small test class which would register an event when it is fired in the work flow. (I am not sure if i have to use SignalEventCommand). The goal is to have a look up table where i register whatever events are fired during the execution of a work flow. The later part would be to have a web-service which would then communicate with the external systems through the lookup table. I really have no idea of how to proceed with it. I have read a lot of documentation but unfortunately i cannot find a way to get started. Some kind of tutorial will be really helpful and appreciable. Please help me with this if possible. I shall be thankful.
Regards
Jaffar Nawaz
14 years, 3 months
Rules Fest October 2010
by Mark Proctor
Rules Fest is in full swing, http://rulesfest.org/html/home.html.
Great attendance with around 100 people and great food :)
Myself, Edson and Davide are here. Davide did a great lunch time talk.
Kris will be arriving on Wednesday to help with the BootCamp.
It's been a lot of preparation last week and we'll be very busy this
week and next, so apologies if our responses aren't timely on mailing
lists and irc.
14 years, 3 months
soundslike: report on phonetic matching
by Wolfgang Laun
As promised, here's my report on investigating Soundex and related
algorithms.
(1) MVEL2 has an utility returning a "key" String from a "word" String that
is close to what the Original Soundex algorithm is supposed to return. Not
being exactly the same doesn't matter much as long you compare results from
the same algorithm.
(2) The National Archives and Records Administration has issued a modified
Soundex algorithm, which is supposedly slightly better.
(3) Then, there is the New York State Identification and Intelligence System
(NYSIIS) Phonetic Encoder, which is reported to be 2.7% better than Soundex.
(4) A modified version of NYSIIS has also been defined, for both of them see
http://www.dropby.com/NYSIIS.html. (I have some doubts whether this page
reflects a correct implementation of the original NYSIIS algorithm; e.g.,
"Bahr" returns "B", which can't be correct.)
All of the above are only useful for English pronounciations of proper
names.
(5) For German, there is something called "Kölner Phonetik".
I have implemented (1), (2), (3) and (5) in a class
SoundsLikeEvaluatorDefinition implements EvaluatorDefinition, implementing
the operator soundsLike (note the capital 'L') in the variants soundsLike or
soundsLike[orig] for (1), soundsLike[us] for (2), soundsLike[ny] for (3) and
soundsLike[de] for (5).
All of this has been an interesting (for me) exercise, but I really don't
know whether any of this should go into Drools. (There is the issue of
fixing a NPE with the current implementation that calls the MVEL2 code,
though.)
It's up to you, Team, to vote on this; I can contribute the aforementioned
class, with "soundsLike" replaced by "soundslike" as a replacement for the
current implementation (not requiring the MVEL2 utility) with the option of
using the various operator parameters.
Cheers
Wolfgang
14 years, 3 months
soundslike broken
by Wolfgang Laun
The implementation of "soundslilke" is broken in more than one respect. The
conversion of a word to a Soundex string is provided by
org.mvel2.util.Soundex.
(.) There are words where Soundex.soundex returns null, so that the calling
code, in Drools, crashes with a NPE.
(.) The algorithm implemented in Soundex is erroneous. I'm not sure which
Soundex algorithm it is supposed to implement, but it just doesn't meet the
basic requirements.
I have implemented, correctly, the version for the National Archives and
Records Administration (NARA) rule set for the official implementation of
Soundex used by the U.S. Government.
Do we wait for MVEL to correct this bug, or do we just replace it with a
correct implementation?
Regards
Wolfgang
14 years, 3 months
Bug report - a lucky catch if I ever saw one
by Wolfgang Laun
5.1
rule "lucky"
when
Putin: X()
then
modify( Putin ){...}
end
crashes with:
Exception in thread "main" [Error: was expecting type: java.util.Collection;
but found type: null]
[Near : {... ( Putin ....}]
^
[Line: 1, Column: 9]
at org.mvel2.util.CompilerTools.expectType(CompilerTools.java:295)
at org.mvel2.ast.Fold.<init>(Fold.java:70)
at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:961)
at
org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:121)
at
org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:68)
at
org.drools.rule.builder.dialect.mvel.MVELExprAnalyzer.analyzeExpression(MVELExprAnalyzer.java:86)
at
org.drools.rule.builder.dialect.mvel.MVELDialect.analyzeBlock(MVELDialect.java:494)
at
org.drools.rule.builder.dialect.java.JavaConsequenceBuilder.rewriteModify(JavaConsequenceBuilder.java:224)
...
This is, of course, not due to using exactly *that* name; it occurs if
(1) the bound name matches /^.+in$/ and
(2) there is, in "modify", white space between "in" and ")"
-W
14 years, 3 months
slight inconsistency in org\drools\audit
by jschmied
Hi!
I need some trivial fixes:
- the WorkingMemoryInMemoryLogger is not exposed by
KnowledgeRuntimeLoggerProviderImpl
- the XML produced by the WorkingMemoryInMemoryLogger differs from the
WorkingMemoryFileLogger because:
WorkingMemoryFileLogger:
for (LogEvent event : eventsToWrite) {
fileWriter.write(xstream.toXML(event) + "\n");
}
WorkingMemoryInMemoryLogger:
out.writeObject( this.events );
this logger needs to write with a loop too, then it's ok.
Could somebody fix this in trunk?
Thanks!!
juergen
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/slight-inconsistency-...
Sent from the Drools - Dev mailing list archive at Nabble.com.
14 years, 3 months