Ejemplo n.º 1
0
 /**
  * (non-PHPdoc)
  * @see core_kernel_persistence_ClassInterface::createInstance()
  */
 public function createInstance(core_kernel_classes_Class $resource, $label = '', $comment = '', $uri = '')
 {
     $returnValue = null;
     $subject = '';
     if ($uri == '') {
         $subject = common_Utils::getNewUri();
     } else {
         if ($uri[0] == '#') {
             //$uri should start with # and be well formed
             $modelUri = common_ext_NamespaceManager::singleton()->getLocalNamespace()->getUri();
             $subject = rtrim($modelUri, '#') . $uri;
         } else {
             $subject = $uri;
         }
     }
     $returnValue = new core_kernel_classes_Resource($subject, __METHOD__);
     if (!$returnValue->hasType($resource)) {
         $returnValue->setType($resource);
     } else {
         common_Logger::e('already had type ' . $resource);
     }
     if (!empty($label)) {
         $returnValue->setLabel($label);
     }
     if (!empty($comment)) {
         $returnValue->setComment($comment);
     }
     return $returnValue;
 }