public static function buildFromJSON($json)
 {
     // TODO parse and verify json
     $jsonObject = json_decode($json);
     $builder = (new LinkRosterObjectBuilder())->objectID($jsonObject->objectID)->owner($jsonObject->owner);
     foreach ($jsonObject->roster as $link) {
         $builder->link(LinkObjectBuilder::buildFromJSON(json_encode($link)));
     }
     return $builder->build();
 }
 public static function buildFromJSON($json)
 {
     // TODO parse and verify json
     $jsonObject = json_decode($json);
     $builder = (new LinkResponseObjectBuilder())->objectID($jsonObject->objectID)->targetID($jsonObject->targetID)->accept($jsonObject->accept)->datetime($jsonObject->datetime);
     if (property_exists($jsonObject, "message")) {
         $builder->message($jsonObject->message);
     }
     if (property_exists($jsonObject, "link")) {
         $builder->link(LinkObjectBuilder::buildFromJSON(json_encode($jsonObject->link)));
     }
     return $builder->build();
 }
Beispiel #3
0
 public function __construct(LinkObjectBuilder $builder)
 {
     parent::__construct($builder->getObjectID());
     $this->owner = $builder->getOwner();
     $this->link = $builder->getLink();
     $this->datetime = $builder->getDatetime();
     $this->signature = $builder->getSignature();
 }
Beispiel #4
0
 public function testLink()
 {
     $link = (new LinkObjectBuilder())->objectID(UOID::createUOID())->link(Sonic::getContextGlobalID())->owner($this->bobSocialRecord->getGlobalID())->build();
     $this->assertTrue($link->validate());
     $this->assertEquals($link, LinkObjectBuilder::buildFromJSON($link->getJSONString()));
     $linkRoster = (new LinkRosterObjectBuilder())->objectID(UOID::createUOID())->owner(Sonic::getContextGlobalID())->roster(array($link))->build();
     $this->assertTrue($linkRoster->validate());
     $this->assertEquals($linkRoster, LinkRosterObjectBuilder::buildFromJSON($linkRoster->getJSONString()));
     $linkRequest = (new LinkRequestObjectBuilder())->objectID(UOID::createUOID())->initiatingGID(Sonic::getContextGlobalID())->targetedGID($this->bobSocialRecord->getGlobalID())->message('testMessage')->build();
     $this->assertTrue($linkRequest->validate());
     $this->assertEquals($linkRequest, LinkRequestObjectBuilder::buildFromJSON($linkRequest->getJSONString()));
     $linkResponse = (new LinkResponseObjectBuilder())->objectID(UOID::createUOID())->targetID(UOID::createUOID())->accept(true)->message('testMessage')->link($link)->build();
     $this->assertTrue($linkResponse->validate());
     $this->assertEquals($linkResponse, LinkResponseObjectBuilder::buildFromJSON($linkResponse->getJSONString()));
 }