Commit 286f7924cdb2c750ae2eeb4d10bcb908c83acf27
1 parent
69602cd7
Exists in
master
and in
66 other branches
Derived parameter compilation only after a modification
Showing
6 changed files
with
21 additions
and
8 deletions
Show diff stats
src/InputOutput/IHMImpl/Config/IHMConfigClass.php
@@ -78,6 +78,11 @@ class IHMConfigClass | @@ -78,6 +78,11 @@ class IHMConfigClass | ||
78 | { | 78 | { |
79 | return self::getUserWSPath().self::$userParamMgrFile; | 79 | return self::getUserWSPath().self::$userParamMgrFile; |
80 | } | 80 | } |
81 | + | ||
82 | + public static function getUserDerivedParamFilePath($paramId) | ||
83 | + { | ||
84 | + return self::getUserWSPath().$paramId.".xml"; | ||
85 | + } | ||
81 | 86 | ||
82 | public static function getLocalParamDBPath() | 87 | public static function getLocalParamDBPath() |
83 | { | 88 | { |
src/InputOutput/IHMImpl/Params/DataMiningImpl/IHMInputOutputParamsDataMiningClass.php
@@ -37,7 +37,7 @@ class IHMInputOutputParamsDataMiningClass extends IHMInputOutputParamsAbstractCl | @@ -37,7 +37,7 @@ class IHMInputOutputParamsDataMiningClass extends IHMInputOutputParamsAbstractCl | ||
37 | //create a derived param for the expression | 37 | //create a derived param for the expression |
38 | $this->paramManager->addProcessParam($paramId, $expressionInfo["expression"], | 38 | $this->paramManager->addProcessParam($paramId, $expressionInfo["expression"], |
39 | $expressionInfo['params'], $input->sampling, | 39 | $expressionInfo['params'], $input->sampling, |
40 | - $input->gap,$this->paramsData); | 40 | + $input->gap,time(),$this->paramsData); |
41 | 41 | ||
42 | //add derived param to output | 42 | //add derived param to output |
43 | $paramsNode->addParam($paramId); | 43 | $paramsNode->addParam($paramId); |
src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php
@@ -34,9 +34,9 @@ class IHMParamManagerClass | @@ -34,9 +34,9 @@ class IHMParamManagerClass | ||
34 | /* | 34 | /* |
35 | * @brief Add a process parameter | 35 | * @brief Add a process parameter |
36 | */ | 36 | */ |
37 | - public function addProcessParam($paramId,$expression,$params,$sampling,$gap,$paramsData) | 37 | + public function addProcessParam($paramId,$expression,$params,$sampling,$gap,$dateModif,$paramsData) |
38 | { | 38 | { |
39 | - $paramsData->addProcessParamToCreate($paramId, $expression, $params, $sampling, $gap); | 39 | + $paramsData->addProcessParamToCreate($paramId, $expression, $params, $sampling, $gap,$dateModif); |
40 | 40 | ||
41 | foreach ($params as $param) | 41 | foreach ($params as $param) |
42 | $this->addExistingParam($param,$paramsData); | 42 | $this->addExistingParam($param,$paramsData); |
@@ -151,7 +151,7 @@ class IHMParamManagerClass | @@ -151,7 +151,7 @@ class IHMParamManagerClass | ||
151 | //create a process param for the derived parameter | 151 | //create a process param for the derived parameter |
152 | $this->addProcessParam($paramId, $expressionInfo["expression"], | 152 | $this->addProcessParam($paramId, $expressionInfo["expression"], |
153 | $expressionInfo['params'], $res["param"]["timestep"], | 153 | $expressionInfo['params'], $res["param"]["timestep"], |
154 | - 0,$paramsData); | 154 | + 0,$res["param"]["dateModif"],$paramsData); |
155 | 155 | ||
156 | return array("id" => $paramId, "indexes" => array(), "calib_infos" => array()); | 156 | return array("id" => $paramId, "indexes" => array(), "calib_infos" => array()); |
157 | } | 157 | } |
src/InputOutput/IHMImpl/Tools/IHMUserParamLoaderClass.php
@@ -83,6 +83,9 @@ class IHMUserParamLoaderClass | @@ -83,6 +83,9 @@ class IHMUserParamLoaderClass | ||
83 | //id | 83 | //id |
84 | $paramId = $derivedParamNode->getAttribute(self::$mgrDerivedParamIdAtt); | 84 | $paramId = $derivedParamNode->getAttribute(self::$mgrDerivedParamIdAtt); |
85 | 85 | ||
86 | + //modification date | ||
87 | + $dateModif = filemtime(IHMConfigClass::getUserDerivedParamFilePath($paramId)); | ||
88 | + | ||
86 | //name | 89 | //name |
87 | $paramName = $derivedParamNode->getAttribute(self::$mgrDerivedParamNameAtt); | 90 | $paramName = $derivedParamNode->getAttribute(self::$mgrDerivedParamNameAtt); |
88 | 91 | ||
@@ -97,7 +100,8 @@ class IHMUserParamLoaderClass | @@ -97,7 +100,8 @@ class IHMUserParamLoaderClass | ||
97 | "name" => $paramName, | 100 | "name" => $paramName, |
98 | "expression" => $paramExpression, | 101 | "expression" => $paramExpression, |
99 | "timestep" => $paramTimeStep, | 102 | "timestep" => $paramTimeStep, |
100 | - "info" => $this->loadDerivedParameterInfo($id) | 103 | + "info" => $this->loadDerivedParameterInfo($id), |
104 | + "dateModif" => $dateModif | ||
101 | )); | 105 | )); |
102 | } | 106 | } |
103 | } | 107 | } |
src/Request/ParamsRequestImpl/ParamsRequestClass.php
@@ -82,6 +82,8 @@ class ParamsRequestClass extends ProcessRequestClass | @@ -82,6 +82,8 @@ class ParamsRequestClass extends ProcessRequestClass | ||
82 | $this->requestData->setLastErrorMessage('Cannot copy param definition file for '.$key); | 82 | $this->requestData->setLastErrorMessage('Cannot copy param definition file for '.$key); |
83 | return false; | 83 | return false; |
84 | } | 84 | } |
85 | + | ||
86 | + touch($destinationFile, filemtime($value)); | ||
85 | } | 87 | } |
86 | 88 | ||
87 | //create processed params files | 89 | //create processed params files |
@@ -91,7 +93,7 @@ class ParamsRequestClass extends ProcessRequestClass | @@ -91,7 +93,7 @@ class ParamsRequestClass extends ProcessRequestClass | ||
91 | $doc->preserveWhiteSpace = false; | 93 | $doc->preserveWhiteSpace = false; |
92 | $doc->formatOutput = true; | 94 | $doc->formatOutput = true; |
93 | 95 | ||
94 | - if (!$xmlNode = $value->toXMLNode($doc)) | 96 | + if (!$xmlNode = $value["param"]->toXMLNode($doc)) |
95 | { | 97 | { |
96 | $this->requestData->setLastErrorMessage('Cannot create params XML file for '.$key); | 98 | $this->requestData->setLastErrorMessage('Cannot create params XML file for '.$key); |
97 | return false; | 99 | return false; |
@@ -111,6 +113,8 @@ class ParamsRequestClass extends ProcessRequestClass | @@ -111,6 +113,8 @@ class ParamsRequestClass extends ProcessRequestClass | ||
111 | $this->requestData->setLastErrorMessage('Cannot save params XML file for '.$key); | 113 | $this->requestData->setLastErrorMessage('Cannot save params XML file for '.$key); |
112 | return false; | 114 | return false; |
113 | } | 115 | } |
116 | + | ||
117 | + touch($destinationFile, $value["dateModif"]); | ||
114 | } | 118 | } |
115 | 119 | ||
116 | return true; | 120 | return true; |
src/Request/ParamsRequestImpl/ParamsRequestDataClass.php
@@ -59,7 +59,7 @@ class ParamsRequestDataClass extends ProcessRequestDataClass | @@ -59,7 +59,7 @@ class ParamsRequestDataClass extends ProcessRequestDataClass | ||
59 | return $this->processParamsToCreate; | 59 | return $this->processParamsToCreate; |
60 | } | 60 | } |
61 | 61 | ||
62 | - public function addProcessParamToCreate($paramId, $expression, $getParams, $sampling, $gap) | 62 | + public function addProcessParamToCreate($paramId, $expression, $getParams, $sampling, $gap, $dateModif) |
63 | { | 63 | { |
64 | $newParam = new ParamNodeClass(); | 64 | $newParam = new ParamNodeClass(); |
65 | $newParam->setId($paramId); | 65 | $newParam->setId($paramId); |
@@ -73,7 +73,7 @@ class ParamsRequestDataClass extends ProcessRequestDataClass | @@ -73,7 +73,7 @@ class ParamsRequestDataClass extends ProcessRequestDataClass | ||
73 | } | 73 | } |
74 | $newParam->setProcess($expression); | 74 | $newParam->setProcess($expression); |
75 | $newParam->setOutput(); | 75 | $newParam->setOutput(); |
76 | - $this->processParamsToCreate[$paramId] = $newParam; | 76 | + $this->processParamsToCreate[$paramId] = array('param' => $newParam, 'dateModif' => $dateModif); |
77 | } | 77 | } |
78 | } | 78 | } |
79 | 79 |