Drools Guvnor API information?

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Drools Guvnor API information?

Vikas Hazrati
Hi,

I am looking at using Guvnor for our project where users would be creating rules using our UI. For this i need to add / modify rule or any asset for that matter using an api.

Unfortunately, i could not find enough documentation to suggest the best way to use the REST api, which I guess is provided by Guvnor. Could someone let me know the location of where i can get some information for this api. I also see that the issue GUVNOR-1080 (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so the api should exist right? or that we cannot access it remotely until we have the Atom Pub Interface done?

Help appreciated .
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

Luciano A. Andrade
I think you are looking for the "Drools REST API", google it and you
find some documentation.

2011/2/11 Vikas Hazrati <[hidden email]>:

>
> Hi,
>
> I am looking at using Guvnor for our project where users would be creating
> rules using our UI. For this i need to add / modify rule or any asset for
> that matter using an api.
>
> Unfortunately, i could not find enough documentation to suggest the best way
> to use the REST api, which I guess is provided by Guvnor. Could someone let
> me know the location of where i can get some information for this api. I
> also see that the issue GUVNOR-1080
> (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so the api
> should exist right? or that we cannot access it remotely until we have the
> Atom Pub Interface done?
>
> Help appreciated .
> --
> View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Guvnor-API-information-tp2471798p2471798.html
> Sent from the Drools - User mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

Vikas Hazrati
Hi Luciano,

Believe me ;) I already did that before posting to the group but the information that I found is skeletal or anywhere near it. Do we have the api documented somewhere?

Also i see that people on this group talk about the KnowledgeAgent and KBuilder etc. Where is all that documented? I would like to use the api to pump rules into the govrnor from my flex UI. Any pointers to the api which I can explore to do that are appreciated.

On the IRC channel i met Rikkola who suggested to use the webdav, I would like to explore that but at the same time I would like to see if REST or any alternate api suits my need. Again, help appreciated :)

Regards | Vikas

On Fri, Feb 11, 2011 at 8:01 PM, Luciano A. Andrade <[hidden email]> wrote:
I think you are looking for the "Drools REST API", google it and you
find some documentation.

