Esempio n. 1
0
 /** @brief Construct new replyset helper instance.
  *
  * @param $reply_set [in] one reply from decoded json reply.
  * @param $query [in] query which has produced current reply.
  * @param $config [in] helper configuration object.
  */
 public function __construct($reply_set, AfsQuery $query, AfsHelperConfiguration $config)
 {
     $reply_helper_factory = new AfsReplyHelperFactory($config->get_reply_text_visitor());
     parent::__construct($reply_set, $config, $reply_helper_factory);
     $this->initialize_facet($reply_set, $query, $config);
     $this->initialize_cluster($reply_set, $query, $config);
     $this->initialize_pager($reply_set, $query, $config);
 }
Esempio n. 2
0
 /** @brief Constructs new cluster helper instance.
  *
  * @param $cluster [in] One cluster reply.
  * @param $meta [in] Reply set meta data.
  * @param $facet_helper [in] Facet helper (used to retrieve value label).
  * @param $query [in] AfsQuery object previously initialized. It is used to
  *        generate new query to filter on this cluster reply.
  * @param $config [in] Helper configuration.
  */
 public function __construct($cluster, AfsMetaHelper $meta, $facet_helper, AfsQuery $query, AfsHelperConfiguration $config)
 {
     $formatter = AfsFacetHelperRetriever::get_formatter($meta->get_cluster_id(), $query);
     $this->id = $formatter->format($cluster->id);
     $this->initialize_label($facet_helper);
     $this->total_replies = $cluster->totalItems;
     $factory = new AfsReplyHelperFactory($config->get_reply_text_visitor());
     $this->replies = $factory->create_replies($meta->get_feed(), $cluster);
     $this->query = $query->auto_set_from()->unset_cluster()->add_filter($meta->get_cluster_id(), $this->id);
     $this->config = $config;
 }
 public function testSetAndRetrieveReplyTextVisitor()
 {
     $config = new AfsHelperConfiguration();
     $visitor = new TextVisitorMock();
     $config->set_reply_text_visitor($visitor);
     $visitor = $config->get_reply_text_visitor();
     $this->assertNotNull($visitor);
     $text = new AfsMatchText(json_decode('{"match": "bar"}'));
     $this->assertEquals('<BBB>bar</BBB>', $visitor->visit_AfsMatchText($text));
 }