private function transformIntoForestOfCardInCellPresenters($forests_of_artifacts, $field_retriever, $mapping_collection, User $user) { $card_presenter_mapper = new TreeNodeMapper(new Cardwall_CreateCardPresenterCallback(new Tracker_CardFields(), $user)); $forests_of_card_presenters = $card_presenter_mapper->map($forests_of_artifacts); $column_id_mapper = new TreeNodeMapper(new Cardwall_CardInCellPresenterCallback($field_retriever, $mapping_collection)); return $column_id_mapper->map($forests_of_card_presenters); }
public function __construct(Tracker_Report $report, array $criteria, TreeNode $tree_of_artifacts, Tracker_ArtifactFactory $artifact_factory, Tracker_FormElementFactory $factory, User $user, Planning $planning, $planning_redirect_param) { parent::__construct($report, $criteria, $tree_of_artifacts, $artifact_factory, $factory, $user); $this->planning = $planning; $this->planning_redirect_parameter = $planning_redirect_param; $this->renderer = TemplateRendererFactory::build()->getRenderer(dirname(__FILE__) . '/../../templates'); $card_mapper = new TreeNodeMapper(new Planning_ItemCardPresenterCallback($this->planning, new Tracker_CardFields(), 'planning-draggable-toplan')); $this->tree_of_card_presenters = $card_mapper->map($this->tree_of_artifacts); }
public function itCopiesAllTreeNodesIntoCardPresenterNodes() { $root_node = aNode()->withChildren(aNode()->withObject(anArtifact()->withTracker(mock('Tracker'))->withoutParent()->build()), aNode()->withObject(anArtifact()->withTracker(mock('Tracker'))->withoutParent()->build()))->build(); $card_mapper = new TreeNodeMapper(new Planning_ItemCardPresenterCallback(mock('Planning'), mock('Tracker_CardFields'), mock('User'), 'whatever-class')); $visited_node = $card_mapper->map($root_node); $all_nodes = $visited_node->flattenChildren(); $this->assertEqual(count($all_nodes), count($root_node->flattenChildren())); foreach ($all_nodes as $node) { $this->assertIsA($node, 'Tracker_TreeNode_CardPresenterNode'); } }
/** * @return TreeNode */ private function buildPlannedArtifactsTree($child_depth = 1) { $presenter_root_node = null; if ($this->canAccessPlannedItem()) { $root_node = $this->milestone->getPlannedArtifacts(); //TODO use null object pattern while still possible? if ($root_node) { $card_mapper = new TreeNodeMapper(new Planning_ItemCardPresenterCallback($this->milestone->getPlanning(), new Tracker_CardFields(), 'planning-draggable-alreadyplanned')); $presenter_root_node = $card_mapper->map($root_node); } } return $presenter_root_node; }