2011/2/11 Vikas Hazrati <[hidden email]>:
>
> Hi,
>
> I am looking at using Guvnor for our project where users would be creating
> rules using our UI. For this i need to add / modify rule or any asset for
> that matter using an api.
>
> Unfortunately, i could not find enough documentation to suggest the best way
> to use the REST api, which I guess is provided by Guvnor. Could someone let
> me know the location of where i can get some information for this api. I
> also see that the issue GUVNOR-1080
> (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so the api
> should exist right? or that we cannot access it remotely until we have the
> Atom Pub Interface done?
>
> Help appreciated .
> --
> View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Guvnor-API-information-tp2471798p2471798.html
> Sent from the Drools - User mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users



--
Best Regards | Vikas

Inphina Technologies
Co-Founder and Technical Architect
Mobile: +91-9899174194
Landline: +91-11-25126026 




_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

Luciano A. Andrade
I think i am in the same situation, i following
http://www.reverttoconsole.com/blog/java/accessing-drools-5-rules-via-a-restful-api-using-drools-server-and-groovy-restclient/
it recomends
http://www.amazon.com/JBoss-Drools-Business-Rules-Browne/dp/1847196063/ref=sr_1_1?ie=UTF8&s=books&qid=1259786026&sr=8-1
but i found a similar example on the chapter 11 of
http://www.amazon.com/Drools-JBoss-Rules-Developers-Guide/dp/1847195644/ref=pd_bxgy_b_text_b#reader_1847195644

i didn't manage to run properly first and foremost since i didn't have
the rules in place as the example requires, and since i have to run it
from PHP, i am working on it, so if you make any progress please i am
really interested.

Also i don't really understand how it sopuse to run the rules from the
webdav interface.

2011/2/11 Vikas Hazrati <[hidden email]>:

> Hi Luciano,
> Believe me ;) I already did that before posting to the group but the
> information that I found is skeletal or anywhere near it. Do we have the api
> documented somewhere?
> Also i see that people on this group talk about the KnowledgeAgent and
> KBuilder etc. Where is all that documented? I would like to use the api to
> pump rules into the govrnor from my flex UI. Any pointers to the api which I
> can explore to do that are appreciated.
> On the IRC channel i met Rikkola who suggested to use the webdav, I would
> like to explore that but at the same time I would like to see if REST or any
> alternate api suits my need. Again, help appreciated :)
> Regards | Vikas
>
> On Fri, Feb 11, 2011 at 8:01 PM, Luciano A. Andrade
> <[hidden email]> wrote:
>>
>> I think you are looking for the "Drools REST API", google it and you
>> find some documentation.
>>
>> 2011/2/11 Vikas Hazrati <[hidden email]>:
>> >
>> > Hi,
>> >
>> > I am looking at using Guvnor for our project where users would be
>> > creating
>> > rules using our UI. For this i need to add / modify rule or any asset
>> > for
>> > that matter using an api.
>> >
>> > Unfortunately, i could not find enough documentation to suggest the best
>> > way
>> > to use the REST api, which I guess is provided by Guvnor. Could someone
>> > let
>> > me know the location of where i can get some information for this api. I
>> > also see that the issue GUVNOR-1080
>> > (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so the
>> > api
>> > should exist right? or that we cannot access it remotely until we have
>> > the
>> > Atom Pub Interface done?
>> >
>> > Help appreciated .
>> > --
>> > View this message in context:
>> > http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Guvnor-API-information-tp2471798p2471798.html
>> > Sent from the Drools - User mailing list archive at Nabble.com.
>> > _______________________________________________
>> > rules-users mailing list
>> > [hidden email]
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> --
> Best Regards | Vikas
>
> Inphina Technologies
> Co-Founder and Technical Architect
> Mobile: +91-9899174194
> Landline: +91-11-25126026
> http://inphina.com
> http://thoughts.inphina.com
> http://twitter.com/inphina
>
>
> _______________________________________________
> rules-users mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

manstis
jervis (jliu on IRC) is the REST API developer.

He's away on vacation at the moment but is back next week.

FYI, he keeps a WIKI here http://community.jboss.org/wiki/AtomPubinterfaceforGuvnor.

Cheers,

On 11 February 2011 18:50, Luciano A. Andrade <[hidden email]> wrote:
I think i am in the same situation, i following
http://www.reverttoconsole.com/blog/java/accessing-drools-5-rules-via-a-restful-api-using-drools-server-and-groovy-restclient/
it recomends
http://www.amazon.com/JBoss-Drools-Business-Rules-Browne/dp/1847196063/ref=sr_1_1?ie=UTF8&s=books&qid=1259786026&sr=8-1
but i found a similar example on the chapter 11 of
http://www.amazon.com/Drools-JBoss-Rules-Developers-Guide/dp/1847195644/ref=pd_bxgy_b_text_b#reader_1847195644

i didn't manage to run properly first and foremost since i didn't have
the rules in place as the example requires, and since i have to run it
from PHP, i am working on it, so if you make any progress please i am
really interested.

Also i don't really understand how it sopuse to run the rules from the
webdav interface.

2011/2/11 Vikas Hazrati <[hidden email]>:
> Hi Luciano,
> Believe me ;) I already did that before posting to the group but the
> information that I found is skeletal or anywhere near it. Do we have the api
> documented somewhere?
> Also i see that people on this group talk about the KnowledgeAgent and
> KBuilder etc. Where is all that documented? I would like to use the api to
> pump rules into the govrnor from my flex UI. Any pointers to the api which I
> can explore to do that are appreciated.
> On the IRC channel i met Rikkola who suggested to use the webdav, I would
> like to explore that but at the same time I would like to see if REST or any
> alternate api suits my need. Again, help appreciated :)
> Regards | Vikas
>
> On Fri, Feb 11, 2011 at 8:01 PM, Luciano A. Andrade
> <[hidden email]> wrote:
>>
>> I think you are looking for the "Drools REST API", google it and you
>> find some documentation.
>>
>> 2011/2/11 Vikas Hazrati <[hidden email]>:
>> >
>> > Hi,
>> >
>> > I am looking at using Guvnor for our project where users would be
>> > creating
>> > rules using our UI. For this i need to add / modify rule or any asset
>> > for
>> > that matter using an api.
>> >
>> > Unfortunately, i could not find enough documentation to suggest the best
>> > way
>> > to use the REST api, which I guess is provided by Guvnor. Could someone
>> > let
>> > me know the location of where i can get some information for this api. I
>> > also see that the issue GUVNOR-1080
>> > (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so the
>> > api
>> > should exist right? or that we cannot access it remotely until we have
>> > the
>> > Atom Pub Interface done?
>> >
>> > Help appreciated .
>> > --
>> > View this message in context:
>> > http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Guvnor-API-information-tp2471798p2471798.html
>> > Sent from the Drools - User mailing list archive at Nabble.com.
>> > _______________________________________________
>> > rules-users mailing list
>> > [hidden email]
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> --
> Best Regards | Vikas
>
> Inphina Technologies
> Co-Founder and Technical Architect
> Mobile: +91-9899174194
> Landline: +91-11-25126026
> http://inphina.com
> http://thoughts.inphina.com
> http://twitter.com/inphina
>
>
> _______________________________________________
> rules-users mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

Vikas Hazrati
Hi Jervis, could you please ping us once you are back from the vacation. There seem to be some people waiting for your help :)

Regards

2011/2/12 Michael Anstis <[hidden email]>
jervis (jliu on IRC) is the REST API developer.

He's away on vacation at the moment but is back next week.

FYI, he keeps a WIKI here http://community.jboss.org/wiki/AtomPubinterfaceforGuvnor.

Cheers,


