public function testGetDerivedTypes1() { try { $configuration = null; $metadataProvider = $this->_createMetadataAndConfiguration1($configuration); $metaQueryProverWrapper = new MetadataQueryProviderWrapper($metadataProvider, null, $configuration, false); $customerEntityType = $metaQueryProverWrapper->resolveResourceType('Customer'); $this->assertNotNull($customerEntityType); $derivedTypes = $metaQueryProverWrapper->getDerivedTypes($customerEntityType); $this->assertNull($derivedTypes); } catch (\Exception $exception) { $this->fail('An unexpected Exception has been raised' . $exception->getMessage()); } }
/** * Check wrapped resource set's resource type or any of the resource type derived * from the this resource type has bag property associated with it. * * @param MetadataQueryProviderWrapper $provider Metadata query provider wrapper * * @return boolean */ public function hasBagProperty(MetadataQueryProviderWrapper $provider) { $arrayToDetectLoop = array(); $hasBagProperty = $this->_resourceSet->getResourceType()->hasBagProperty($arrayToDetectLoop); unset($arrayToDetectLoop); // This will check only the resource type associated with // the resource set, we need to check presence of bag property // in resource type which is derived form this resource type also. if (!$hasBagProperty) { $derivedTypes = $provider->getDerivedTypes($this->_resourceSet->getResourceType()); if (!is_null($derivedTypes)) { foreach ($derivedTypes as $derivedType) { $arrayToDetectLoop = array(); if ($derivedType->hasBagProperty($arrayToDetectLoop)) { $hasBagProperty = true; break; } } } } return $hasBagProperty; }