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; }
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; }
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; }
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; }
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; }