On 11 February 2011 18:50, Luciano A. Andrade <[hidden email]> wrote:
I think i am in the same situation, i following
http://www.reverttoconsole.com/blog/java/accessing-drools-5-rules-via-a-restful-api-using-drools-server-and-groovy-restclient/
it recomends
http://www.amazon.com/JBoss-Drools-Business-Rules-Browne/dp/1847196063/ref=sr_1_1?ie=UTF8&s=books&qid=1259786026&sr=8-1
but i found a similar example on the chapter 11 of
http://www.amazon.com/Drools-JBoss-Rules-Developers-Guide/dp/1847195644/ref=pd_bxgy_b_text_b#reader_1847195644

i didn't manage to run properly first and foremost since i didn't have
the rules in place as the example requires, and since i have to run it
from PHP, i am working on it, so if you make any progress please i am
really interested.

Also i don't really understand how it sopuse to run the rules from the
webdav interface.

2011/2/11 Vikas Hazrati <[hidden email]>:
> Hi Luciano,
> Believe me ;) I already did that before posting to the group but the
> information that I found is skeletal or anywhere near it. Do we have the api
> documented somewhere?
> Also i see that people on this group talk about the KnowledgeAgent and
> KBuilder etc. Where is all that documented? I would like to use the api to
> pump rules into the govrnor from my flex UI. Any pointers to the api which I
> can explore to do that are appreciated.
> On the IRC channel i met Rikkola who suggested to use the webdav, I would
> like to explore that but at the same time I would like to see if REST or any
> alternate api suits my need. Again, help appreciated :)
> Regards | Vikas
>
> On Fri, Feb 11, 2011 at 8:01 PM, Luciano A. Andrade
> <[hidden email]> wrote:
>>
>> I think you are looking for the "Drools REST API", google it and you
>> find some documentation.
>>
>> 2011/2/11 Vikas Hazrati <[hidden email]>:
>> >
>> > Hi,
>> >
>> > I am looking at using Guvnor for our project where users would be
>> > creating
>> > rules using our UI. For this i need to add / modify rule or any asset
>> > for
>> > that matter using an api.
>> >
>> > Unfortunately, i could not find enough documentation to suggest the best
>> > way
>> > to use the REST api, which I guess is provided by Guvnor. Could someone
>> > let
>> > me know the location of where i can get some information for this api. I
>> > also see that the issue GUVNOR-1080
>> > (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so the
>> > api
>> > should exist right? or that we cannot access it remotely until we have
>> > the
>> > Atom Pub Interface done?
>> >
>> > Help appreciated .
>> > --
>> > View this message in context:
>> > http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Guvnor-API-information-tp2471798p2471798.html
>> > Sent from the Drools - User mailing list archive at Nabble.com.
>> > _______________________________________________
>> > rules-users mailing list
>> > [hidden email]
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> --
> Best Regards | Vikas
>
> Inphina Technologies
> Co-Founder and Technical Architect
> Mobile: +91-9899174194
> Landline: +91-11-25126026
> http://inphina.com
> http://thoughts.inphina.com
> http://twitter.com/inphina
>
>
> _______________________________________________
> rules-users mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users




--
Best Regards | Vikas

Inphina Technologies
Co-Founder and Technical Architect
Mobile: +91-9899174194
Landline: +91-11-25126026 




_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

Vikas Hazrati
In reply to this post by Luciano A. Andrade
Hey Luciano, Meanwhile i tries pumping in the rule with a webdav api (Sardine in my case) and that seems to work and trigger ok for me. this is how i did that

public class SardineTest {

public static void main(String[] args) throws SardineException {
Sardine sardine = SardineFactory.begin("admin", "admin");
List<DavResource> resources = sardine
for (DavResource res : resources) {
System.out.println(res); // calls the .toString() method.
}

addARule();
}

private static void addARule() throws SardineException {
Sardine sardine = SardineFactory.begin("username", "password");
String ruleDescription = "when Entity(entityName==\"Car1s\") then System.out.println( \"*************rule executed\")";
byte[] data = ruleDescription.getBytes();
System.out.println("Rule added ...");
}

}


once i did this, I could see the rule added as a technical rule on the guvnor web app ... the and then triggered to rule with something like this


public class GuvnorTest {
@Test
public void testDroolsWithGuvnor() throws Exception {
KnowledgeBase knowledgeBase = createKnowledgeBase();
StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
try {
Entity entity = new Entity();
entity.setEntityName("Car1s");
session.insert(entity);
Assert.assertTrue(session.getFactCount() == 1);
System.out.println("And the count is  " + session.getFactCount());
session.fireAllRules();
System.out.println("And the count is  " + session.getFactCount());
Assert.assertEquals(1, session.getFactCount());
}
finally {
session.dispose();
}
}

private static KnowledgeBase createKnowledgeBase() {
KnowledgeAgentConfiguration kaconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
kaconf.setProperty( "drools.agent.scanDirectories", "false" );
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "test agent", kaconf );
kagent.applyChangeSet( ResourceFactory.newClassPathResource("opal-guvnor.xml"));
return kagent.getKnowledgeBase();
}
}

