Exemplo n.º 1
0
 /**
  * @return Tracker_Artifact|null The created artifact
  */
 public function importOneArtifactFromXML(Tracker $tracker, SimpleXMLElement $xml_artifact, $extraction_path, TrackerXmlFieldsMapping $xml_fields_mapping)
 {
     try {
         $this->logger->info("Import {$xml_artifact['id']}");
         $files_importer = new Tracker_Artifact_XMLImport_CollectionOfFilesToImportInArtifact($xml_artifact);
         $fields_data_builder = new Tracker_Artifact_XMLImport_ArtifactFieldsDataBuilder($this->formelement_factory, $this->user_finder, $tracker, $files_importer, $extraction_path, $this->static_value_dao, $this->logger, $xml_fields_mapping);
         $tracker->getWorkflow()->disable();
         return $this->importOneArtifact($tracker, $xml_artifact, $fields_data_builder);
     } catch (Tracker_Artifact_Exception_CannotCreateInitialChangeset $exception) {
         $this->logger->error("Impossible to create artifact: " . $exception->getMessage());
     } catch (Tracker_Artifact_Exception_EmptyChangesetException $exception) {
         $this->logger->error("Impossible to create artifact, there is no valid data to import for initial changeset: " . $exception->getMessage());
     } catch (Exception $exception) {
         $this->logger->error("" . get_class($exception) . ': ' . $exception->getMessage() . ' in ' . $exception->getFile() . ' L' . $exception->getLine());
     }
 }