Blame view

src/Request/ParamsRequestImpl/ParamsRequestDataClass.php 4.41 KB
22521f1c   Benjamin Renard   First commit
1
2
3
<?php

/**
3493f196   Benjamin Renard   Add request to ge...
4
5
6
7
8
9
10
11
12
13
14
15
 * @class ParamsRequestTypeEnumClass
 * @brief Enumerate for request type
 * @details
 */
abstract class ParamsRequestTypeEnumClass
{
	const UNKNOWN = "";
	const XMLREQUEST = "XMLREQUEST";
	const PARAMGEN   = "PARAMGEN";
}

/**
22521f1c   Benjamin Renard   First commit
16
17
18
19
20
21
 * @class ParamsRequestDataClass
 * @brief Data for a params request. Inherits from ProcessRequestDataClass
 * @details
 */
class ParamsRequestDataClass extends ProcessRequestDataClass
{
3493f196   Benjamin Renard   Add request to ge...
22
	private $requestType           = ParamsRequestTypeEnumClass::XMLREQUEST;
8c57155b   Benjamin Renard   Integration for t...
23
	private $requestNodes          = array();
22521f1c   Benjamin Renard   First commit
24
	private $compilationPath       = "";
944199fe   Benjamin Renard   Use table definit...
25
	private $localBasePath         = "";
22521f1c   Benjamin Renard   First commit
26
27
	private $waitingResults        = array();
	private $processParamsToCreate = array();
944199fe   Benjamin Renard   Use table definit...
28
	private $localParamsToCreate   = array();
ffc5cb81   Elena.Budnik   temporary commit
29
	private $localParamsToCreateAndCopy   = array();
22521f1c   Benjamin Renard   First commit
30
	private $paramsToCopy          = array();
3493f196   Benjamin Renard   Add request to ge...
31
	private $paramId               = "";
22521f1c   Benjamin Renard   First commit
32
33
34
35

	function __construct()
	{
		parent::__construct();
22521f1c   Benjamin Renard   First commit
36
37
38
39
40
41
42
43
44
45
46
	}

	public function getCompilationPath()
	{
		return $this->compilationPath;
	}

	public function setCompilationPath($compilationPath)
	{
		$this->compilationPath = $compilationPath;
	}
944199fe   Benjamin Renard   Use table definit...
47
48
49
50
51
52
53
54
55
56
	
	public function getLocalBasePath()
	{
		return $this->localBasePath;
	}
	
	public function setLocalBasePath($localBasePath)
	{
		$this->localBasePath = $localBasePath;
	}
22521f1c   Benjamin Renard   First commit
57

3493f196   Benjamin Renard   Add request to ge...
58
59
60
61
62
63
64
65
66
67
	public function getRequestType()
	{
		return $this->requestType;
	}
	
	public function setRequestType($requestType)
	{
		$this->requestType = $requestType;
	}
	
8c57155b   Benjamin Renard   Integration for t...
68
	public function addRequestNode()
22521f1c   Benjamin Renard   First commit
69
	{
8c57155b   Benjamin Renard   Integration for t...
70
71
72
73
74
75
76
77
		$newRequestNode = new RequestNodeClass();
		$this->requestNodes[] = $newRequestNode;
		return $newRequestNode;
	}
	
	public function getRequestNodes()
	{
		return $this->requestNodes;
22521f1c   Benjamin Renard   First commit
78
79
	}

98881737   Benjamin Renard   Add post processi...
80
81
82
83
84
	public function getWaitingResults()
	{
		return $this->waitingResults;
	}
	
22521f1c   Benjamin Renard   First commit
85
86
87
88
89
90
91
92
93
94
	public function getWaitingResult($key)
	{
		return $this->waitingResults[$key];
	}

	public function addWaitingResult($key, $result)
	{
		$this->waitingResults[$key] = $result;
	}

3493f196   Benjamin Renard   Add request to ge...
95
96
97
98
99
100
101
102
103
104
	public function getParamId()
	{
		return $this->paramId;
	}
	
	public function setParamId($paramId)
	{
		$this->paramId = $paramId;
	}
	
22521f1c   Benjamin Renard   First commit
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
	public function getParamsToCopy()
	{
		return $this->paramsToCopy;
	}