where opal-guvnor.xml is my change set file and goes like this

    <add>
         <resource source='http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/Analytics/LATEST.drl' type='DRL' basicAuthentication="enabled" username="admin" password="admin"/>
    </add>
</change-set>


not sure if this is the right / best way but at least could add a rule to the repository with this. Ideally, 

1) I would like to run a validate / verify to see that the rule has been added correctly, I dont know the api to do that
2) I would like to rebuild my package and/or create a new snapshot, dont know how to do that either though the rule seems to execute without doing that.
3) Have not given any thoughts about security etc right now ...


@Drools experts, your thoughts?

Regards | Vikas


On Sat, Feb 12, 2011 at 12:20 AM, Luciano A. Andrade <[hidden email]> wrote:
I think i am in the same situation, i following
http://www.reverttoconsole.com/blog/java/accessing-drools-5-rules-via-a-restful-api-using-drools-server-and-groovy-restclient/
it recomends
http://www.amazon.com/JBoss-Drools-Business-Rules-Browne/dp/1847196063/ref=sr_1_1?ie=UTF8&s=books&qid=1259786026&sr=8-1
but i found a similar example on the chapter 11 of
http://www.amazon.com/Drools-JBoss-Rules-Developers-Guide/dp/1847195644/ref=pd_bxgy_b_text_b#reader_1847195644

i didn't manage to run properly first and foremost since i didn't have
the rules in place as the example requires, and since i have to run it
from PHP, i am working on it, so if you make any progress please i am
really interested.

Also i don't really understand how it sopuse to run the rules from the
webdav interface.

