Blame view

src/Request/ParamsRequestImpl/Nodes/Requests/RequestNodeClass.php 2.92 KB
22521f1c   Benjamin Renard   First commit
1
2
<?php

966bd5f8   Benjamin Renard   Add request to ge...
3
4
5
require_once "RequestTimesNodeClass.php";
require_once "RequestOutputsNodeClass.php";

22521f1c   Benjamin Renard   First commit
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
define ("REQUESTPARAM_NAME", "param");
define ("REQUESTPARAM_ID", "id");

/**
 * @class RequestParamNodeClass
 * @brief Definition of a request param node for AMDA_Kernel
 * @details
*/
class RequestParamNodeClass extends NodeClass
{
	public function __construct()
	{
		parent::__construct(REQUESTPARAM_NAME);
	}

	public function setId($id)
	{
		$this->setAttribute(REQUESTPARAM_ID, $id);
	}

	public function getId()
	{
		return $this->getAttribute(REQUESTPARAM_ID);
	}
966bd5f8   Benjamin Renard   Add request to ge...
30
31
32
33
34
	
	public function loadFromNode($xmlNode)
	{
		$this->setId($this->getXmlNodeAttribute($xmlNode, REQUESTPARAM_ID));
	}
22521f1c   Benjamin Renard   First commit
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
}

define ("REQUESTPARAMS_NAME", "params");

/**
 * @class RequestParamsNodeClass
 * @brief Definition of a request params node for AMDA_Kernel
 * @details
*/
class RequestParamsNodeClass extends NodeClass
{
	public function __construct()
	{
		parent::__construct(REQUESTPARAMS_NAME);
	}

966bd5f8   Benjamin Renard   Add request to ge...
51
	public function addParam($id = "")
22521f1c   Benjamin Renard   First commit
52
	{
4ede4320   Benjamin Renard   Integration for s...
53
54
		foreach ($this->getChildrenByName(REQUESTPARAM_NAME) as $paramNode)
			if ($paramNode->getId() == $id)
966bd5f8   Benjamin Renard   Add request to ge...
55
				return $paramNode;
22521f1c   Benjamin Renard   First commit
56
57
58
		$param = new RequestParamNodeClass();
		$param->setId($id);
		$this->addChild($param);
966bd5f8   Benjamin Renard   Add request to ge...
59
60
		
		return $param;
22521f1c   Benjamin Renard   First commit
61
62
63
64
65
66
	}

	public function getParamList()
	{
		return $this->getChildrenByName(REQUESTPARAM_NAME);
	}
966bd5f8   Benjamin Renard   Add request to ge...
67
68
69
70
71
72
73
	
	public function loadFromNode($xmlNode)
	{
		foreach ($this->getXmlNodeChildrenByTagName($xmlNode, REQUESTPARAM_NAME) as $requestParamXmlNode) {
			$this->addParam()->loadFromNode($requestParamXmlNode);
		}
	}
22521f1c   Benjamin Renard   First commit
74
75
76
77
78
79
80
81
82
83
84
}

define ("REQUEST_NAME", "request");

/**
 * @class RequestNodeClass
 * @brief Definition of a request node for AMDA_Kernel
 * @details
*/
class RequestNodeClass extends NodeClass
{
00a22067   Benjamin Renard   TT navigation
85
86
	private $realIndex = 0;
	
22521f1c   Benjamin Renard   First commit
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
	public function __construct()
	{
		parent::__construct(REQUEST_NAME);

		$this->addChild(new RequestParamsNodeClass());
		$this->addChild(new RequestTimesNodeClass());
		$this->addChild(new RequestOutputsNodeClass());
	}

	public function getParamsNode()
	{
		return $this->getFirstChildByName(REQUESTPARAMS_NAME);
	}

	public function getTimesNode()
	{
		return $this->getFirstChildByName(REQUESTTIMES_NAME);
	}

	public function getOutputsNode()
	{
		return $this->getFirstChildByName(REQUESTOUTPUTS_NAME);
	}
00a22067   Benjamin Renard   TT navigation
110
111
112
113
114
115
116
117
118
119
	
	public function setRealIndex($index)
	{
		$this->realIndex = $index;
	}

	public function getRealIndex()
	{
		return $this->realIndex;
	}
966bd5f8   Benjamin Renard   Add request to ge...
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
	
	public function loadFromNode($xmlNode)
	{
		$paramsXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTPARAMS_NAME);
		if (isset($paramsXmlNode))
			$this->getParamsNode()->loadFromNode($paramsXmlNode);
		
		$timesXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTTIMES_NAME);
		if (isset($timesXmlNode))
			$this->getTimesNode()->loadFromNode($timesXmlNode);
		
		$outputsXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTS_NAME);
		if (isset($outputsXmlNode))
			$this->getOutputsNode()->loadFromNode($outputsXmlNode);
		
	}
22521f1c   Benjamin Renard   First commit
136
137
138
}

?>