UploadTask
extends AirlayTask
in package
Table of Contents
- MAX_OBJECTS_ERRORS_COUNT = 1000
- $converterManager : ConverterManager
- $errors : array<string|int, mixed>
- $managerOfFileParsers : ManagerOfFileParsers
- $maxMemorySize : int
- initialize() : void
- mainAction() : void
- Action for processing file in RabbitMQ queue.
- processBody() : void
- abortWorkWithMessage() : never
- getDataSetTitle() : string
- getFeaturesContent() : array<string|int, mixed>
- getTracksContent() : array<string|int, mixed>
- parseFlagsFromParams() : void
- Parse command line arguments from array. Output default values if --help or -h argument specified.
- parseImageFiles() : array<string|int, mixed>
- parseKMZfiles() : array<string|int, mixed>
- parseMapInfoFiles() : array<string|int, mixed>
- parseShapeFiles() : array<string|int, mixed>
- processMessage() : void
- requestConfirm() : bool
- convertData() : array<string|int, mixed>
- convertUniqueFieldToString() : array<string|int, mixed>
- copyDataSetLog() : ObjectId
- copyUploadLog() : ObjectId
- dataProcessing() : array<string|int, mixed>
- Processing data to add to the database Error codes: 1 - Invalid unique field 2 - DB error 3 - Invalid geometry 4 - Invalid relation.
- endJob() : void
- fireUpdateRelationsEvent() : void
- getDataSetFromTask() : DataSetEntity
- getFilesFromTask() : array<string|int, mixed>
- getUploadFileLogFromTask() : UploadFileLogEntity
- isPossibleGeocoding() : bool
- parseFiles() : array<string|int, mixed>
- publishToDelayQueue() : void
- publishToGeofinderQueue() : void
- sendToGeoCodingTask() : void
- setStatusProgress() : void
Constants
MAX_OBJECTS_ERRORS_COUNT
public
mixed
MAX_OBJECTS_ERRORS_COUNT
= 1000
Properties
$converterManager
private
ConverterManager
$converterManager
$errors
private
array<string|int, mixed>
$errors
= []
$managerOfFileParsers
private
ManagerOfFileParsers
$managerOfFileParsers
$maxMemorySize
private
int
$maxMemorySize
Methods
initialize()
public
initialize() : void
Return values
void —mainAction()
Action for processing file in RabbitMQ queue.
public
mainAction() : void
Return values
void —processBody()
public
processBody(FileUploadBody $task) : void
Parameters
- $task : FileUploadBody
Return values
void —abortWorkWithMessage()
protected
abortWorkWithMessage(string $message) : never
Parameters
- $message : string
Return values
never —getDataSetTitle()
protected
getDataSetTitle(array<string|int, mixed>|DataSetEntity $dataSet) : string
Parameters
- $dataSet : array<string|int, mixed>|DataSetEntity
Return values
string —getFeaturesContent()
protected
getFeaturesContent(array<string|int, mixed> $files, string $format) : array<string|int, mixed>
Parameters
- $files : array<string|int, mixed>
- $format : string
Return values
array<string|int, mixed> —getTracksContent()
protected
getTracksContent(string $file, string $format) : array<string|int, mixed>
Parameters
- $file : string
- $format : string
Tags
Return values
array<string|int, mixed> —parseFlagsFromParams()
Parse command line arguments from array. Output default values if --help or -h argument specified.
protected
parseFlagsFromParams(Flags $flags[, array<string|int, mixed> $params = [] ]) : void
Parameters
- $flags : Flags
- $params : array<string|int, mixed> = []
Return values
void —parseImageFiles()
protected
parseImageFiles(array<string|int, mixed> $files) : array<string|int, mixed>
Parameters
- $files : array<string|int, mixed>
Return values
array<string|int, mixed> —parseKMZfiles()
protected
parseKMZfiles(array<string|int, mixed> $files) : array<string|int, mixed>
Parameters
- $files : array<string|int, mixed>
Return values
array<string|int, mixed> —parseMapInfoFiles()
protected
parseMapInfoFiles(array<string|int, mixed> $files) : array<string|int, mixed>
Parameters
- $files : array<string|int, mixed>
Return values
array<string|int, mixed> —parseShapeFiles()
protected
parseShapeFiles(array<string|int, mixed> $files) : array<string|int, mixed>
Parameters
- $files : array<string|int, mixed>
Return values
array<string|int, mixed> —processMessage()
protected
processMessage(AMQPMessage $message, FileUploadBody $body) : void
Parameters
- $message : AMQPMessage
- $body : FileUploadBody
Return values
void —requestConfirm()
protected
requestConfirm(string $message) : bool
Parameters
- $message : string
Return values
bool —convertData()
private
convertData(array<string|int, mixed> $data, string $format, ObjectId $dataSetId) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $format : string
- $dataSetId : ObjectId
Return values
array<string|int, mixed> —convertUniqueFieldToString()
private
convertUniqueFieldToString(array<string|int, mixed> $features, string $uniqueField) : array<string|int, mixed>
Parameters
- $features : array<string|int, mixed>
- $uniqueField : string
Return values
array<string|int, mixed> —copyDataSetLog()
private
copyDataSetLog(ObjectId $id, ObjectId $newId) : ObjectId
Parameters
- $id : ObjectId
- $newId : ObjectId
Return values
ObjectId —copyUploadLog()
private
copyUploadLog(UploadFileLogEntity $uploadFileLog, array<string|int, mixed> $filesFromStorage, array<string|int, mixed> $filesFromInput) : ObjectId
Parameters
- $uploadFileLog : UploadFileLogEntity
- $filesFromStorage : array<string|int, mixed>
- $filesFromInput : array<string|int, mixed>
Return values
ObjectId —dataProcessing()
Processing data to add to the database Error codes: 1 - Invalid unique field 2 - DB error 3 - Invalid geometry 4 - Invalid relation.
private
dataProcessing( $features, DataSetEntity $dataSet, string $updatePropertiesStrategy, ObjectId $logId) : array<string|int, mixed>
Parameters
- $features :
- $dataSet : DataSetEntity
- $updatePropertiesStrategy : string
- $logId : ObjectId
Tags
Return values
array<string|int, mixed> —endJob()
private
endJob(UploadFileLogEntity|null $uploadFileLog, array<string|int, mixed> $numbers[, ResourceEntity|null $resource = null ]) : void
Parameters
- $uploadFileLog : UploadFileLogEntity|null
- $numbers : array<string|int, mixed>
- $resource : ResourceEntity|null = null
Return values
void —fireUpdateRelationsEvent()
private
fireUpdateRelationsEvent(array<string|int, mixed> $changes, ObjectId $dataSetId, DataSetLogEntity $log) : void
Parameters
- $changes : array<string|int, mixed>
-
['create' => ObjectId[], 'update' => ObjectId[], 'delete' => ObjectId[]]
- $dataSetId : ObjectId
- $log : DataSetLogEntity
Return values
void —getDataSetFromTask()
private
getDataSetFromTask(FileUploadBody $task) : DataSetEntity
Parameters
- $task : FileUploadBody
Return values
DataSetEntity —getFilesFromTask()
private
getFilesFromTask(FileUploadBody $task) : array<string|int, mixed>
Parameters
- $task : FileUploadBody
Tags
Return values
array<string|int, mixed> —getUploadFileLogFromTask()
private
getUploadFileLogFromTask(FileUploadBody $task) : UploadFileLogEntity
Parameters
- $task : FileUploadBody
Return values
UploadFileLogEntity —isPossibleGeocoding()
private
isPossibleGeocoding(DataSetEntity $dataSet) : bool
Parameters
- $dataSet : DataSetEntity
Return values
bool —parseFiles()
private
parseFiles(array<string|int, mixed> $files, string $format, string $dataSetType) : array<string|int, mixed>
Parameters
- $files : array<string|int, mixed>
- $format : string
- $dataSetType : string
Return values
array<string|int, mixed> —publishToDelayQueue()
private
publishToDelayQueue(FileUploadBody $body) : void
Parameters
- $body : FileUploadBody
Return values
void —publishToGeofinderQueue()
private
publishToGeofinderQueue(string $filePath, string $updatePropertiesStrategy, ObjectId $dataSetId, ObjectId $logId, ObjectId $dataSetLogId) : void
Parameters
- $filePath : string
- $updatePropertiesStrategy : string
- $dataSetId : ObjectId
- $logId : ObjectId
- $dataSetLogId : ObjectId
Return values
void —sendToGeoCodingTask()
private
sendToGeoCodingTask(FileUploadBody $body, UploadFileLogEntity $uploadFileLog, array<string|int, mixed> $features) : void
Parameters
- $body : FileUploadBody
- $uploadFileLog : UploadFileLogEntity
- $features : array<string|int, mixed>
Return values
void —setStatusProgress()
private
setStatusProgress(UploadFileLogEntity $uploadFileLog) : void
Parameters
- $uploadFileLog : UploadFileLogEntity