All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.drools.examples.troubleticket.TroubleTicketWithDSL.dslr Maven / Gradle / Ivy

The newest version!
package org.drools.examples.troubleticket
expander ticketing.dsl


rule "New Ticket"
	salience 10
	when
       There is a customer ticket with status of "New"
	then
	   Log "New ticket..."
end

rule "Silver Priorty"
	#if after a certain time, we still have an issue, then escalate
	duration 3000
	when
    	There is a "Silver" customer with a ticket status of "New"

	then
		Escalate the ticket
end

rule "Gold Priority"
	duration 1000
	when
		There is a "Gold" customer with a ticket status of "New"
	then
		Escalate the ticket
end

rule "Platinum Priority"
	#we don't want to make the high rollers wait !
	when
		There is a "Platinum" customer with a ticket status of "New"
	then
		Escalate the ticket
end



rule "Escalate"
	when
		There is a customer ticket with status of "Escalate"
	then
		Send escalation email
end

rule "Done"
	when
		There is a customer ticket with status of "Done"
	then
		Log "Done"
end

# This is the same as the non DSL version. This could be kept in another file of course.
function void sendEscalationEmail( Customer customer, Ticket ticket ) {
	System.out.println( "Email : " + ticket );
}

#hey, the imports can appear anywhere !
import org.drools.examples.troubleticket.Customer;
import org.drools.examples.troubleticket.Ticket;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy