Слюни 5 - Сравнение дат - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь сравнить дату функции класса Java с текущей датой.Мне нужно убедиться, что дата класса Java (функция CreationDate) должна быть старше [3 месяца] текущей даты.

JAVA -

public class PersonPer 

  ....
 public Date getCreationDate() {
    return creationDate == null ? null : new Date(creationDate.getTime());
}

public void setCreationDate(Date creationDate) {
    this.creationDate = creationDate == null ? null : new Date(creationDate.getTime());
}

.... Junit для тестирования -

  PersonPer personPer=new PersonPer();

    String personCdate="15/12/1998";
    Date personCreationDate = null;

    try {
        personCreationDate=new SimpleDateFormat("dd/MM/yyy").parse(personCdate);
        System.out.println("Junit Test personCreationDate : "+ personCreationDate);
    } catch (ParseException e) {
        System.err.println("Date parsing exception");
        e.printStackTrace();
    }
    personPer.setCreationDate(personCreationDate);

    session.insert(personPer);

DRL - Правило «Проверка личности»

pp: PersonPer(pCreationDate:CreationDate)
....
when: 
...
(
...

 Date($now : time) from Calendar.getInstance().getTime()
 pp: PersonPer(pCreationDate:CreationDate after[90] $now) <--- This    doesn't work

...

 Then: 
  System.out.println("Person date : " + pCreationDate); 
   drools.addError(...);
   END

 12:32:55 ERROR Error: [ERR 102] Line 141:5 mismatched input 'pp' in rule   "Representative Checks"
  12:32:55 ERROR Error: Parser returned a null Package

1) Сравнение даты создания лица и текущей датыне работает.Пожалуйста, порекомендуйте.2) также любое предложение, как сделать 90 дней - настраиваемыми - так, чтобы их можно было передавать через бизнес / файлы конфигурации - с помощью микросервисов.

1 Ответ

0 голосов
/ 13 июня 2018

Я решил эту проблему, создав функцию файла drool для вычисления даты.Передавая значение месяца в качестве параметра функции, параметр является переменной факта, переданной из программы Java как объект, вставленный в сеанс состояния (ful).

...