A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Exemplo de Projeto Vamos criar agora um projeto exemplo para verificar as condições de crédito de um conjunto de indivíduos; Nosso primeiro conjunto de.

Apresentações semelhantes


Apresentação em tema: "Exemplo de Projeto Vamos criar agora um projeto exemplo para verificar as condições de crédito de um conjunto de indivíduos; Nosso primeiro conjunto de."— Transcrição da apresentação:

1 Exemplo de Projeto Vamos criar agora um projeto exemplo para verificar as condições de crédito de um conjunto de indivíduos; Nosso primeiro conjunto de regras será bastante simples: Pessoas acima de 18 anos tem crédito e pessoas abaixo de 18 anos não tem crédito.

2 Projeto: Avaliação de Crédito
1) Criar um novo Rule Project; 2) Clicar no botão Next;

3 Projeto: Avaliação de Crédito
3) Selecionar as 4 primeiras opções, para que um código esqueleto seja gerado automaticamente;

4 Se você quiser testar se o Drools está funcionando, executar os arquivos:
DroolsTest: teste do Drools; DecisionTableTest: teste da geração de regras a partir de tabelas de decisão (arquivo Sample.xls).

5

6 Projeto: Avaliação de Crédito
4) Vamos criar do zero um novo arquivo de regrar; 5) Criar um novo pacote com o nome com.credito para armazenar seu código;

7

8 Projeto: Avaliação de Crédito
6) Criar a classe Pessoa que representa a pessoa que pode ou não receber crédito;

9 Projeto: Avaliação de Crédito
7) Criar os campos da pessoa: nome, idade, sexo, comidaPredileta, dataCarteira: package com.credito; import java.util.Date; public class Pessoa { private String nome; private int idade; private char sexo; private String comidaPredileta; private Date dataCarteira; }

10 Projeto: Avaliação de Crédito
8) Gerar o construtor usando o menu Source > Generate Constructor Using Fields.

11 Projeto: Avaliação de Crédito
9) Você vai ter um construtor semelhante a este: public Pessoa(String nome, int idade, char sexo, String comidaPredileta, Date dataCarteira) { super(); this.nome = nome; this.idade = idade; this.sexo = sexo; this.comidaPredileta = comidaPredileta; this.dataCarteira = dataCarteira; }

12 Projeto: Avaliação de Crédito
10) Gerar os getters para cada campo. Não é necessária a geração dos setters, por enquanto.

13

14 Projeto: Avaliação de Crédito
11) Criar uma classe agora para armazenar tipos de comidas: package com.credito; public class Comida { private String nome; private int calorias; public Comida(String nome, int calorias) { super(); this.nome = nome; this.calorias = calorias; } public String getNome() { return nome; public int getCalorias() { return calorias;

15 Projeto: Avaliação de Crédito
12) Vamos criar agora as regras. Criar um novo pacote de regras dentro do pacote com.credito dentro da pasta credito/src/rules;

16 Projeto: Avaliação de Crédito
13) Criar duas regras simples: package com.credito import com.credito.Pessoa; import com.credito.Comida; rule "Permite Crédito" when $p : Pessoa(idade >= 18) then System.out.println("Crédito Permitido para: " + $p.getNome() ); end # continua...

17 Projeto: Avaliação de Crédito
rule "Crédito Negado" when Pessoa( $nome : nome, idade < 18) then System.out.println("Crédito Negado para: " + $nome); end

18 Projeto: Avaliação de Crédito
14) Observar que: Tem autocompletar via CTRL + <espaço>; Os problemas são indicados na aba Problems; SALVE SEMPRE!

19 Projeto: Avaliação de Crédito
15) Crie uma nova classe CreditoExemplo dentro do pacote com.credito. Coloque método main nesta classe.

20 Projeto: Avaliação de Crédito
16) Colocar os Imports necessários: import java.io.IOException; import java.io.InputStreamReader; import org.drools.RuleBase; import org.drools.RuleBaseFactory; import org.drools.WorkingMemory; import org.drools.compiler.DroolsParserException; import org.drools.compiler.PackageBuilder; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; ...

21 Projeto: Avaliação de Crédito
17) Carregar um pacotes de regras: PackageBuilder builder = new PackageBuilder(); builder.addPackageFromDrl(new InputStreamReader(CreditoExemplo.class.getResourceAsStream("/credito.drl")));

22 Projeto: Avaliação de Crédito
18) Criar uma nova base de regras a partir do pacote e carregar as regras dentro da memória de trabalho: RuleBase ruleBase = RuleBaseFactory.newRuleBase(); ruleBase.addPackage(builder.getPackage()); WorkingMemory workingMemory = ruleBase.newStatefulSession();

23 Projeto: Avaliação de Crédito
19) Colocar os fatos na memória de trabalho e disparar as regras: Pessoa alberto = new Pessoa("Alberto", 23, 'M', "Banana", formataData("12/03/2001")); Pessoa bernardo = new Pessoa("Bernardo", 17, 'M', "Maça", formataData("15/12/2000")); //... workingMemory.insert(alberto); workingMemory.insert(bernardo); workingMemory.fireAllRules();

24 Projeto: Avaliação de Crédito
20) Observar a resposta obtida: Crédito Negado para: Bernardo Crédito Permitido para: Alberto

25 Projeto: Avaliação de Crédito Mais exemplos de regras
rule "Comida muito calórica" when $p: Pessoa ($gostaDe: comidaPredileta) $c: Comida ( nome == $gostaDe, calorias >= 500) then System.out.println("Pense Bem! " + $p.getNome() + " come comidas muito gordurosas!"); retract($p); end

26 Projeto: Avaliação de Crédito Mais exemplos de regras
rule "Idade suspeita" when $p: Pessoa( idade > 99) then System.out.println(“Ei, “+$p.getNome()+” está mentindo a idade!"); $p.setIdade(0); update($p); end


Carregar ppt "Exemplo de Projeto Vamos criar agora um projeto exemplo para verificar as condições de crédito de um conjunto de indivíduos; Nosso primeiro conjunto de."

Apresentações semelhantes


Anúncios Google