@@ 643-694 (lines=52) @@ | ||
640 | } |
|
641 | ||
642 | // set planning goals |
|
643 | for (TokenDescription g : task.getGoals()) { |
|
644 | ||
645 | // get domain component |
|
646 | DomainComponent component = this.pdb.getComponentByName(g.getComponent()); |
|
647 | // get goal referred value |
|
648 | ComponentValue value = component.getValueByName(g.getValue()); |
|
649 | // check start time bound |
|
650 | long[] start = g.getStart(); |
|
651 | if (start == null) { |
|
652 | start = new long[] { |
|
653 | this.pdb.getOrigin(), |
|
654 | this.pdb.getHorizon() |
|
655 | }; |
|
656 | } |
|
657 | ||
658 | // check end time bound |
|
659 | long[] end = g.getEnd(); |
|
660 | if (end == null) { |
|
661 | end = new long[] { |
|
662 | this.pdb.getOrigin(), |
|
663 | this.pdb.getHorizon() |
|
664 | }; |
|
665 | } |
|
666 | ||
667 | // check duration bound |
|
668 | long[] duration = g.getDuration(); |
|
669 | if (duration == null) { |
|
670 | duration = new long[] { |
|
671 | value.getDurationLowerBound(), |
|
672 | value.getDurationUpperBound() |
|
673 | }; |
|
674 | } |
|
675 | ||
676 | // check labels |
|
677 | String[] labels = g.getLabels(); |
|
678 | if (labels == null) { |
|
679 | labels = new String[] {}; |
|
680 | } |
|
681 | ||
682 | // create goal decision |
|
683 | Decision decision = component.create( |
|
684 | value, |
|
685 | labels, |
|
686 | start, |
|
687 | end, |
|
688 | duration |
|
689 | ); |
|
690 | ||
691 | // set as mandatory expansion decision |
|
692 | decision.setMandatoryExpansion(); |
|
693 | // add decision to goal list |
|
694 | goals.add(decision); |
|
695 | } |
|
696 | ||
697 | ||
@@ 588-639 (lines=52) @@ | ||
585 | // get task description |
|
586 | AgentTaskDescription task = goal.getTaskDescription(); |
|
587 | // set known information concerning components |
|
588 | for (TokenDescription f : task.getFacts()) { |
|
589 | ||
590 | // get domain component |
|
591 | DomainComponent component = this.pdb.getComponentByName(f.getComponent()); |
|
592 | // get goal referred value |
|
593 | ComponentValue value = component.getValueByName(f.getValue()); |
|
594 | // check start time bound |
|
595 | long[] start = f.getStart(); |
|
596 | if (start == null) { |
|
597 | start = new long[] { |
|
598 | this.pdb.getOrigin(), |
|
599 | this.pdb.getHorizon() |
|
600 | }; |
|
601 | } |
|
602 | ||
603 | // check end time bound |
|
604 | long[] end = f.getEnd(); |
|
605 | if (end == null) { |
|
606 | end = new long[] { |
|
607 | this.pdb.getOrigin(), |
|
608 | this.pdb.getHorizon() |
|
609 | }; |
|
610 | } |
|
611 | ||
612 | // check duration bound |
|
613 | long[] duration = f.getDuration(); |
|
614 | if (duration == null) { |
|
615 | duration = new long[] { |
|
616 | value.getDurationLowerBound(), |
|
617 | value.getDurationUpperBound() |
|
618 | }; |
|
619 | } |
|
620 | ||
621 | // check labels |
|
622 | String[] labels = f.getLabels(); |
|
623 | if (labels == null) { |
|
624 | labels = new String[] {}; |
|
625 | } |
|
626 | ||
627 | // create fact decision |
|
628 | Decision decision = component.create( |
|
629 | value, |
|
630 | labels, |
|
631 | start, |
|
632 | end, |
|
633 | duration |
|
634 | ); |
|
635 | ||
636 | // also activate fact decision |
|
637 | component.activate(decision); |
|
638 | // add decision to fact list |
|
639 | facts.add(decision); |
|
640 | } |
|
641 | ||
642 | // set planning goals |