2011/2/11 Vikas Hazrati <[hidden email]>:
> Hi Luciano,
> Believe me ;) I already did that before posting to the group but the
> information that I found is skeletal or anywhere near it. Do we have the api
> documented somewhere?
> Also i see that people on this group talk about the KnowledgeAgent and
> KBuilder etc. Where is all that documented? I would like to use the api to
> pump rules into the govrnor from my flex UI. Any pointers to the api which I
> can explore to do that are appreciated.
> On the IRC channel i met Rikkola who suggested to use the webdav, I would
> like to explore that but at the same time I would like to see if REST or any
> alternate api suits my need. Again, help appreciated :)
> Regards | Vikas
>
> On Fri, Feb 11, 2011 at 8:01 PM, Luciano A. Andrade
> <[hidden email]> wrote:
>>
>> I think you are looking for the "Drools REST API", google it and you
>> find some documentation.
>>
>> 2011/2/11 Vikas Hazrati <[hidden email]>:
>> >
>> > Hi,
>> >
>> > I am looking at using Guvnor for our project where users would be
>> > creating
>> > rules using our UI. For this i need to add / modify rule or any asset
>> > for
>> > that matter using an api.
>> >
>> > Unfortunately, i could not find enough documentation to suggest the best
>> > way
>> > to use the REST api, which I guess is provided by Guvnor. Could someone
>> > let
>> > me know the location of where i can get some information for this api. I
>> > also see that the issue GUVNOR-1080
>> > (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so the
>> > api
>> > should exist right? or that we cannot access it remotely until we have
>> > the
>> > Atom Pub Interface done?
>> >
>> > Help appreciated .
>> > --
>> > View this message in context:
>> > http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Guvnor-API-information-tp2471798p2471798.html
>> > Sent from the Drools - User mailing list archive at Nabble.com.
>> > _______________________________________________
>> > rules-users mailing list
>> > [hidden email]
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> --
> Best Regards | Vikas
>
> Inphina Technologies
> Co-Founder and Technical Architect
> Mobile: +91-9899174194
> Landline: +91-11-25126026
> http://inphina.com
> http://thoughts.inphina.com
> http://twitter.com/inphina
>
>
> _______________________________________________
> rules-users mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users



--
Best Regards | Vikas

Inphina Technologies
Co-Founder and Technical Architect
Mobile: +91-9899174194
Landline: +91-11-25126026 




_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

Luciano A. Andrade
Great, but i like (need really) to triger the rules from a web
service, since i am outside the JVM, i will use the web interface to
manage the rules, at least at the beginning.

2011/2/14 Vikas Hazrati <[hidden email]>:

> Hey Luciano, Meanwhile i tries pumping in the rule with a webdav api
> (Sardine in my case) and that seems to work and trigger ok for me. this is
> how i did that
> public class SardineTest {
> public static void main(String[] args) throws SardineException {
> Sardine sardine = SardineFactory.begin("admin", "admin");
> List<DavResource> resources = sardine
> .getResources("http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/webdav/packages");
> for (DavResource res : resources) {
> System.out.println(res); // calls the .toString() method.
> }
> addARule();
> }
> private static void addARule() throws SardineException {
> Sardine sardine = SardineFactory.begin("username", "password");
> String ruleDescription = "when Entity(entityName==\"Car1s\") then
> System.out.println( \"*************rule executed\")";
> byte[] data = ruleDescription.getBytes();
> sardine.put("http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/webdav/packages/Analytics/SimpleDRLRule.drl",
> data);
> System.out.println("Rule added ...");
> }
> }
>
> once i did this, I could see the rule added as a technical rule on the
> guvnor web app ... the and then triggered to rule with something like this
>
> public class GuvnorTest {
> @Test
> public void testDroolsWithGuvnor() throws Exception {
> KnowledgeBase knowledgeBase = createKnowledgeBase();
> StatefulKnowledgeSession session =
> knowledgeBase.newStatefulKnowledgeSession();
> try {
> Entity entity = new Entity();
> entity.setEntityName("Car1s");
> session.insert(entity);
> Assert.assertTrue(session.getFactCount() == 1);
> System.out.println("And the count is  " + session.getFactCount());
> session.fireAllRules();
> System.out.println("And the count is  " + session.getFactCount());
> Assert.assertEquals(1, session.getFactCount());
> }
> finally {
> session.dispose();
> }
> }
> private static KnowledgeBase createKnowledgeBase() {
> KnowledgeAgentConfiguration kaconf =
> KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
> kaconf.setProperty( "drools.agent.scanDirectories", "false" );
> KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "test
> agent", kaconf );
> kagent.applyChangeSet(
> ResourceFactory.newClassPathResource("opal-guvnor.xml"));
> return kagent.getKnowledgeBase();
> }
> }
> where opal-guvnor.xml is my change set file and goes like this
> <change-set xmlns='http://drools.org/drools-5.0/change-set'
>     xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
>     xs:schemaLocation='http://drools.org/drools-5.0/change-set
> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'
>>
>     <add>
>          <resource
> source='http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/Analytics/LATEST.drl'
> type='DRL' basicAuthentication="enabled" username="admin" password="admin"/>
>     </add>
> </change-set>
>
> not sure if this is the right / best way but at least could add a rule to
> the repository with this. Ideally,
> 1) I would like to run a validate / verify to see that the rule has been
> added correctly, I dont know the api to do that
> 2) I would like to rebuild my package and/or create a new snapshot, dont
> know how to do that either though the rule seems to execute without doing
> that.
> 3) Have not given any thoughts about security etc right now ...
>
> @Drools experts, your thoughts?
> Regards | Vikas
>
> On Sat, Feb 12, 2011 at 12:20 AM, Luciano A. Andrade
> <[hidden email]> wrote:
>>
>> I think i am in the same situation, i following
>>
>> http://www.reverttoconsole.com/blog/java/accessing-drools-5-rules-via-a-restful-api-using-drools-server-and-groovy-restclient/
>> it recomends
>>
>> http://www.amazon.com/JBoss-Drools-Business-Rules-Browne/dp/1847196063/ref=sr_1_1?ie=UTF8&s=books&qid=1259786026&sr=8-1
>> but i found a similar example on the chapter 11 of
>>
>> http://www.amazon.com/Drools-JBoss-Rules-Developers-Guide/dp/1847195644/ref=pd_bxgy_b_text_b#reader_1847195644
>>
>> i didn't manage to run properly first and foremost since i didn't have
>> the rules in place as the example requires, and since i have to run it
>> from PHP, i am working on it, so if you make any progress please i am
>> really interested.
>>
>> Also i don't really understand how it sopuse to run the rules from the
>> webdav interface.
>>
>> 2011/2/11 Vikas Hazrati <[hidden email]>:
>> > Hi Luciano,
>> > Believe me ;) I already did that before posting to the group but the
>> > information that I found is skeletal or anywhere near it. Do we have the
>> > api
>> > documented somewhere?
>> > Also i see that people on this group talk about the KnowledgeAgent and
>> > KBuilder etc. Where is all that documented? I would like to use the api
>> > to
>> > pump rules into the govrnor from my flex UI. Any pointers to the api
>> > which I
>> > can explore to do that are appreciated.
>> > On the IRC channel i met Rikkola who suggested to use the webdav, I
>> > would
>> > like to explore that but at the same time I would like to see if REST or
>> > any
>> > alternate api suits my need. Again, help appreciated :)
>> > Regards | Vikas
>> >
>> > On Fri, Feb 11, 2011 at 8:01 PM, Luciano A. Andrade
>> > <[hidden email]> wrote:
>> >>
>> >> I think you are looking for the "Drools REST API", google it and you
>> >> find some documentation.
>> >>
>> >> 2011/2/11 Vikas Hazrati <[hidden email]>:
>> >> >
>> >> > Hi,
>> >> >
>> >> > I am looking at using Guvnor for our project where users would be
>> >> > creating
>> >> > rules using our UI. For this i need to add / modify rule or any asset
>> >> > for
>> >> > that matter using an api.
>> >> >
>> >> > Unfortunately, i could not find enough documentation to suggest the
>> >> > best
>> >> > way
>> >> > to use the REST api, which I guess is provided by Guvnor. Could
>> >> > someone
>> >> > let
>> >> > me know the location of where i can get some information for this
>> >> > api. I
>> >> > also see that the issue GUVNOR-1080
>> >> > (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so
>> >> > the
>> >> > api
>> >> > should exist right? or that we cannot access it remotely until we
>> >> > have
>> >> > the
>> >> > Atom Pub Interface done?
>> >> >
>> >> > Help appreciated .
>> >> > --
>> >> > View this message in context:
>> >> >
>> >> > http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Guvnor-API-information-tp2471798p2471798.html
>> >> > Sent from the Drools - User mailing list archive at Nabble.com.
>> >> > _______________________________________________
>> >> > rules-users mailing list
>> >> > [hidden email]
>> >> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >> >
>> >> _______________________________________________
>> >> rules-users mailing list
>> >> [hidden email]
>> >> https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>> >
>> > --
>> > Best Regards | Vikas
>> >
>> > Inphina Technologies
>> > Co-Founder and Technical Architect
>> > Mobile: +91-9899174194
>> > Landline: +91-11-25126026
>> > http://inphina.com
>> > http://thoughts.inphina.com
>> > http://twitter.com/inphina
>> >
>> >
>> > _______________________________________________
>> > rules-users mailing list
>> > [hidden email]
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>>
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> --
> Best Regards | Vikas
>
> Inphina Technologies
> Co-Founder and Technical Architect
> Mobile: +91-9899174194
> Landline: +91-11-25126026
> http://inphina.com
> http://thoughts.inphina.com
> http://twitter.com/inphina
>
>
> _______________________________________________
> rules-users mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

Luciano A. Andrade
I did it! If any one find this used fool. To connect the drools server
with php, you need a php code like the following:
====================
<?php
$url = "http://192.168.56.101:8080/drools-server/kservice/kservice/rest/execute"
;
$post_data = file_get_contents("/home/luciano/drools-request2.xml");
$headers = array("Content-Type" => 'text/plain; charset=utf-8',
"Accept" => "text/plain; charset=utf-8");
$rta = http_post_data($url, $post_data,array('headers' => $headers ));
====================
The file "/home/luciano/drools-request2.xml" looks like this
====================
<?xml version="1.0" encoding="UTF-8"?>
<batch-execution lookup="ksession1">
  <insert out-identifier="Message1" return-object="true">
    <mortgages.Applicant>
      <name>john</name>
      <age>50</age>
      <approved>False</approved>
      <creditRating>OK</creditRating>
    </mortgages.Applicant>
  </insert>
  <insert out-identifier="Message2" return-object="true">
    <mortgages.LoanApplication>
      <amount>10000</amount>
    </mortgages.LoanApplication>
  </insert>
  <insert out-identifier="Message3" return-object="true">
    <mortgages.IncomeSource>
      <amount>1000</amount>
    </mortgages.IncomeSource>
  </insert>
  <fire-all-rules/>
</batch-execution>
===================
this will return something like
==========================
string(992) "HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.2.3.GA (build:
SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0
Date: Tue, 15 Feb 2011 18:46:53 GMT
Content-Type: text/plain
Content-Length: 757

<?xml version='1.0' encoding='UTF-8'?><execution-results><result
identifier="Message2"><mortgages.LoanApplication><amount>10000</amount><approved>false</approved><explanation>Only
AA</explanation></mortgages.LoanApplication></result><result
identifier="Message1"><mortgages.Applicant><creditRating>OK</creditRating><approved>true</approved><name>john</name><age>50</age></mortgages.Applicant></result><result
identifier="Message3"><mortgages.IncomeSource><amount>1000</amount></mortgages.IncomeSource></result><fact-handle
identifier="Message2"
external-form="0:-1:23979927:1:3:null"/><fact-handle
identifier="Message1"
external-form="0:2:8614136:1:2:DEFAULT"/><fact-handle
identifier="Message3"
external-form="0:4:8366806:1:4:DEFAULT"/></execution-results>"
=========================
In the drools-server, i unzip the drools-5.1.1-server.war inside the
jboss-4.2.3.GA/server/default/deploy/drools-server.war/ directory. The
jboos server is from the drools-5.1.1-guvnor-standalone.zip, I
download the pkg file from the guvnor / KnowlegeBase / mortgages / URL
for package binary, download the file and placed in the
jboss-4.2.3.GA/server/default/deploy/drools-server.war/WEB-INF/classes
directory.
Modify the file
jboss-4.2.3.GA/server/default/deploy/drools-server.war/WEB-INF/classes/knowledge-services.xml
and change the line
<drools:resource  type="DRL" source="classpath:test.drl>
for
<drools:resource type="PKG" source="classpath:mortgages.pkg" />



2011/2/14 Luciano A. Andrade <[hidden email]>:

> Great, but i like (need really) to triger the rules from a web
> service, since i am outside the JVM, i will use the web interface to
> manage the rules, at least at the beginning.
>
> 2011/2/14 Vikas Hazrati <[hidden email]>:
>> Hey Luciano, Meanwhile i tries pumping in the rule with a webdav api
>> (Sardine in my case) and that seems to work and trigger ok for me. this is
>> how i did that
>> public class SardineTest {
>> public static void main(String[] args) throws SardineException {
>> Sardine sardine = SardineFactory.begin("admin", "admin");
>> List<DavResource> resources = sardine
>> .getResources("http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/webdav/packages");
>> for (DavResource res : resources) {
>> System.out.println(res); // calls the .toString() method.
>> }
>> addARule();
>> }
>> private static void addARule() throws SardineException {
>> Sardine sardine = SardineFactory.begin("username", "password");
>> String ruleDescription = "when Entity(entityName==\"Car1s\") then
>> System.out.println( \"*************rule executed\")";
>> byte[] data = ruleDescription.getBytes();
>> sardine.put("http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/webdav/packages/Analytics/SimpleDRLRule.drl",
>> data);
>> System.out.println("Rule added ...");
>> }
>> }
>>
>> once i did this, I could see the rule added as a technical rule on the
>> guvnor web app ... the and then triggered to rule with something like this
>>
>> public class GuvnorTest {
>> @Test
>> public void testDroolsWithGuvnor() throws Exception {
>> KnowledgeBase knowledgeBase = createKnowledgeBase();
>> StatefulKnowledgeSession session =
>> knowledgeBase.newStatefulKnowledgeSession();
>> try {
>> Entity entity = new Entity();
>> entity.setEntityName("Car1s");
>> session.insert(entity);
>> Assert.assertTrue(session.getFactCount() == 1);
>> System.out.println("And the count is  " + session.getFactCount());
>> session.fireAllRules();
>> System.out.println("And the count is  " + session.getFactCount());
>> Assert.assertEquals(1, session.getFactCount());
>> }
>> finally {
>> session.dispose();
>> }
>> }
>> private static KnowledgeBase createKnowledgeBase() {
>> KnowledgeAgentConfiguration kaconf =
>> KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
>> kaconf.setProperty( "drools.agent.scanDirectories", "false" );
>> KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "test
>> agent", kaconf );
>> kagent.applyChangeSet(
>> ResourceFactory.newClassPathResource("opal-guvnor.xml"));
>> return kagent.getKnowledgeBase();
>> }
>> }
>> where opal-guvnor.xml is my change set file and goes like this
>> <change-set xmlns='http://drools.org/drools-5.0/change-set'
>>     xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
>>     xs:schemaLocation='http://drools.org/drools-5.0/change-set
>> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'
>>>
>>     <add>
>>          <resource
>> source='http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/Analytics/LATEST.drl'
>> type='DRL' basicAuthentication="enabled" username="admin" password="admin"/>
>>     </add>
>> </change-set>
>>
>> not sure if this is the right / best way but at least could add a rule to
>> the repository with this. Ideally,
>> 1) I would like to run a validate / verify to see that the rule has been
>> added correctly, I dont know the api to do that
>> 2) I would like to rebuild my package and/or create a new snapshot, dont
>> know how to do that either though the rule seems to execute without doing
>> that.
>> 3) Have not given any thoughts about security etc right now ...
>>
>> @Drools experts, your thoughts?
>> Regards | Vikas
>>
>> On Sat, Feb 12, 2011 at 12:20 AM, Luciano A. Andrade
>> <[hidden email]> wrote:
>>>
>>> I think i am in the same situation, i following
>>>
>>> http://www.reverttoconsole.com/blog/java/accessing-drools-5-rules-via-a-restful-api-using-drools-server-and-groovy-restclient/
>>> it recomends
>>>
>>> http://www.amazon.com/JBoss-Drools-Business-Rules-Browne/dp/1847196063/ref=sr_1_1?ie=UTF8&s=books&qid=1259786026&sr=8-1
>>> but i found a similar example on the chapter 11 of
>>>
>>> http://www.amazon.com/Drools-JBoss-Rules-Developers-Guide/dp/1847195644/ref=pd_bxgy_b_text_b#reader_1847195644
>>>
>>> i didn't manage to run properly first and foremost since i didn't have
>>> the rules in place as the example requires, and since i have to run it
>>> from PHP, i am working on it, so if you make any progress please i am
>>> really interested.
>>>
>>> Also i don't really understand how it sopuse to run the rules from the
>>> webdav interface.
>>>
>>> 2011/2/11 Vikas Hazrati <[hidden email]>:
>>> > Hi Luciano,
>>> > Believe me ;) I already did that before posting to the group but the
>>> > information that I found is skeletal or anywhere near it. Do we have the
>>> > api
>>> > documented somewhere?
>>> > Also i see that people on this group talk about the KnowledgeAgent and
>>> > KBuilder etc. Where is all that documented? I would like to use the api
>>> > to
>>> > pump rules into the govrnor from my flex UI. Any pointers to the api
>>> > which I
>>> > can explore to do that are appreciated.
>>> > On the IRC channel i met Rikkola who suggested to use the webdav, I
>>> > would
>>> > like to explore that but at the same time I would like to see if REST or
>>> > any
>>> > alternate api suits my need. Again, help appreciated :)
>>> > Regards | Vikas
>>> >
>>> > On Fri, Feb 11, 2011 at 8:01 PM, Luciano A. Andrade
>>> > <[hidden email]> wrote:
>>> >>
>>> >> I think you are looking for the "Drools REST API", google it and you
>>> >> find some documentation.
>>> >>
>>> >> 2011/2/11 Vikas Hazrati <[hidden email]>:
>>> >> >
>>> >> > Hi,
>>> >> >
>>> >> > I am looking at using Guvnor for our project where users would be
>>> >> > creating
>>> >> > rules using our UI. For this i need to add / modify rule or any asset
>>> >> > for
>>> >> > that matter using an api.
>>> >> >
>>> >> > Unfortunately, i could not find enough documentation to suggest the
>>> >> > best
>>> >> > way
>>> >> > to use the REST api, which I guess is provided by Guvnor. Could
>>> >> > someone
>>> >> > let
>>> >> > me know the location of where i can get some information for this
>>> >> > api. I
>>> >> > also see that the issue GUVNOR-1080
>>> >> > (https://issues.jboss.org/browse/GUVNOR-1080) is marked resolved so
>>> >> > the
>>> >> > api
>>> >> > should exist right? or that we cannot access it remotely until we
>>> >> > have
>>> >> > the
>>> >> > Atom Pub Interface done?
>>> >> >
>>> >> > Help appreciated .
>>> >> > --
>>> >> > View this message in context:
>>> >> >
>>> >> > http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Guvnor-API-information-tp2471798p2471798.html
>>> >> > Sent from the Drools - User mailing list archive at Nabble.com.
>>> >> > _______________________________________________
>>> >> > rules-users mailing list
>>> >> > [hidden email]
>>> >> > https://lists.jboss.org/mailman/listinfo/rules-users
>>> >> >
>>> >> _______________________________________________
>>> >> rules-users mailing list
>>> >> [hidden email]
>>> >> https://lists.jboss.org/mailman/listinfo/rules-users
>>> >
>>> >
>>> >
>>> > --
>>> > Best Regards | Vikas
>>> >
>>> > Inphina Technologies
>>> > Co-Founder and Technical Architect
>>> > Mobile: +91-9899174194
>>> > Landline: +91-11-25126026
>>> > http://inphina.com
>>> > http://thoughts.inphina.com
>>> > http://twitter.com/inphina
>>> >
>>> >
>>> > _______________________________________________
>>> > rules-users mailing list
>>> > [hidden email]
>>> > https://lists.jboss.org/mailman/listinfo/rules-users
>>> >
>>> >
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> [hidden email]
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>> --
>> Best Regards | Vikas
>>
>> Inphina Technologies
>> Co-Founder and Technical Architect
>> Mobile: +91-9899174194
>> Landline: +91-11-25126026
>> http://inphina.com
>> http://thoughts.inphina.com
>> http://twitter.com/inphina
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

srinivasasanda
In reply to this post by Vikas Hazrati
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Drools Guvnor API information?

fanat1k_ua
I had been looking for a long time until I looked into sources:
https://github.com/droolsjbpm/guvnor/blob/master/guvnor-webapp-drools/src/test/java/org/drools/guvnor/server/jaxrs/BasicPackageResourceIntegrationTest.java
(e.g. method testCreateAndUpdateAndDeletePackageFromAtom() )
I used this resource to create my own rest API that now works fine.
With webdav api I had big problems! Guvnor throws a lot of exceptions in the log and sometimes completely stops working even web-interface. (used sardine library).
Reply | Threaded
Open this post in threaded view
|

Re: [rules-users] Drools Guvnor API information?

Cedric Hurst
I wound up creating a Java-based facade for Guvnor a couple weeks back to support ant-based deployment.  Feel free to compare notes with what I came up with here:


--
Build Smarter Software.

Spantree Technology Group, LLC
813 W Randolph St, Suite 301, Chicago, IL
email: [hidden email] | phone: <a href="tel:773.359.3865" value="+17733593865" target="_blank">773.359.3865

On Thursday, November 8, 2012 at 9:12 AM, fanat1k_ua wrote:

I had been looking for a long time until I looked into sources:
(e.g. method testCreateAndUpdateAndDeletePackageFromAtom() )
I used this resource to create my own rest API that now works fine.
With webdav api I had big problems! Guvnor throws a lot of exceptions in the
log and sometimes completely stops working even web-interface. (used sardine
library).




--
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list


_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users