I have a Planning Solution class containing a method getProblemFacts() to load facts in working memory. but i am not able to get the facts in DRL file.
Some code snippet is as follows :
@Override
public Collection<? extends Object> getProblemFacts() {
List<Object> facts = new ArrayList<Object>();
facts.add(users);
facts.add(resources);
facts.add(availabilityList);
facts.add(fromDate);
facts.add(toDate);
return facts
}
DRL File :
rule Rule4
when
$users : org.volcare.brms.event.User(userName == "User10")
//$value : org.volcare.brms.event.User() from $users
then
System.out.println("Test");
end
Config file is :
<?xml version="1.0" encoding="UTF-8"?>
<solver>
<solutionClass>org.volcare.brms.event.EventSolution</solutionClass>
<planningEntityClass>com.volcare.brms.EventPlanning</planningEntityClass>
<scoreDirectorFactory>
<scoreDefinitionType>HARD_SOFT</scoreDefinitionType>
<scoreDrl>/eventrule.drl</scoreDrl>
</scoreDirectorFactory>
<termination>
<maximumSecondsSpend>90</maximumSecondsSpend>
</termination>
<constructionHeuristic>
<constructionHeuristicType>FIRST_FIT</constructionHeuristicType>
</constructionHeuristic>
<localSearch>
<unionMoveSelector>
<changeMoveSelector>
<valueSelector>
<variableName>eventDate</variableName>
</valueSelector>
</changeMoveSelector>
</unionMoveSelector>
<acceptor>
<entityTabuRatio>0.2</entityTabuRatio>
<lateAcceptanceSize>500</lateAcceptanceSize>
</acceptor>
<forager>
<acceptedCountLimit>4</acceptedCountLimit>
</forager>
</localSearch>
</solver>
Planning entity is accessible in DRL file. Please let me know if i am missing something.