/** * Short description of method importStaticData * * @access private * @author Jerome Bogaerts, <*****@*****.**> * @param array $staticMap * @param array $map * @param core_kernel_classes_Resource $resource * @return mixed */ private function importStaticData($staticMap, $map, core_kernel_classes_Resource $resource) { foreach ($staticMap as $cleanUri => $value) { // If the property was not included in the original CSV file... if (!array_key_exists($cleanUri, $map) || $map[$cleanUri] == 'csv_null' || $map[$cleanUri] == 'csv_select') { if ($cleanUri == RDF_TYPE) { $resource->setType(new core_kernel_classes_Class($value)); } else { $values = is_array($value) ? $value : array($value); foreach ($values as $v) { $resource->setPropertyValue(new core_kernel_classes_Property($cleanUri), $v); } } } } }
/** * creates the instance * * @param array $classes * @param array $properties * @return core_kernel_classes_Resource */ protected function createInstance($classes, $properties) { $first = array_shift($classes); $instance = $first->createInstanceWithProperties($properties); foreach ($classes as $class) { $instance = new core_kernel_classes_Resource(''); $instance->setType($class); } return $instance; }
/** * Change the Class (RDF_TYPE) of a resource * * @access public * @author Jerome Bogaerts, <*****@*****.**> * @param Resource instance * @param Class destinationClass * @return boolean */ public function changeClass(core_kernel_classes_Resource $instance, core_kernel_classes_Class $destinationClass) { $returnValue = (bool) false; try { foreach ($instance->getTypes() as $type) { $instance->removeType($type); } $instance->setType($destinationClass); foreach ($instance->getTypes() as $type) { if ($type->getUri() == $destinationClass->getUri()) { $returnValue = true; break; } } } catch (common_Exception $ce) { print $ce; } return (bool) $returnValue; }
/** * (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; }