Пример #1
0
 public function parentModels()
 {
     $models = [];
     $models['Sensor'] = Sensor::find()->where(['id' => $this->object_id])->all();
     $models['Service'] = Service::find()->where(['id' => $this->object_id])->all();
     $models['ServiceReference'] = ServiceReference::find()->where(['id' => $this->object_id])->all();
     // $models['ResourceReference'] = ResourceReference::find()->where(['resource_id' => $this->id])->all();
     $models['Server'] = Server::find()->where(['id' => $this->object_id])->all();
     $models['Site'] = Site::find()->where(['id' => $this->object_id])->all();
     return $models;
 }
Пример #2
0
 public function childModels($active = true)
 {
     if ($active) {
         $active = 1;
     } else {
         $active = [0, 1];
     }
     $models = [];
     $models['Sensor'] = Sensor::find()->where(['object_id' => $this->id, 'active' => $active])->all();
     $models['Service'] = Service::find()->where(['object_id' => $this->id, 'active' => $active])->all();
     $models['Resource'] = Resource::find()->where(['object_id' => $this->id, 'active' => $active])->all();
     $models['ResourceReference'] = ResourceReference::find()->where(['object_id' => $this->id, 'active' => $active])->all();
     return $models;
 }
Пример #3
0
 public function getInfo()
 {
     $info = $this->object->getInfo();
     $collections = $this->collectChildModels();
     $provides = [];
     $references = [];
     $boundIps = [];
     foreach ($collections['service']->getAll() as $serviceObj) {
         if ($serviceObj instanceof Service) {
             $service = $serviceObj;
             $provides[] = $service->descriptor;
         } else {
             $service = Service::get($serviceObj->service_id);
             $provider = Registry::getObject($service->object_id);
             $serviceDescription = $service->descriptor;
             //\d(get_class($serviceObj->dataObject->object));exit;
             if ($serviceObj->dataObject->object instanceof ServiceBinding) {
                 if (!empty($serviceObj->dataObject->object->binding['ip'])) {
                     $boundIps[] = $serviceObj->dataObject->object->binding['ip'];
                 }
                 if (!empty($serviceObj->dataObject->object->binding['hostname'])) {
                     $serviceDescription .= ', ' . $serviceObj->dataObject->object->binding['hostname'];
                 }
             }
             $references[] = $provider->descriptor . ' (' . $serviceDescription . ')';
         }
     }
     if (!empty($references)) {
         $info['Connected Services'] = implode('; ', array_unique($references));
     }
     if (!empty($provides)) {
         $info['Provides Services'] = implode('; ', array_unique($provides));
     }
     if (!empty($boundIps)) {
         $info['IP(s)'] = implode('; ', array_unique($boundIps));
     }
     return $info;
 }
Пример #4
0
 public function childModels($careAboutActive = true)
 {
     if ($careAboutActive) {
         $active = 1;
     } else {
         $active = [0, 1];
     }
     $models = [];
     $models['Resource'] = Resource::find()->where(['object_id' => $this->id, 'active' => $active])->all();
     $models['Sensor'] = Sensor::find()->where(['object_id' => $this->id, 'active' => $active])->all();
     $models['Service'] = Service::find()->where(['id' => $this->service_id, 'active' => $active])->all();
     $models['ResourceReference'] = ResourceReference::find()->where(['object_id' => $this->id, 'active' => $active])->all();
     if ($serviceProvider = Registry::getObject($this->object_id)) {
         if (!$careAboutActive || !empty($serviceProvider->active)) {
             $models['ServiceProvider'] = [$serviceProvider];
         }
     }
     return $models;
 }
Пример #5
0
 public static function getSensorObjectModelClass(\psesd\sensors\base\BaseInterface $object)
 {
     if ($object instanceof SensorInterface) {
         return SensorModel::className();
     }
     if ($object instanceof ServiceInterface) {
         return ServiceModel::className();
     }
     if ($object instanceof ServiceReferenceInterface) {
         return ServiceReferenceModel::className();
     }
     if ($object instanceof ResourceReferenceInterface) {
         return ResourceReferenceModel::className();
     }
     if ($object instanceof ResourceInterface) {
         return ResourceModel::className();
     }
     if ($object instanceof SiteInterface) {
         return SiteModel::className();
     }
     if ($object instanceof ServerInterface) {
         return ServerModel::className();
     }
     if ($object instanceof ProviderInterface) {
         return ProviderModel::className();
     }
     return false;
 }