	public function addParamToCopy($paramId,$paramFilePath)
	{
		$this->paramsToCopy[$paramId] = $paramFilePath;
	}

	public function getProcessParamsToCreate()
	{
		return $this->processParamsToCreate;
	}

c0535e83   Benjamin Renard   Use units and yTi...
120
	public function addProcessParamToCreate($paramId, $expression, $expression_info, $getParams, $sampling, $gap, $dateModif, $units, $ytitle)
22521f1c   Benjamin Renard   First commit
121
122
123
	{
		$newParam = new ParamNodeClass();
		$newParam->setId($paramId);
c0535e83   Benjamin Renard   Use units and yTi...
124
125
126
127
128
129
130
131
132
		if (!empty($units)) {
			$newParam->getInfo()->setUnits($units);
		}
		if (!empty($ytitle)) {
			$newParam->getInfo()->setShortName($ytitle);
		}
		else {
			$newParam->getInfo()->setShortName($paramId);
		}
22521f1c   Benjamin Renard   First commit
133
134
135
136
137
138
		$newParam->setSampling($sampling);
		if (isset($gap) && ($gap > 0))
			$newParam->setGap($gap);
		foreach ($getParams as $getParam)
		{
			$amdaParamNode = $newParam->addParamGet(ParamGetTypeEnum::AMDAPARAM);
e4545ed5   Benjamin Renard   Implement templat...
139
140
141
142
			if (array_key_exists('template_args', $getParam))
				$amdaParamNode->setParamName($getParam['fullparamid']);
			else
				$amdaParamNode->setParamName($getParam['paramid']);
22521f1c   Benjamin Renard   First commit
143
		}
e9165342   Benjamin Renard   Write data mining...
144
		$newParam->setProcess($expression, $expression_info);
22521f1c   Benjamin Renard   First commit
145
		$newParam->setOutput();
ffc5cb81   Elena.Budnik   temporary commit
146

286f7924   Benjamin Renard   Derived parameter...
147
		$this->processParamsToCreate[$paramId] = array('param' => $newParam, 'dateModif' => $dateModif);
22521f1c   Benjamin Renard   First commit
148
	}
944199fe   Benjamin Renard   Use table definit...
149
150
151
152
153
154
	
	public function getLocalParamsToCreate()
	{
		return $this->localParamsToCreate;
	}
	
ffc5cb81   Elena.Budnik   temporary commit
155
156
157
158
159
160
	public function getLocalParamsToCreateAndCopy()
	{
		return $this->localParamsToCreateAndCopy;
	}	
	
	public function addLocalParamToCreate($paramId, $viId, $realVarId, $minSampling, $maxSampling, $type, $size, $dateModif, $isImpex = false)
944199fe   Benjamin Renard   Use table definit...
161
162
163
164
165
166
167
168
169
	{
		$newParam = new ParamNodeClass();
		$newParam->setId($paramId);
		
		$newParam->getInfo();
		
		$localParamNode = $newParam->addParamGet(ParamGetTypeEnum::LOCALBASE);
		$localParamNode->setVIId($viId);
		
e8ff4ba7   Elena.Budnik   integration of as...
170
		$localParamNode->addLocalParam($realVarId, $minSampling, $maxSampling, $type, $size);
944199fe   Benjamin Renard   Use table definit...
171
		
e9165342   Benjamin Renard   Write data mining...
172
		$newParam->setProcess("","");
944199fe   Benjamin Renard   Use table definit...
173
		$newParam->setOutput();
ffc5cb81   Elena.Budnik   temporary commit
174
175
176
177
178
179
180
181
182
		
		if ($isImpex) 
		{			
			$this->localParamsToCreateAndCopy[$paramId] = array('param' => $newParam, 'dateModif' => $dateModif);
		}
		else
		{
			$this->localParamsToCreate[$paramId] = array('param' => $newParam, 'dateModif' => $dateModif);
		}
944199fe   Benjamin Renard   Use table definit...
183
184
185
		
		return $newParam;
	}
22521f1c   Benjamin Renard   First commit
186
187
}

e9165342   Benjamin Renard   Write data mining...
188
?>