/**
  * Creates a broker properties instance with specified JSON message.  
  *
  * @param string $brokerPropertiesJson A JSON message representing a 
  *                                     broker properties.
  * 
  * @return none
  */
 public static function create($brokerPropertiesJson)
 {
     Validate::isString($brokerPropertiesJson, 'brokerPropertiesJson');
     $brokerProperties = new self();
     $brokerPropertiesArray = (array) json_decode($brokerPropertiesJson);
     if (array_key_exists('CorrelationId', $brokerPropertiesArray)) {
         $brokerProperties->setCorrelationId($brokerPropertiesArray['CorrelationId']);
     }
     if (array_key_exists('SessionId', $brokerPropertiesArray)) {
         $brokerProperties->setSessionId($brokerPropertiesArray['SessionId']);
     }
     if (array_key_exists('DeliveryCount', $brokerPropertiesArray)) {
         $brokerProperties->setDeliveryCount($brokerPropertiesArray['DeliveryCount']);
     }
     if (array_key_exists('LockedUntilUtc', $brokerPropertiesArray)) {
         $brokerProperties->setLockedUntilUtc(\DateTime::createFromFormat(Resources::AZURE_DATE_FORMAT, $brokerPropertiesArray['LockedUntilUtc']));
     }
     if (array_key_exists('LockToken', $brokerPropertiesArray)) {
         $brokerProperties->setLockToken($brokerPropertiesArray['LockToken']);
     }
     if (array_key_exists('MessageId', $brokerPropertiesArray)) {
         $brokerProperties->setMessageId($brokerPropertiesArray['MessageId']);
     }
     if (array_key_exists('Label', $brokerPropertiesArray)) {
         $brokerProperties->setLabel($brokerPropertiesArray['Label']);
     }
     if (array_key_exists('ReplyTo', $brokerPropertiesArray)) {
         $brokerProperties->setReplyTo($brokerPropertiesArray['ReplyTo']);
     }
     if (array_key_exists('SequenceNumber', $brokerPropertiesArray)) {
         $brokerProperties->setSequenceNumber($brokerPropertiesArray['SequenceNumber']);
     }
     if (array_key_exists('TimeToLive', $brokerPropertiesArray)) {
         $brokerProperties->setTimeToLive(doubleval($brokerPropertiesArray['TimeToLive']));
     }
     if (array_key_exists('To', $brokerPropertiesArray)) {
         $brokerProperties->setTo($brokerPropertiesArray['To']);
     }
     if (array_key_exists('ScheduledEnqueueTimeUtc', $brokerPropertiesArray)) {
         $brokerProperties->setScheduledEnqueueTimeUtc(\DateTime::createFromFormat(Resources::AZURE_DATE_FORMAT, $brokerPropertiesArray['ScheduledEnqueueTimeUtc']));
     }
     if (array_key_exists('ReplyToSessionId', $brokerPropertiesArray)) {
         $brokerProperties->setReplyToSessionId($brokerPropertiesArray['ReplyToSessionId']);
     }
     if (array_key_exists('MessageLocation', $brokerPropertiesArray)) {
         $brokerProperties->setMessageLocation($brokerPropertiesArray['MessageLocation']);
     }
     if (array_key_exists('LockLocation', $brokerPropertiesArray)) {
         $brokerProperties->setLockLocation($brokerPropertiesArray['LockLocation']);
     }
     return $brokerProperties;
 }
Example #2
0
 /**
  * factory method for creating a new notification
  *
  * @param array $devices
  * @param $payload
  * @param $collapseKey
  * @param $timeToLive
  * @param $delayWhileIdle
  * @return Notification
  */
 public static function factory(array $devices, $payload, $collapseKey = null, $timeToLive = null, $delayWhileIdle = false)
 {
     $notification = new self();
     $notification->setDevices($devices);
     $notification->setPayload($payload);
     $notification->setCollapseKey($collapseKey);
     $notification->setTimeToLive($timeToLive);
     $notification->setDelayWhileIdle($delayWhileIdle);
     return $notification;
 }