Commit 342b20ca3f447aab0b0670ca1dd45d7de9aa2c5d
1 parent
0fea5567
Exists in
master
and in
100 other branches
Fix inheritence between TimeTableCacheMgr and CatalogCacheMgr
Showing
11 changed files
with
175 additions
and
298 deletions
Show diff stats
js/app/models/TimeTable.js
1 | /** | 1 | /** |
2 | * Project : AMDA-NG | 2 | * Project : AMDA-NG |
3 | - * Name : timeTable.js | 3 | + * Name : timeTable.js |
4 | * Description : TimeTable Business Object Definition | 4 | * Description : TimeTable Business Object Definition |
5 | * @class amdaModel.TimeTable | 5 | * @class amdaModel.TimeTable |
6 | - * @extends amdaModel.AmdaObject | ||
7 | - * | 6 | + * @extends amdaModel.AmdaObject |
7 | + * | ||
8 | * @author cdarmon | 8 | * @author cdarmon |
9 | * @version $Id: TimeTable.js 1907 2013-11-25 15:59:42Z myriam $ | 9 | * @version $Id: TimeTable.js 1907 2013-11-25 15:59:42Z myriam $ |
10 | ****************************************************************************** | 10 | ****************************************************************************** |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | 16 | ||
17 | 17 | ||
18 | Ext.define('amdaModel.Interval', { | 18 | Ext.define('amdaModel.Interval', { |
19 | - extend: 'amdaModel.AmdaObject', | 19 | + extend: 'amdaModel.AmdaObject', |
20 | fields: [ | 20 | fields: [ |
21 | { | 21 | { |
22 | name: 'id', | 22 | name: 'id', |
@@ -80,19 +80,19 @@ Ext.define('amdaModel.Interval', { | @@ -80,19 +80,19 @@ Ext.define('amdaModel.Interval', { | ||
80 | { name: 'isNew', type : 'boolean', defaultValue: false}, | 80 | { name: 'isNew', type : 'boolean', defaultValue: false}, |
81 | { name: 'isModified', type : 'boolean', defaultValue: false} | 81 | { name: 'isModified', type : 'boolean', defaultValue: false} |
82 | ], | 82 | ], |
83 | - | 83 | + |
84 | getJsonValues : function () { | 84 | getJsonValues : function () { |
85 | var values = new Object(); | 85 | var values = new Object(); |
86 | values.start = this.get('start'); | 86 | values.start = this.get('start'); |
87 | values.stop = this.get('stop'); | 87 | values.stop = this.get('stop'); |
88 | return values; | 88 | return values; |
89 | }, | 89 | }, |
90 | - | 90 | + |
91 | proxy: { | 91 | proxy: { |
92 | type: 'direct', | 92 | type: 'direct', |
93 | api : | 93 | api : |
94 | { | 94 | { |
95 | - read : AmdaAction.readTTCacheIntervals | 95 | + read : AmdaAction.readCacheIntervals |
96 | }, | 96 | }, |
97 | extraParams : {'typeTT' : ''}, | 97 | extraParams : {'typeTT' : ''}, |
98 | reader: | 98 | reader: |
@@ -102,8 +102,8 @@ Ext.define('amdaModel.Interval', { | @@ -102,8 +102,8 @@ Ext.define('amdaModel.Interval', { | ||
102 | totalProperty : 'totalCount' | 102 | totalProperty : 'totalCount' |
103 | } | 103 | } |
104 | } | 104 | } |
105 | - | ||
106 | - /* | 105 | + |
106 | + /* | ||
107 | validations: [ | 107 | validations: [ |
108 | {type: 'presence', field: 'age'}, | 108 | {type: 'presence', field: 'age'}, |
109 | {type: 'length', field: 'name', min: 2}, | 109 | {type: 'length', field: 'name', min: 2}, |
@@ -112,49 +112,49 @@ Ext.define('amdaModel.Interval', { | @@ -112,49 +112,49 @@ Ext.define('amdaModel.Interval', { | ||
112 | {type: 'format', field: 'username', matcher: /([a-z]+)[0-9]{2,3}/} | 112 | {type: 'format', field: 'username', matcher: /([a-z]+)[0-9]{2,3}/} |
113 | ], | 113 | ], |
114 | */ | 114 | */ |
115 | - | 115 | + |
116 | }); | 116 | }); |
117 | 117 | ||
118 | 118 | ||
119 | Ext.define('amdaModel.TimeTable', { | 119 | Ext.define('amdaModel.TimeTable', { |
120 | - | 120 | + |
121 | extend: 'amdaModel.AmdaObject', | 121 | extend: 'amdaModel.AmdaObject', |
122 | - | 122 | + |
123 | fields : [ | 123 | fields : [ |
124 | {name: 'fromPlugin', type: 'boolean', defaultValue: false}, | 124 | {name: 'fromPlugin', type: 'boolean', defaultValue: false}, |
125 | {name: 'created', type: 'date'}, | 125 | {name: 'created', type: 'date'}, |
126 | {name: 'description', type: 'string'}, | 126 | {name: 'description', type: 'string'}, |
127 | - {name: 'history', type: 'string'}, | 127 | + {name: 'history', type: 'string'}, |
128 | {name: 'nbIntervals', type: 'int'}, | 128 | {name: 'nbIntervals', type: 'int'}, |
129 | {name: 'objName', type: 'string', defaultValue: ""}, | 129 | {name: 'objName', type: 'string', defaultValue: ""}, |
130 | {name: 'objFormat', type: 'string', defaultValue: ""}, | 130 | {name: 'objFormat', type: 'string', defaultValue: ""}, |
131 | {name: 'folderId', type: 'string', defaultValue: ""}, | 131 | {name: 'folderId', type: 'string', defaultValue: ""}, |
132 | {name: 'cacheToken', type: 'string', defaultValue: ""}, | 132 | {name: 'cacheToken', type: 'string', defaultValue: ""}, |
133 | {name: 'relatedCatalogId', type: 'string', defaultValue: ""} | 133 | {name: 'relatedCatalogId', type: 'string', defaultValue: ""} |
134 | - ], | ||
135 | - | 134 | + ], |
135 | + | ||
136 | /*commit: function(){ | 136 | /*commit: function(){ |
137 | this.callParent(arguments); | 137 | this.callParent(arguments); |
138 | - | 138 | + |
139 | // fix the modifications for its intervals | 139 | // fix the modifications for its intervals |
140 | - Ext.Array.each(this.get('intervals'), function(item, index, all) { | ||
141 | -//TODO check if JSON object should be processed | ||
142 | - if (item.$className) { | 140 | + Ext.Array.each(this.get('intervals'), function(item, index, all) { |
141 | +//TODO check if JSON object should be processed | ||
142 | + if (item.$className) { | ||
143 | item.commit(); | 143 | item.commit(); |
144 | - } | 144 | + } |
145 | }); | 145 | }); |
146 | - | 146 | + |
147 | },*/ | 147 | },*/ |
148 | - | 148 | + |
149 | // hasMany: {model: 'amdaModel.Interval', name: 'intervals'}, | 149 | // hasMany: {model: 'amdaModel.Interval', name: 'intervals'}, |
150 | - | 150 | + |
151 | /** | 151 | /** |
152 | * get TimeTable values to sent to Server | 152 | * get TimeTable values to sent to Server |
153 | * @return object | 153 | * @return object |
154 | */ | 154 | */ |
155 | //TODO utf8_encode() and Ext.urlEncode() ??? | 155 | //TODO utf8_encode() and Ext.urlEncode() ??? |
156 | getJsonValues : function (hasId) { | 156 | getJsonValues : function (hasId) { |
157 | - var values = new Object(); | 157 | + var values = new Object(); |
158 | if (hasId) { | 158 | if (hasId) { |
159 | values.id = this.get('id'); | 159 | values.id = this.get('id'); |
160 | } | 160 | } |
@@ -171,13 +171,10 @@ Ext.define('amdaModel.TimeTable', { | @@ -171,13 +171,10 @@ Ext.define('amdaModel.TimeTable', { | ||
171 | values.folderId = this.get('folderId'); | 171 | values.folderId = this.get('folderId'); |
172 | values.nbIntervals = this.get('nbIntervals'); | 172 | values.nbIntervals = this.get('nbIntervals'); |
173 | values.cacheToken = this.get('cacheToken'); | 173 | values.cacheToken = this.get('cacheToken'); |
174 | - | 174 | + |
175 | values.leaf = true; | 175 | values.leaf = true; |
176 | values.nodeType = amdaModel.TimeTableNode.nodeType; | 176 | values.nodeType = amdaModel.TimeTableNode.nodeType; |
177 | return values; | 177 | return values; |
178 | } | 178 | } |
179 | 179 | ||
180 | }); | 180 | }); |
181 | - | ||
182 | - | ||
183 | - |
js/app/views/CatalogUI.js
@@ -98,7 +98,7 @@ Ext.define('amdaUI.CatalogUI', { | @@ -98,7 +98,7 @@ Ext.define('amdaUI.CatalogUI', { | ||
98 | var row = this.TTGrid.getStore().getTotalCount(); | 98 | var row = this.TTGrid.getStore().getTotalCount(); |
99 | var me = this; | 99 | var me = this; |
100 | this.TTGrid.getSelectionModel().deselectAll(); | 100 | this.TTGrid.getSelectionModel().deselectAll(); |
101 | - AmdaAction.addTTCacheInterval({'start' : start, 'stop' : stop, 'index' : row, 'isCatalog' : true},function (result, e) { | 101 | + AmdaAction.addCacheInterval({'start' : start, 'stop' : stop, 'index' : row, 'isCatalog' : true},function (result, e) { |
102 | this.status = result.status; | 102 | this.status = result.status; |
103 | if (!this.TTGrid.getStore().loading) { | 103 | if (!this.TTGrid.getStore().loading) { |
104 | this.TTGrid.getStore().reload({ | 104 | this.TTGrid.getStore().reload({ |
@@ -395,7 +395,7 @@ Ext.define('amdaUI.CatalogUI', { | @@ -395,7 +395,7 @@ Ext.define('amdaUI.CatalogUI', { | ||
395 | remoteSort: true, | 395 | remoteSort: true, |
396 | proxy: { | 396 | proxy: { |
397 | type: 'direct', | 397 | type: 'direct', |
398 | - api : { read : AmdaAction.readTTCacheIntervals }, | 398 | + api : { read : AmdaAction.readCacheIntervals }, |
399 | // remplir automatiquement tt, sharedtt , catalog, shared catalog | 399 | // remplir automatiquement tt, sharedtt , catalog, shared catalog |
400 | extraParams : {'typeTT' : 'catalog'}, | 400 | extraParams : {'typeTT' : 'catalog'}, |
401 | reader: | 401 | reader: |
@@ -466,7 +466,7 @@ Ext.define('amdaUI.CatalogUI', { | @@ -466,7 +466,7 @@ Ext.define('amdaUI.CatalogUI', { | ||
466 | } | 466 | } |
467 | else { | 467 | else { |
468 | //From existing TT file | 468 | //From existing TT file |
469 | - AmdaAction.initObjectCacheFromTT(this.object.get('id'), typeTT, this.onAfterInit, this); | 469 | + AmdaAction.initObjectCacheFromObject(this.object.get('id'), typeTT, this.onAfterInit, this); |
470 | } | 470 | } |
471 | } | 471 | } |
472 | //Statistical plugin | 472 | //Statistical plugin |
@@ -588,16 +588,17 @@ Ext.define('amdaUI.CatalogUI', { | @@ -588,16 +588,17 @@ Ext.define('amdaUI.CatalogUI', { | ||
588 | // Only update the record if the new value is different than the | 588 | // Only update the record if the new value is different than the |
589 | // startValue. When the view refreshes its el will gain focus | 589 | // startValue. When the view refreshes its el will gain focus |
590 | if (!record.isEqual(value, startValue)) { | 590 | if (!record.isEqual(value, startValue)) { |
591 | - var obj = {}; | ||
592 | - | ||
593 | - obj['cacheId'] = record.get('cacheId'); | ||
594 | - obj['isCatalog'] = true; | ||
595 | - obj[activeColumn.dataIndex] = value; | 591 | + var obj = { |
592 | + 'cacheId' : record.get('cacheId'), | ||
593 | + 'isCatalog' : true, | ||
594 | + 'data' : {} | ||
595 | + }; | ||
596 | + obj['data']['activeColumn.dataIndex'] = value; | ||
596 | 597 | ||
597 | //Interval is modified on the server side | 598 | //Interval is modified on the server side |
598 | me.editing = true; | 599 | me.editing = true; |
599 | 600 | ||
600 | - AmdaAction.modifyTTCacheInterval(obj, function (result, e) { | 601 | + AmdaAction.modifyCacheInterval(obj, function (result, e) { |
601 | var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id); | 602 | var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id); |
602 | if (module) | 603 | if (module) |
603 | module.getUiContent().status = result.status; | 604 | module.getUiContent().status = result.status; |
@@ -647,7 +648,7 @@ Ext.define('amdaUI.CatalogUI', { | @@ -647,7 +648,7 @@ Ext.define('amdaUI.CatalogUI', { | ||
647 | this.TTGrid.getSelectionModel().deselectAll(); | 648 | this.TTGrid.getSelectionModel().deselectAll(); |
648 | 649 | ||
649 | var me = this; | 650 | var me = this; |
650 | - AmdaAction.addTTCacheInterval({'index' : row, 'isCatalog' : true}, function (result, e) { | 651 | + AmdaAction.addCacheInterval({'index' : row, 'isCatalog' : true}, function (result, e) { |
651 | this.status = result.status; | 652 | this.status = result.status; |
652 | if (!this.TTGrid.getStore().loading) { | 653 | if (!this.TTGrid.getStore().loading) { |
653 | this.TTGrid.getStore().reload({ | 654 | this.TTGrid.getStore().reload({ |
js/app/views/TimeTableUI.js
@@ -139,7 +139,7 @@ Ext.define('amdaUI.TimeTableUI', { | @@ -139,7 +139,7 @@ Ext.define('amdaUI.TimeTableUI', { | ||
139 | else | 139 | else |
140 | { | 140 | { |
141 | //From existing TT file | 141 | //From existing TT file |
142 | - AmdaAction.initObjectCacheFromTT(this.object.get('id'), typeTT, onAfterInit); | 142 | + AmdaAction.initObjectCacheFromObject(this.object.get('id'), typeTT, onAfterInit); |
143 | } | 143 | } |
144 | } | 144 | } |
145 | }, | 145 | }, |
@@ -249,7 +249,7 @@ Ext.define('amdaUI.TimeTableUI', { | @@ -249,7 +249,7 @@ Ext.define('amdaUI.TimeTableUI', { | ||
249 | var row = this.TTGrid.getStore().getTotalCount(); | 249 | var row = this.TTGrid.getStore().getTotalCount(); |
250 | var me = this; | 250 | var me = this; |
251 | this.TTGrid.getSelectionModel().deselectAll(); | 251 | this.TTGrid.getSelectionModel().deselectAll(); |
252 | - AmdaAction.addTTCacheInterval({'start' : start, 'stop' : stop, 'index' : row},function (result, e) { | 252 | + AmdaAction.addCacheInterval({'start' : start, 'stop' : stop, 'index' : row},function (result, e) { |
253 | this.status = result.status; | 253 | this.status = result.status; |
254 | if (!this.TTGrid.getStore().loading) { | 254 | if (!this.TTGrid.getStore().loading) { |
255 | this.TTGrid.getStore().reload({ | 255 | this.TTGrid.getStore().reload({ |
@@ -405,28 +405,18 @@ Ext.define('amdaUI.TimeTableUI', { | @@ -405,28 +405,18 @@ Ext.define('amdaUI.TimeTableUI', { | ||
405 | // Only update the record if the new value is different than the | 405 | // Only update the record if the new value is different than the |
406 | // startValue. When the view refreshes its el will gain focus | 406 | // startValue. When the view refreshes its el will gain focus |
407 | if (!record.isEqual(value, startValue)) { | 407 | if (!record.isEqual(value, startValue)) { |
408 | - var obj = null; | ||
409 | - if (activeColumn.dataIndex == 'start') | ||
410 | - obj = { | ||
411 | - 'cacheId' : record.get('cacheId'), | ||
412 | - 'start' : value | ||
413 | - }; | ||
414 | - else if (activeColumn.dataIndex == 'stop') | ||
415 | - obj = { | ||
416 | - 'cacheId' : record.get('cacheId'), | ||
417 | - 'stop' : value | ||
418 | - }; | ||
419 | - else | ||
420 | - { | ||
421 | - me.editing = false; | ||
422 | - return; | ||
423 | - } | 408 | + var obj = { |
409 | + 'cacheId' : record.get('cacheId'), | ||
410 | + 'isCatalog' : false, | ||
411 | + 'data' : {} | ||
412 | + }; | ||
413 | + obj['data'][activeColumn.dataIndex] = value; | ||
424 | 414 | ||
425 | //context.grid.getSelectionModel().deselectAll(); | 415 | //context.grid.getSelectionModel().deselectAll(); |
426 | //Interval is modified on the server side | 416 | //Interval is modified on the server side |
427 | me.editing = true; | 417 | me.editing = true; |
428 | 418 | ||
429 | - AmdaAction.modifyTTCacheInterval(obj, function (result, e) { | 419 | + AmdaAction.modifyCacheInterval(obj, function (result, e) { |
430 | 420 | ||
431 | var ttModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.tt.id); | 421 | var ttModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.tt.id); |
432 | if (ttModule) | 422 | if (ttModule) |
@@ -585,7 +575,7 @@ Ext.define('amdaUI.TimeTableUI', { | @@ -585,7 +575,7 @@ Ext.define('amdaUI.TimeTableUI', { | ||
585 | this.TTGrid.getSelectionModel().deselectAll(); | 575 | this.TTGrid.getSelectionModel().deselectAll(); |
586 | 576 | ||
587 | var me = this; | 577 | var me = this; |
588 | - AmdaAction.addTTCacheInterval({'index' : row}, function (result, e) { | 578 | + AmdaAction.addCacheInterval({'index' : row}, function (result, e) { |
589 | this.status = result.status; | 579 | this.status = result.status; |
590 | if (!this.TTGrid.getStore().loading) { | 580 | if (!this.TTGrid.getStore().loading) { |
591 | this.TTGrid.getStore().reload({ | 581 | this.TTGrid.getStore().reload({ |
php/TTCacheDump.php
1 | <?php | 1 | <?php |
2 | -define ("USERTTDIR", "/home/benjamin/AMDA-GIT/AMDA/AMDA_IHM/data/testKernel/TT/"); | 2 | +/*define ("USERWSDIR", "/home/amda_admin/AMDA-GIT/AMDA_IHM/data/testKernel/WS/"); |
3 | +define ("USERTTDIR", "/home/amda_admin/AMDA-GIT/AMDA_IHM/data/testKernel/TT/"); | ||
3 | 4 | ||
4 | require_once("classes/AmdaObjectMgr.php"); | 5 | require_once("classes/AmdaObjectMgr.php"); |
5 | require_once("classes/TimeTableMgr.php"); | 6 | require_once("classes/TimeTableMgr.php"); |
7 | +require_once("classes/CatalogMgr.php"); | ||
6 | require_once("classes/TimeTableCacheMgr.php"); | 8 | require_once("classes/TimeTableCacheMgr.php"); |
9 | +require_once("classes/TimeTableCacheObject.php"); | ||
10 | +require_once("classes/IntervalCacheObject.php"); | ||
11 | +require_once("classes/CatalogCacheMgr.php"); | ||
12 | +*/ | ||
7 | 13 | ||
8 | -$cacheMgr = new TimeTableCacheMgr(); | 14 | +require_once("config.php"); |
15 | + | ||
16 | +define ("USERWSDIR", "/home/amda_admin/AMDA-GIT/AMDA_IHM/data/testKernel/WS/"); | ||
17 | +define ("USERTTDIR", "/home/amda_admin/AMDA-GIT/AMDA_IHM/data/testKernel/TT/"); | ||
18 | + | ||
19 | +$cacheMgr = new CatalogCacheMgr(); | ||
9 | 20 | ||
10 | $cacheMgr->dump(); | 21 | $cacheMgr->dump(); |
11 | 22 |
php/classes/AmdaAction.php
@@ -1079,7 +1079,7 @@ class AmdaAction | @@ -1079,7 +1079,7 @@ class AmdaAction | ||
1079 | } | 1079 | } |
1080 | 1080 | ||
1081 | 1081 | ||
1082 | - public function initObjectCacheFromTT($id, $type) | 1082 | + public function initObjectCacheFromObject($id, $type) |
1083 | { | 1083 | { |
1084 | if ($type == 'catalog' || $type == 'sharedcatalog') $cacheMgr = new CatalogCacheMgr(); | 1084 | if ($type == 'catalog' || $type == 'sharedcatalog') $cacheMgr = new CatalogCacheMgr(); |
1085 | else $cacheMgr = new TimeTableCacheMgr(); | 1085 | else $cacheMgr = new TimeTableCacheMgr(); |
@@ -1121,7 +1121,7 @@ class AmdaAction | @@ -1121,7 +1121,7 @@ class AmdaAction | ||
1121 | return $cacheMgr->initFromUploadedFile($name, $format); | 1121 | return $cacheMgr->initFromUploadedFile($name, $format); |
1122 | } | 1122 | } |
1123 | 1123 | ||
1124 | - public function readTTCacheIntervals($o) | 1124 | + public function readCacheIntervals($o) |
1125 | { | 1125 | { |
1126 | if (isset($o->typeTT) && ($o->typeTT == 'catalog' || $o->typeTT == 'sharedcatalog')) $cacheMgr = new CatalogCacheMgr(); | 1126 | if (isset($o->typeTT) && ($o->typeTT == 'catalog' || $o->typeTT == 'sharedcatalog')) $cacheMgr = new CatalogCacheMgr(); |
1127 | else $cacheMgr = new TimeTableCacheMgr(); | 1127 | else $cacheMgr = new TimeTableCacheMgr(); |
@@ -1151,7 +1151,7 @@ class AmdaAction | @@ -1151,7 +1151,7 @@ class AmdaAction | ||
1151 | return $cacheMgr->saveInObject($o->ttId,$o->action,$o->cacheToken); | 1151 | return $cacheMgr->saveInObject($o->ttId,$o->action,$o->cacheToken); |
1152 | } | 1152 | } |
1153 | 1153 | ||
1154 | - public function addTTCacheInterval($o) | 1154 | + public function addCacheInterval($o) |
1155 | { | 1155 | { |
1156 | if ($o->isCatalog) $cacheMgr = new CatalogCacheMgr(); | 1156 | if ($o->isCatalog) $cacheMgr = new CatalogCacheMgr(); |
1157 | else $cacheMgr = new TimeTableCacheMgr(); | 1157 | else $cacheMgr = new TimeTableCacheMgr(); |
@@ -1167,16 +1167,15 @@ class AmdaAction | @@ -1167,16 +1167,15 @@ class AmdaAction | ||
1167 | return $cacheMgr->removeIntervalFromId($id); | 1167 | return $cacheMgr->removeIntervalFromId($id); |
1168 | } | 1168 | } |
1169 | 1169 | ||
1170 | - public function modifyTTCacheInterval($o) | 1170 | + public function modifyCacheInterval($o) |
1171 | { | 1171 | { |
1172 | if ($o->isCatalog) | 1172 | if ($o->isCatalog) |
1173 | { | 1173 | { |
1174 | $cacheMgr = new CatalogCacheMgr(); | 1174 | $cacheMgr = new CatalogCacheMgr(); |
1175 | - return $cacheMgr->modifyIntervalFromId($o); | ||
1176 | } | 1175 | } |
1177 | else $cacheMgr = new TimeTableCacheMgr(); | 1176 | else $cacheMgr = new TimeTableCacheMgr(); |
1178 | 1177 | ||
1179 | - return $cacheMgr->modifyIntervalFromId($o->cacheId, $o->start, $o->stop); | 1178 | + return $cacheMgr->modifyIntervalFromId($o->cacheId, $o->data); |
1180 | } | 1179 | } |
1181 | 1180 | ||
1182 | public function operationTTCacheIntervals($extendTime, $shiftTime) | 1181 | public function operationTTCacheIntervals($extendTime, $shiftTime) |
php/classes/CatalogCacheIntervalObject.php
@@ -98,7 +98,12 @@ class CatalogCacheIntervalObject extends TimeTableCacheIntervalObject | @@ -98,7 +98,12 @@ class CatalogCacheIntervalObject extends TimeTableCacheIntervalObject | ||
98 | 98 | ||
99 | public function dump() | 99 | public function dump() |
100 | { | 100 | { |
101 | - echo " => Interval : id = ".$this->id.", index = ".$this->index.", start = ".$this->start.", stop = ".$this->stop.", isNew = ".$this->isNew.", isModified = ".$this->isModified.PHP_EOL; | 101 | + parent::dump(); |
102 | + echo " parameters = "; | ||
103 | + foreach ($this->params as $param) { | ||
104 | + echo $param.", "; | ||
105 | + } | ||
106 | + echo PHP_EOL; | ||
102 | } | 107 | } |
103 | } | 108 | } |
104 | 109 |
php/classes/CatalogCacheMgr.php
@@ -6,11 +6,8 @@ | @@ -6,11 +6,8 @@ | ||
6 | 6 | ||
7 | class CatalogCacheMgr extends TimeTableCacheMgr | 7 | class CatalogCacheMgr extends TimeTableCacheMgr |
8 | { | 8 | { |
9 | - protected $objectMgr = null; | ||
10 | - protected $cache = null; | ||
11 | 9 | ||
12 | function __construct() { | 10 | function __construct() { |
13 | - | ||
14 | $this->objectMgr = new CatalogMgr(); | 11 | $this->objectMgr = new CatalogMgr(); |
15 | } | 12 | } |
16 | 13 | ||
@@ -22,208 +19,93 @@ class CatalogCacheMgr extends TimeTableCacheMgr | @@ -22,208 +19,93 @@ class CatalogCacheMgr extends TimeTableCacheMgr | ||
22 | $this->cache = new CatalogCacheObject(); | 19 | $this->cache = new CatalogCacheObject(); |
23 | } | 20 | } |
24 | 21 | ||
22 | + public function initObjectCache($options = array()) { | ||
23 | + $result = parent::initObjectCache($options); | ||
24 | + if (!$result['success']) { | ||
25 | + return $result; | ||
26 | + } | ||
25 | 27 | ||
26 | - public function initFromTmpObject($folderId, $name) { | ||
27 | - | ||
28 | - //Create new cache | ||
29 | - $this->resetCache(); | ||
30 | - | ||
31 | - //Load intervals from TmpObject file (Statistics Module) | ||
32 | - $intervals_res = $this->objectMgr->getTmpObject($folderId, $name); | 28 | + //init parameters |
29 | + $nparams = isset($options['nparams']) ? $options['nparams'] : 1; | ||
30 | + $this->cache->setParamsNumber((int)$nparams); | ||
33 | 31 | ||
34 | - if (!isset($intervals_res)) | ||
35 | - return array('success' => false, 'message' => 'Cannot get Tmp Object'); | 32 | + $paramHeaders = array(); |
36 | 33 | ||
37 | - if (array_key_exists('intervals', $intervals_res)) | ||
38 | - { | ||
39 | - foreach ($intervals_res['intervals'] as $interval) | ||
40 | - { | ||
41 | - //Add interval | ||
42 | - $this->cache->addInterval($interval['start'], $interval['stop'], $interval['paramTable']); | 34 | + for ($i = 0; $i < (int)$nparams; $i++) { |
35 | + $paramHeaders[$i]['id'] = 'id_'.(string)($i+1); | ||
36 | + $paramHeaders[$i]['name'] = 'column_'.(string)($i+1); | ||
37 | + $paramHeaders[$i]['size'] = 1; | ||
38 | + $paramHeaders[$i]['type'] = 'Float'; | ||
43 | 39 | ||
44 | - } | ||
45 | } | 40 | } |
46 | - | ||
47 | - $this->cache->setIsModified(true); | ||
48 | - | ||
49 | - $paramHeaders = $intervals_res['parameters']; | ||
50 | - | ||
51 | - $this->cache->setParamsNumber(count($paramHeaders)); | ||
52 | $this->cache->setParamsSizes($paramHeaders); | 41 | $this->cache->setParamsSizes($paramHeaders); |
53 | $this->cache->setParamsTypes($paramHeaders); | 42 | $this->cache->setParamsTypes($paramHeaders); |
54 | - | ||
55 | - unset($intervals_res); | ||
56 | - | ||
57 | - //Update cache | ||
58 | - $this->cache->updateIndexes(); | ||
59 | - | ||
60 | //Save cache file | 43 | //Save cache file |
61 | - return array('success'=>$this->saveToFile(), 'token'=>$this->cache->getToken(), | ||
62 | - 'status'=>$this->cache->getStatus(), 'parameters'=>$paramHeaders); | 44 | + return $result + array('parameters' => $paramHeaders); |
63 | } | 45 | } |
64 | 46 | ||
65 | - public function initFromUploadedFile($name, $format) | 47 | + public function initFromObject($id, $type) |
66 | { | 48 | { |
67 | - //Create new cache | ||
68 | - $this->resetCache(); | ||
69 | - | ||
70 | - //Load intervals from uploaded file | ||
71 | - $intervals_res = $this->objectMgr->getUploadedObject($name, $format); | ||
72 | - | ||
73 | - if (!isset($intervals_res)) | ||
74 | - return array('success' => false, 'message' => 'Cannot get Uploaded Object'); | ||
75 | - | ||
76 | - if (array_key_exists('intervals', $intervals_res)) | ||
77 | - { | ||
78 | - foreach ($intervals_res['intervals'] as $interval) | ||
79 | - { | ||
80 | - //Add interval | ||
81 | - $this->cache->addInterval($interval['start'], $interval['stop'], $interval['paramTable']); | ||
82 | - } | 49 | + $result = parent::initFromObject($id, $type); |
50 | + if (!$result['success']) { | ||
51 | + return $result; | ||
52 | + } | ||
53 | + | ||
54 | + $params_desc = $this->objectMgr->getCatalogParamDescription($id, $name, FALSE, $type); | ||
55 | + if (!$params_desc['success']) { | ||
56 | + return $params_desc; | ||
83 | } | 57 | } |
84 | 58 | ||
85 | - $this->cache->setIsModified(true); | ||
86 | - $paramHeaders = $intervals_res['parameters']; | 59 | + $paramHeaders = $params_desc['parameters']; |
87 | 60 | ||
88 | $this->cache->setParamsNumber(count($paramHeaders)); | 61 | $this->cache->setParamsNumber(count($paramHeaders)); |
89 | $this->cache->setParamsSizes($paramHeaders); | 62 | $this->cache->setParamsSizes($paramHeaders); |
90 | $this->cache->setParamsTypes($paramHeaders); | 63 | $this->cache->setParamsTypes($paramHeaders); |
91 | 64 | ||
92 | - unset($intervals_res); | ||
93 | - | ||
94 | - //Update cache | ||
95 | - $this->cache->updateIndexes(); | ||
96 | - | ||
97 | //Save cache file | 65 | //Save cache file |
98 | - return array('success'=>$this->saveToFile(), 'token'=>$this->cache->getToken(), | ||
99 | - 'status'=>$this->cache->getStatus(), 'parameters'=>$paramHeaders); | 66 | + return $result+ array('parameters' => $paramHeaders); |
100 | } | 67 | } |
101 | 68 | ||
102 | - public function initFromObject($id, $type) | ||
103 | - { | ||
104 | - //Create new cache | ||
105 | - $this->resetCache(); | ||
106 | - | ||
107 | - //Load intervals from catalog file and add to cache | ||
108 | - $intervals_res = $this->objectMgr->loadIntervalsFromObject($id,$type); | ||
109 | - | ||
110 | - if (!$intervals_res['success']) | ||
111 | - return $intervals_res; | 69 | + public function initFromTmpObject($folderId, $name) { |
70 | + $result = parent::initFromTmpObject($folderId, $name); | ||
71 | + if (!$result['success']) { | ||
72 | + return $result; | ||
73 | + } | ||
112 | 74 | ||
113 | - foreach ($intervals_res['intervals'] as $interval) | ||
114 | - { | ||
115 | - //Add interval | ||
116 | - $this->cache->addInterval($interval['start'], $interval['stop'], $interval['paramTable']); | 75 | + $params_desc = $this->objectMgr->getCatalogParamDescription($id, $name, FALSE, $type); |
76 | + if (!$params_desc['success']) { | ||
77 | + return $params_desc; | ||
117 | } | 78 | } |
118 | 79 | ||
119 | - $paramHeaders = $intervals_res['parameters']; | 80 | + $paramHeaders = $params_desc['parameters']; |
120 | 81 | ||
121 | $this->cache->setParamsNumber(count($paramHeaders)); | 82 | $this->cache->setParamsNumber(count($paramHeaders)); |
122 | $this->cache->setParamsSizes($paramHeaders); | 83 | $this->cache->setParamsSizes($paramHeaders); |
123 | $this->cache->setParamsTypes($paramHeaders); | 84 | $this->cache->setParamsTypes($paramHeaders); |
124 | 85 | ||
125 | - unset($intervals_res); | ||
126 | - | ||
127 | - //Update cache | ||
128 | - $this->cache->updateIndexes(); | ||
129 | - | ||
130 | - //Save cache file | ||
131 | - return array('success' => $this->saveToFile(), 'token' => $this->cache->getToken(), | ||
132 | - 'status' => $this->cache->getStatus(),'parameters' => $paramHeaders); | 86 | + return $result+ array('parameters' => $paramHeaders); |
133 | } | 87 | } |
134 | 88 | ||
135 | - | ||
136 | - protected function loadFromFile() | 89 | + public function initFromUploadedFile($name, $format) |
137 | { | 90 | { |
138 | - if (!file_exists($this->getCacheFilePath())) | ||
139 | - return false; | ||
140 | - $this->resetCache(); | ||
141 | - $handle = fopen($this->getCacheFilePath(), 'rb'); | ||
142 | - $result = false; | ||
143 | - if (flock($handle, LOCK_SH)) | ||
144 | - { | ||
145 | - $this->cache->loadBin($handle); | ||
146 | - flock( $handle, LOCK_UN ); | ||
147 | - $result = true; | 91 | + $result = parent::initFromUploadedFile($name, $format); |
92 | + if (!$result['success']) { | ||
93 | + return $result; | ||
148 | } | 94 | } |
149 | - fclose($handle); | ||
150 | - return $result; | ||
151 | - } | ||
152 | 95 | ||
153 | - public function saveInObject($id, $action, $token) | ||
154 | - { | ||
155 | - if (!$this->loadFromFile()) | ||
156 | - return array('success' => false, 'message' => 'Cannot load cache file'); | ||
157 | - | ||
158 | - if ($token != $this->cache->getToken()) | ||
159 | - return array('success' => false, 'message' => 'Cache token check error'); | ||
160 | - | ||
161 | - $this->cache->updateIndexes(); | ||
162 | - $this->saveToFile(); | ||
163 | - | ||
164 | - $intervals = $this->cache->getIntervalsArray(NULL,NULL,true); | ||
165 | - | ||
166 | - $this->cache->reset(); | ||
167 | - | ||
168 | - return $this->objectMgr->saveIntervals($id, $intervals, $action); | ||
169 | - } | ||
170 | - | ||
171 | - public function addInterval($index, $start, $stop, $params = array()) { | ||
172 | - if (!$this->loadFromFile()) | ||
173 | - return array('success' => false, 'message' => 'Cannot load cache file'); | ||
174 | - | ||
175 | - if (!isset($index)) | ||
176 | - $index = 0; | ||
177 | - | ||
178 | - if (!isset($start)) | ||
179 | - $start = date('Y-m-d\TH:i:s'); | ||
180 | - | ||
181 | - if (!isset($stop)) | ||
182 | - $stop = date('Y-m-d\TH:i:s'); | ||
183 | - | ||
184 | - if (!isset($params)) | ||
185 | - $params = []; | ||
186 | - | ||
187 | - $this->cache->addInterval($start, $stop, $params, true, $index); | ||
188 | - | ||
189 | - //$this->cache->updateIndexes(); | ||
190 | - | ||
191 | - $this->saveToFile(); | ||
192 | - | ||
193 | - return array('success' => true, 'index' => $index, 'status' => $this->cache->getStatus()); | ||
194 | - } | ||
195 | - | ||
196 | - public function modifyIntervalFromId($obj) { | ||
197 | - if (!$this->loadFromFile()) | ||
198 | - return array('success' => false, 'message' => 'Cannot load cache file'); | ||
199 | - | ||
200 | - $this->cache->modifyIntervalFromId($obj); | ||
201 | - | ||
202 | - $this->saveToFile(); | ||
203 | - | ||
204 | - return array('success' => true, 'status' => $this->cache->getStatus()); | ||
205 | - } | ||
206 | - | ||
207 | - public function initObjectCache($options = array()) { | ||
208 | - //Create new cache | ||
209 | - $nparams = isset($options['nparams']) ? $options['nparams'] : 1; | 96 | + $params_desc = $this->objectMgr->getCatalogParamDescription($id, $name, FALSE, $type); |
97 | + if (!$params_desc['success']) { | ||
98 | + return $params_desc; | ||
99 | + } | ||
210 | 100 | ||
211 | - $this->resetCache(); | ||
212 | - $this->cache->setParamsNumber((int)$nparams); | ||
213 | - $paramHeaders = array(); | 101 | + $paramHeaders = $params_desc['parameters']; |
214 | 102 | ||
215 | - for ($i = 0; $i < (int)$nparams; $i++) { | ||
216 | - $paramHeaders[$i]['id'] = 'id_'.(string)($i+1); | ||
217 | - $paramHeaders[$i]['name'] = 'param_'.(string)($i+1); | ||
218 | - $paramHeaders[$i]['size'] = 1; | ||
219 | - $paramHeaders[$i]['type'] = 'Float'; | ||
220 | - | ||
221 | - } | 103 | + $this->cache->setParamsNumber(count($paramHeaders)); |
222 | $this->cache->setParamsSizes($paramHeaders); | 104 | $this->cache->setParamsSizes($paramHeaders); |
223 | $this->cache->setParamsTypes($paramHeaders); | 105 | $this->cache->setParamsTypes($paramHeaders); |
224 | - //Save cache file | ||
225 | - return array('success' => $this->saveToFile(), 'token' => $this->cache->getToken(), | ||
226 | - 'status' => $this->cache->getStatus(), 'parameters' => $paramHeaders); | 106 | + |
107 | + return $result+ array('parameters' => $paramHeaders); | ||
227 | } | 108 | } |
228 | - } | 109 | + |
110 | +} | ||
229 | ?> | 111 | ?> |
php/classes/CatalogCacheObject.php
@@ -6,17 +6,17 @@ class CatalogCacheObject extends TimeTableCacheObject | @@ -6,17 +6,17 @@ class CatalogCacheObject extends TimeTableCacheObject | ||
6 | private $paramsSizes = array(); | 6 | private $paramsSizes = array(); |
7 | private $paramsTypes = array(); | 7 | private $paramsTypes = array(); |
8 | 8 | ||
9 | - public function addInterval($startIso, $stopIso, $params, $isNew = false, $index = -1) | 9 | + public function addInterval($interval, $isNew = false, $index = -1) |
10 | { | 10 | { |
11 | - $interval = new CatalogCacheIntervalObject($this->lastId, count($this->intervals)); | 11 | + $intervalObj = new CatalogCacheIntervalObject($this->lastId, count($this->intervals)); |
12 | ++$this->lastId; | 12 | ++$this->lastId; |
13 | - $interval->setStartFromISO($startIso); | ||
14 | - $interval->setStopFromISO($stopIso); | 13 | + $intervalObj->setStartFromISO($interval['start']); |
14 | + $intervalObj->setStopFromISO($interval['stop']); | ||
15 | // for catalog | 15 | // for catalog |
16 | - $interval->setParams($params); | 16 | + $intervalObj->setParams($interval['paramTable']); |
17 | 17 | ||
18 | - $interval->setIsNew($isNew); | ||
19 | - array_push($this->intervals, $interval); | 18 | + $intervalObj->setIsNew($isNew); |
19 | + array_push($this->intervals, $intervalObj); | ||
20 | 20 | ||
21 | if ($index < 0) | 21 | if ($index < 0) |
22 | array_push($this->indexes, count($this->intervals) - 1); | 22 | array_push($this->indexes, count($this->intervals) - 1); |
@@ -26,7 +26,7 @@ class CatalogCacheObject extends TimeTableCacheObject | @@ -26,7 +26,7 @@ class CatalogCacheObject extends TimeTableCacheObject | ||
26 | if ($isNew) | 26 | if ($isNew) |
27 | $this->isModified = true; | 27 | $this->isModified = true; |
28 | 28 | ||
29 | - return $interval; | 29 | + return $intervalObj; |
30 | } | 30 | } |
31 | 31 | ||
32 | public function setParamsNumber($number) | 32 | public function setParamsNumber($number) |
@@ -167,29 +167,23 @@ class CatalogCacheObject extends TimeTableCacheObject | @@ -167,29 +167,23 @@ class CatalogCacheObject extends TimeTableCacheObject | ||
167 | return true; | 167 | return true; |
168 | } | 168 | } |
169 | 169 | ||
170 | - public function modifyIntervalFromId($obj) { | 170 | + public function modifyIntervalFromId($cacheId, $data) { |
171 | + $result = parent::modifyIntervalFromId($cacheId, $data); | ||
171 | 172 | ||
172 | foreach ($this->intervals as $interval) | 173 | foreach ($this->intervals as $interval) |
173 | { | 174 | { |
174 | - if ($interval->getId() == $obj->cacheId) | 175 | + if ($interval->getId() == $cacheId) |
175 | { | 176 | { |
176 | - foreach((array)$obj as $key => $val) { | ||
177 | - | ||
178 | - if ($key == 'start') | ||
179 | - $interval->setStartFromISO($val); | ||
180 | - else if ($key == 'stop') | ||
181 | - $interval->setStopFromISO($val); | ||
182 | - else { | ||
183 | - if (strpos($key, 'param') === false) | ||
184 | - continue; | 177 | + foreach($data as $key => $value) { |
178 | + if (strpos($key, 'param') !== FALSE) { | ||
185 | $params = $interval->getParams(); | 179 | $params = $interval->getParams(); |
186 | $paramIndex = (int)substr($key,5); | 180 | $paramIndex = (int)substr($key,5); |
187 | $params[$paramIndex-2] = $val; | 181 | $params[$paramIndex-2] = $val; |
188 | $interval->setParams($params); | 182 | $interval->setParams($params); |
183 | + $interval->setIsModified(true); | ||
184 | + $this->isModified = true; | ||
189 | } | 185 | } |
190 | } | 186 | } |
191 | - $interval->setIsModified(true); | ||
192 | - $this->isModified = true; | ||
193 | return true; | 187 | return true; |
194 | } | 188 | } |
195 | } | 189 | } |
php/classes/TimeTableCacheMgr.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | +/** | ||
4 | + * @class CatalogCacheMgr | ||
5 | + */ | ||
6 | + | ||
3 | class TimeTableCacheMgr | 7 | class TimeTableCacheMgr |
4 | { | 8 | { |
5 | protected $objectMgr = null; | 9 | protected $objectMgr = null; |
@@ -42,7 +46,7 @@ | @@ -42,7 +46,7 @@ | ||
42 | foreach ($intervals_res['intervals'] as $interval) | 46 | foreach ($intervals_res['intervals'] as $interval) |
43 | { | 47 | { |
44 | //Add interval | 48 | //Add interval |
45 | - $this->cache->addInterval($interval['start'], $interval['stop']); | 49 | + $this->cache->addInterval($interval); |
46 | } | 50 | } |
47 | 51 | ||
48 | unset($intervals_res); | 52 | unset($intervals_res); |
@@ -68,7 +72,7 @@ | @@ -68,7 +72,7 @@ | ||
68 | foreach ($intervals_res['intervals'] as $interval) | 72 | foreach ($intervals_res['intervals'] as $interval) |
69 | { | 73 | { |
70 | //Add interval | 74 | //Add interval |
71 | - $this->cache->addInterval($interval['start'], $interval['stop']); | 75 | + $this->cache->addInterval($interval); |
72 | } | 76 | } |
73 | 77 | ||
74 | unset($intervals_res); | 78 | unset($intervals_res); |
@@ -96,7 +100,7 @@ | @@ -96,7 +100,7 @@ | ||
96 | foreach ($intervals_res['intervals'] as $interval) | 100 | foreach ($intervals_res['intervals'] as $interval) |
97 | { | 101 | { |
98 | //Add interval | 102 | //Add interval |
99 | - $this->cache->addInterval($interval['start'], $interval['stop']); | 103 | + $this->cache->addInterval($interval); |
100 | } | 104 | } |
101 | } | 105 | } |
102 | 106 | ||
@@ -126,7 +130,7 @@ | @@ -126,7 +130,7 @@ | ||
126 | foreach ($intervals_res['intervals'] as $interval) | 130 | foreach ($intervals_res['intervals'] as $interval) |
127 | { | 131 | { |
128 | //Add interval | 132 | //Add interval |
129 | - $this->cache->addInterval($interval['start'], $interval['stop']); | 133 | + $this->cache->addInterval($interval); |
130 | } | 134 | } |
131 | } | 135 | } |
132 | 136 | ||
@@ -155,21 +159,7 @@ | @@ -155,21 +159,7 @@ | ||
155 | 159 | ||
156 | $this->cache->reset(); | 160 | $this->cache->reset(); |
157 | 161 | ||
158 | - $res_intervals = array(); | ||
159 | - foreach ($intervals as $interval) | ||
160 | - { | ||
161 | - array_push( | ||
162 | - $res_intervals, | ||
163 | - (object)array( | ||
164 | - 'start' => $interval['start'], | ||
165 | - 'stop' => $interval['stop'] | ||
166 | - ) | ||
167 | - ); | ||
168 | - } | ||
169 | - | ||
170 | - unset($intervals); | ||
171 | - | ||
172 | - return $this->objectMgr->saveIntervals($id, $res_intervals, $action); | 162 | + return $this->objectMgr->saveIntervals($id, $intervals, $action); |
173 | } | 163 | } |
174 | 164 | ||
175 | public function getIntervals($start,$limit,$sort_obj,$filter_json) { | 165 | public function getIntervals($start,$limit,$sort_obj,$filter_json) { |
@@ -241,7 +231,7 @@ | @@ -241,7 +231,7 @@ | ||
241 | if (!isset($stop)) | 231 | if (!isset($stop)) |
242 | $stop = date('Y-m-d\TH:i:s'); | 232 | $stop = date('Y-m-d\TH:i:s'); |
243 | 233 | ||
244 | - $this->cache->addInterval($start, $stop, true, $index); | 234 | + $this->cache->addInterval(array('start' => $start, 'stop' => $stop), true, $index); |
245 | 235 | ||
246 | //$this->cache->updateIndexes(); | 236 | //$this->cache->updateIndexes(); |
247 | 237 | ||
@@ -263,11 +253,11 @@ | @@ -263,11 +253,11 @@ | ||
263 | return array('success' => true, 'status' => $this->cache->getStatus()); | 253 | return array('success' => true, 'status' => $this->cache->getStatus()); |
264 | } | 254 | } |
265 | 255 | ||
266 | - public function modifyIntervalFromId($id, $start, $stop) { | 256 | + public function modifyIntervalFromId($cacheId, $data) { |
267 | if (!$this->loadFromFile()) | 257 | if (!$this->loadFromFile()) |
268 | return array('success' => false, 'message' => 'Cannot load cache file'); | 258 | return array('success' => false, 'message' => 'Cannot load cache file'); |
269 | 259 | ||
270 | - $this->cache->modifyIntervalFromId($id, $start, $stop); | 260 | + $this->cache->modifyIntervalFromId($cacheId, $data); |
271 | 261 | ||
272 | $this->saveToFile(); | 262 | $this->saveToFile(); |
273 | 263 |
php/classes/TimeTableCacheObject.php
@@ -39,20 +39,20 @@ class TimeTableCacheObject | @@ -39,20 +39,20 @@ class TimeTableCacheObject | ||
39 | $this->isModified = $isModified; | 39 | $this->isModified = $isModified; |
40 | } | 40 | } |
41 | 41 | ||
42 | - public function addInterval($startIso, $stopIso, $isNew = false, $index = -1) { | ||
43 | - $interval = new TimeTableCacheIntervalObject($this->lastId, count($this->intervals)); | 42 | + public function addInterval($interval, $isNew = false, $index = -1) { |
43 | + $intervalObj = new TimeTableCacheIntervalObject($this->lastId, count($this->intervals)); | ||
44 | ++$this->lastId; | 44 | ++$this->lastId; |
45 | - $interval->setStartFromISO($startIso); | ||
46 | - $interval->setStopFromISO($stopIso); | ||
47 | - $interval->setIsNew($isNew); | ||
48 | - array_push($this->intervals, $interval); | 45 | + $intervalObj->setStartFromISO($interval['start']); |
46 | + $intervalObj->setStopFromISO($interval['stop']); | ||
47 | + $intervalObj->setIsNew($isNew); | ||
48 | + array_push($this->intervals, $intervalObj); | ||
49 | if ($index < 0) | 49 | if ($index < 0) |
50 | array_push($this->indexes, count($this->intervals) - 1); | 50 | array_push($this->indexes, count($this->intervals) - 1); |
51 | else | 51 | else |
52 | array_splice($this->indexes, $index, 0, array(count($this->intervals) - 1)); | 52 | array_splice($this->indexes, $index, 0, array(count($this->intervals) - 1)); |
53 | if ($isNew) | 53 | if ($isNew) |
54 | $this->isModified = true; | 54 | $this->isModified = true; |
55 | - return $interval; | 55 | + return $intervalObj; |
56 | } | 56 | } |
57 | 57 | ||
58 | public function removeIntervalFromId($id) { | 58 | public function removeIntervalFromId($id) { |
@@ -85,18 +85,26 @@ class TimeTableCacheObject | @@ -85,18 +85,26 @@ class TimeTableCacheObject | ||
85 | return false; | 85 | return false; |
86 | } | 86 | } |
87 | 87 | ||
88 | - public function modifyIntervalFromId($id, $start, $stop) { | 88 | + public function modifyIntervalFromId($cacheId, $data) { |
89 | foreach ($this->intervals as $interval) | 89 | foreach ($this->intervals as $interval) |
90 | { | 90 | { |
91 | - if ($interval->getId() == $id) | 91 | + if ($interval->getId() == $cacheId) |
92 | { | 92 | { |
93 | - if (isset($start)) | ||
94 | - $interval->setStartFromISO($start); | ||
95 | - if (isset($stop)) | ||
96 | - $interval->setStopFromISO($stop); | ||
97 | - $interval->setIsModified(true); | ||
98 | - $this->isModified = true; | ||
99 | - return true; | 93 | + foreach ($data as $key => $value) { |
94 | + switch ($key) { | ||
95 | + case 'start' : | ||
96 | + $interval->setStartFromISO($start); | ||
97 | + $interval->setIsModified(true); | ||
98 | + $this->isModified = true; | ||
99 | + break; | ||
100 | + case 'stop': | ||
101 | + $interval->setStopFromISO($stop); | ||
102 | + $interval->setIsModified(true); | ||
103 | + $this->isModified = true; | ||
104 | + break; | ||
105 | + } | ||
106 | + } | ||
107 | + return $this->isModified; | ||
100 | } | 108 | } |
101 | } | 109 | } |
102 | 110 |
php/config.php
@@ -156,16 +156,16 @@ $API = array( | @@ -156,16 +156,16 @@ $API = array( | ||
156 | 'loadTTIntervals'=>array('len'=>1), | 156 | 'loadTTIntervals'=>array('len'=>1), |
157 | 'saveTTCacheIntervalsInTT'=>array('len'=>1), | 157 | 'saveTTCacheIntervalsInTT'=>array('len'=>1), |
158 | 'initObjectCache'=>array ('len'=>2), | 158 | 'initObjectCache'=>array ('len'=>2), |
159 | - 'initObjectCacheFromTT'=>array('len'=>2), | 159 | + 'initObjectCacheFromObject'=>array('len'=>2), |
160 | 'initForChart'=>array('len'=>4), | 160 | 'initForChart'=>array('len'=>4), |
161 | 'initObjectCacheFromTmpObject'=>array('len'=>3), | 161 | 'initObjectCacheFromTmpObject'=>array('len'=>3), |
162 | 'initObjectCacheFromUploadedFile'=>array('len'=>3), | 162 | 'initObjectCacheFromUploadedFile'=>array('len'=>3), |
163 | 'initObjectCacheFromCatalog'=>array('len'=>2), | 163 | 'initObjectCacheFromCatalog'=>array('len'=>2), |
164 | - 'readTTCacheIntervals'=>array('len'=>1), | 164 | + 'readCacheIntervals'=>array('len'=>1), |
165 | 'readIntervalsForChart'=>array('len'=>1), | 165 | 'readIntervalsForChart'=>array('len'=>1), |
166 | - 'addTTCacheInterval'=>array('len'=>1), | 166 | + 'addCacheInterval'=>array('len'=>1), |
167 | 'removeTTCacheIntervalFromId'=>array('len'=>2), | 167 | 'removeTTCacheIntervalFromId'=>array('len'=>2), |
168 | - 'modifyTTCacheInterval'=>array('len'=>1), | 168 | + 'modifyCacheInterval'=>array('len'=>1), |
169 | 'operationTTCacheIntervals'=>array('len'=>2), | 169 | 'operationTTCacheIntervals'=>array('len'=>2), |
170 | 'mergeTTCacheIntervals'=>array('len'=>0), | 170 | 'mergeTTCacheIntervals'=>array('len'=>0), |
171 | 'getTTCacheStatistics'=>array('len'=>1), | 171 | 'getTTCacheStatistics'=>array('len'=>1), |