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());
     }
 }
Exemplo n.º 2
0
 /**
  * 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;
 }