/**
  * tests initialization
  */
 public function setUp()
 {
     TaoTestRunner::initTest();
     $resultsService = taoResults_models_classes_ResultsService::singleton();
     $this->resultsService = $resultsService;
     $this->statsService = taoResults_models_classes_StatisticsService::singleton();
     $this->reportService = taoResults_models_classes_ReportService::singleton();
     //create an activity execution
     $activityExecutionClass = new core_kernel_classes_Class(CLASS_ACTIVITY_EXECUTION);
     //create an activity definition
     $activityDefinitionClass = new core_kernel_classes_Class(CLASS_ACTIVITIES);
     $this->activityExecution = $activityExecutionClass->createInstance("MyActivityExecution");
     //links the activity execution to the activity definition
     $this->activityDefinition = $activityDefinitionClass->createInstance("MyActivityDefinition");
     $this->activityExecution->setPropertyValue(new core_kernel_classes_Property(PROPERTY_ACTIVITY_EXECUTION_ACTIVITY), $this->activityDefinition->getUri());
     //links the call of service to the activity execution
     $interactiveServiceClass = new core_kernel_classes_Class(CLASS_CALLOFSERVICES);
     $this->interactiveService = $interactiveServiceClass->createInstance("MyInteractiveServiceCall");
     $this->activityDefinition->setPropertyValue(new core_kernel_classes_Property(PROPERTY_ACTIVITIES_INTERACTIVESERVICES), $this->interactiveService->getUri());
     $this->interactiveService->setPropertyValue(new core_kernel_classes_Property(PROPERTY_CALLOFSERVICES_SERVICEDEFINITION), "#interactiveServiceDefinition");
     $deliveryResult = new core_kernel_classes_Resource("#MyDeliveryResult");
     $variableIDentifier = "GRADE";
     $value = 0.4;
     //create a small delivery
     $this->subClass = $this->resultsService->createSubClass(new core_kernel_classes_Class(TAO_DELIVERY_RESULT), "UnitTestingGenClass");
     $this->delivery = $this->subClass->createInstance("UnitTestingGenDelivery");
     $this->delivery->setPropertyValue(new core_kernel_classes_Property(PROPERTY_RESULT_OF_DELIVERY), "#unitTestResultOfDelivery");
     $this->delivery->setPropertyValue(new core_kernel_classes_Property(PROPERTY_RESULT_OF_SUBJECT), "#unitTestResultOfSubject");
     $this->delivery->setPropertyValue(new core_kernel_classes_Property(PROPERTY_RESULT_OF_PROCESS), "#unitTestResultOfProcess");
     //stores a grade in this delivery
     $this->grade = $this->resultsService->storeGrade($this->delivery, $this->activityExecution, $variableIDentifier, $value);
     $this->response = $this->resultsService->storeResponse($this->delivery, $this->activityExecution, $variableIDentifier, $value);
 }
 /**
  * constructor: initialize the service and the default data
  *
  * @author Joel Bout <*****@*****.**>
  */
 public function __construct()
 {
     parent::__construct();
     //the service is initialized by default
     $this->service = taoResults_models_classes_ResultsService::singleton();
     $this->resultGridOptions = array('columns' => array(RDFS_LABEL => array('weight' => 2), PROPERTY_RESULT_OF_DELIVERY => array('weight' => 2), PROPERTY_RESULT_OF_SUBJECT => array('weight' => 2)));
     $this->defaultData();
 }
 /**
  * Short description of method prepare
  *
  * @access public
  * @author Joel Bout, <*****@*****.**>
  * @param  array resources  results
  * @param  array columns    variables
  * @return mixed
  */
 public function prepare($resources, $columns)
 {
     $resultsService = taoResults_models_classes_ResultsService::singleton();
     foreach ($resources as $result) {
         $itemresults = $resultsService->getVariables($result, new core_kernel_classes_Class(TAO_RESULT_VARIABLE), false);
         $cellData = array();
         foreach ($itemresults as $itemResultUri => $vars) {
             //cache the item information pertaining to a given itemResult (stable over time)
             if (common_cache_FileCache::singleton()->has('itemResultItemCache' . $itemResultUri)) {
                 $itemUri = common_cache_FileCache::singleton()->get('itemResultItemCache' . $itemResultUri);
                 $item = new core_kernel_classes_Resource($itemUri);
             } else {
                 $item = $resultsService->getItemFromItemResult(new core_kernel_classes_Resource($itemResultUri));
                 common_cache_FileCache::singleton()->put($item->getUri(), 'itemResultItemCache' . $itemResultUri);
             }
             if (get_class($item) == "core_kernel_classes_Resource") {
                 $contextIdentifier = (string) $item->getUri();
             } else {
                 $contextIdentifier = (string) $item->__toString();
             }
             foreach ($vars as $var) {
                 //cache the variable data
                 if (common_cache_FileCache::singleton()->has('variableDataCache' . $var->getUri())) {
                     $varData = common_cache_FileCache::singleton()->get('variableDataCache' . $var->getUri());
                 } else {
                     $varData = $resultsService->getVariableData($var);
                     common_cache_FileCache::singleton()->put($varData, 'variableDataCache' . $var->getUri());
                 }
                 if (is_array($varData["value"])) {
                     $varData["value"] = json_encode($varData["value"]);
                 }
                 $variableIdentifier = (string) $varData["identifier"];
                 foreach ($columns as $column) {
                     if ($variableIdentifier == $column->getIdentifier() and $contextIdentifier == $column->getContextIdentifier()) {
                         $value = (string) $varData["value"];
                         $epoch = $varData["epoch"];
                         $readableTime = "";
                         if ($epoch != "") {
                             $readableTime = "@" . tao_helpers_Date::displayeDate(tao_helpers_Date::getTimeStamp($epoch), tao_helpers_Date::FORMAT_VERBOSE);
                         }
                         $this->cache[$varData["type"]->getUri()][$result->getUri()][$contextIdentifier . $variableIdentifier][(string) $epoch] = array($value, $readableTime);
                     }
                 }
             }
         }
     }
 }
 /**
  * (non-PHPdoc)
  * 
  * @see tao_models_classes_CrudService::getClassService()
  */
 protected function getClassService()
 {
     return taoResults_models_classes_ResultsService::singleton();
 }
 /**
  * 
  * @access 
  * @author "Lionel Lecaque, <*****@*****.**>"
  */
 public function testService()
 {
     $service = taoResults_models_classes_ResultsService::singleton();
     $this->assertIsA($service, 'tao_models_classes_Service');
     $this->assertIsA($service, 'taoResults_models_classes_ResultsService');
 }
 public function __construct()
 {
     parent::__construct();
     $this->service = taoResults_models_classes_ResultsService::singleton();
 }
 public function testGetRootClass()
 {
     $rootResultClass = $this->resultsService->getRootClass();
     $this->assertIsA($rootResultClass, "core_kernel_classes_Class");
     $this->assertEqual($rootResultClass->getUri(), TAO_DELIVERY_RESULT);
 }