public function createAssemblyFromServiceCall(core_kernel_classes_Class $deliveryClass, tao_models_classes_service_ServiceCall $serviceCall, $properties = array())
 {
     $properties[PROPERTY_COMPILEDDELIVERY_TIME] = time();
     $properties[PROPERTY_COMPILEDDELIVERY_RUNTIME] = $serviceCall->toOntology();
     if (!isset($properties[TAO_DELIVERY_RESULTSERVER_PROP])) {
         $properties[TAO_DELIVERY_RESULTSERVER_PROP] = taoResultServer_models_classes_ResultServerAuthoringService::singleton()->getDefaultResultServer();
     }
     $compilationInstance = $deliveryClass->createInstanceWithProperties($properties);
     return $compilationInstance;
 }
 private function buildCompiledDelivery(core_kernel_classes_Resource $delivery, core_kernel_classes_Resource $workflow)
 {
     $directory = $this->getCompilationDirectory($delivery);
     $this->replaceItemRunner($workflow, $directory);
     $serviceCall = new tao_models_classes_service_ServiceCall(new core_kernel_classes_Resource(INSTANCE_SERVICE_PROCESSRUNNER));
     $param = new tao_models_classes_service_ConstantParameter(new core_kernel_classes_Resource(INSTANCE_FORMALPARAM_PROCESSDEFINITION), $workflow);
     $serviceCall->addInParameter($param);
     $compilationClass = new core_kernel_classes_Class(CLASS_COMPILEDDELIVERY);
     $compilationInstance = $compilationClass->createInstanceWithProperties(array(RDFS_LABEL => $delivery->getLabel(), PROPERTY_COMPILEDDELIVERY_DELIVERY => $delivery, PROPERTY_COMPILEDDELIVERY_FOLDER => $directory, PROPERTY_COMPILEDDELIVERY_TIME => time(), PROPERTY_COMPILEDDELIVERY_RUNTIME => $serviceCall->toOntology()));
     return $compilationInstance;
 }
 protected function createLinearSuperProcess($processes)
 {
     $processDefinitionClass = new core_kernel_classes_Class(CLASS_PROCESS);
     $processDefinition = $processDefinitionClass->createInstance('process for ' . __CLASS__);
     $this->assertIsA($processDefinition, 'core_kernel_classes_Resource');
     $activityService = wfAuthoring_models_classes_ActivityService::singleton();
     $connectorService = wfAuthoring_models_classes_ConnectorService::singleton();
     $processRunnerService = new core_kernel_classes_Resource(INSTANCE_SERVICE_PROCESSRUNNER);
     $processRunnerParam = new core_kernel_classes_Resource(INSTANCE_FORMALPARAM_PROCESSDEFINITION);
     $last = null;
     foreach ($processes as $subProcess) {
         $serviceCall = new tao_models_classes_service_ServiceCall($processRunnerService);
         $serviceCall->addInParameter(new tao_models_classes_service_ConstantParameter($processRunnerParam, $subProcess));
         $current = $activityService->createActivity($processDefinition);
         $current->setPropertyValue(new core_kernel_classes_Property(PROPERTY_ACTIVITIES_INTERACTIVESERVICES), $serviceCall->toOntology());
         if (is_null($last)) {
             $current->editPropertyValues(new core_kernel_classes_Property(PROPERTY_ACTIVITIES_ISINITIAL), GENERIS_TRUE);
         } else {
             $connectorService->createSequential($last, $current);
         }
         $last = $current;
     }
     return $processDefinition;
 }