Blame view

src/InputOutput/IHMImpl/Process/IHMInputOutputInfoProcessAbstractClass.php 1.57 KB
22521f1c   Benjamin Renard   First commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php

/**
 * @class IHMInputOutputParamsAbstractClass
 * @brief Abstract class that's implement an InputOutputInterface used to treat a request to get the status of a list of process
 * @details
 */
abstract class IHMInputOutputInfoProcessAbstractClass implements InputOutputInterface
{
	protected $jobsManager       = null;
	protected $processDatas      = array();

	/*
	 * @brief Constructor
	*/
	function __construct()
	{
		$this->jobsManager      = new IHMJobsManagerClass();
	}

	/*
	 * @brief translate input data from IHM client to AMDA_Integration module
	*/
	public function getInputData($input,$function,$requestId="")
	{
		$res = $this->getJobIds($input);

		if (!$res['success'])
			throw new Exception($res['message']);
			
		foreach($res['jobs'] as $jobid)
		{
			$processData = new ProcessRequestDataClass();
				
			$processData->setManagerFilePath(IHMConfigClass::getProcessManagerFilePath());
			$processData->setType(ProcessTypeEnumClass::INFO);
			$processData->setId($jobid);
a5413d3a   Benjamin Renard   Add user name in ...
38
			$processData->setUser(IHMConfigClass::getUserName());
22521f1c   Benjamin Renard   First commit
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
				
			$this->processDatas[] = $processData;
		}

		return $this->processDatas;
	}

	/*
	 * @brief translate output data from AMDA_Integration module to IHM client
	*/
	public function getOutput($data)
	{
		return $this->marshallResult($data);
	}

	/*
	 * @brief Abstract method used to get the list of concerning jobs
	*/
	abstract protected function getJobIds($input);

	/*
	 * @brief Abstract method to marshall the result
	*/
	abstract protected function marshallResult($data);
}

a5413d3a   Benjamin Renard   Add user name in ...
65
?>