<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE>.hmmessage P {
        PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
BODY.hmmessage {
        FONT-SIZE: 10pt; FONT-FAMILY: Tahoma
}
</STYLE>
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY class=hmmessage>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff>In my opinion it will be much easier if you insert individual
Orders and Products</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff>Here's a hurriedly put together example to help you think in terms
of rules (I have no experience of your problem domain so this might be laughably
wrong):-</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face="Courier New"
color=#0000ff>Global ArrayList branch1;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face="Courier New"
color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face="Courier New"
color=#0000ff>rule "Delievery split - Branch 1"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>when</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>$p : Product( $b : branch = "Branch
1" )</FONT></FONT></SPAN></DIV><FONT
face="Courier New"> <FONT
color=#0000ff>$o : Order( products contains $p )</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>then</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>OrderDelievery od = new OrderDelievery($o, $p,
$b);</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>insert(od);</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>end</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face="Courier New"
color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face="Courier New"
color=#0000ff>rule "Consolidate delieveries"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>when</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>$od : OrderDelievery( branch = "Branch 1"
)</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>then</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>branch1.add($od);</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT
face="Courier New"> <FONT
color=#0000ff>end</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff>Or you could just retrieve the OrderDelievery objects from WM at
the end.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff>Drools can definately achieve what you want. If you can solve the
problem with hard-coded rules you can solve it with Drools.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff>Good luck,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=487141210-10032008><FONT face=Arial
color=#0000ff>Mike</FONT></SPAN><SPAN
class=487141210-10032008> </SPAN></DIV><BR>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma><B>From:</B> KinG CD [mailto:kingcd8@hotmail.com]
<BR><B>Sent:</B> 07 March 2008 17:08<BR><B>To:</B> Anstis, Michael
(M.)<BR><B>Subject:</B> RE: Can I use drools to solve my
problem?<BR></FONT><BR></DIV>
<DIV></DIV>alright. I was trying not to boder you.<BR> <BR>My companie is
developing a billing software for a e-commerce site. So we have an Order
and we have to transform it into deliveries. So each Order has many products
and I have to filter it and define X deliveries(i call it 'delivery split').
There are filters like disponibility(in how many days it will be ok), brach(in
what city is the product), type(if it is a kit, ticket...),...<BR> <BR>I
tried many ways and i really think that drools isn't the best tool for my
problem. The point is that mi boos dont want to use the hard code for
define the deliveries. He wats drolls to do everything. So i tried inserting
the the order in the WM, and using 'rom' chained with 'collect' i could
iterate and set a list based in some rules, but how can i create lists based
on the branch. how can i group in Y different lists the Z different products i
have.<BR> <BR>I also inserted each product manually and tried to
manipulate each one. But the point is that the rules should be interdependent
but i was not able to do it.<BR> <BR>the resume is that i want to take
the order and set N deliveries based on interdependent rules. i would like to
do almost everything with drools not using the hard code.<BR> <BR>Sorry
for the English, thanj you very much for the help, i'm a little
lost.<BR><BR>ect: FW: Can I use drools to solve my problem?<BR>> Date: Fri,
7 Mar 2008 15:45:22 +0000<BR>> From: manstis1@ford.com<BR>> To:
rules-users@lists.jboss.org<BR>> CC: kingcd8@hotmail.com<BR>> <BR>>
Posted to forum for a wider audience.<BR>> <BR>> I think you will need
to be more specific with your use case.<BR>> <BR>> With kind
regards,<BR>> <BR>> Mike<BR>> <BR>> -----Original
Message-----<BR>> From: kingcd8@hotmail.com [mailto:kingcd8@hotmail.com]
<BR>> Sent: 07 March 2008 15:35<BR>> To: Anstis, Michael (M.)<BR>>
Subject: Can I use drools to solve my problem?<BR>> <BR>> I have a list
of products and want to divide this list in other lists<BR>> applying the
rules, than i want to apply the same rules to this new lists.<BR>> So I
keep dividing them until no rules are applicable anymore.<BR>> <BR>>
Thank you<BR><BR><BR>
<HR>
Encontre o que você procura com mais eficiência! Instale já a Barra de
Ferramentas com Windows Desktop Search! <A
href="http://www.windowslive.com.br" target=_new>É GRÁTIS!</A>
</BLOCKQUOTE></BODY></HTML>