From b1dc2eb34668d255b1ddbbb7e3528cee3f36e260 Mon Sep 17 00:00:00 2001
From: Furkan <furkan.erdogan1205@gmail.com>
Date: Tue, 21 Mar 2023 12:01:41 +0000
Subject: [PATCH] More modifications

---
 desktop.php                                             | 13 ++++++-------
 js/app/models/PlotObjects/PlotAxisObject.js             | 18 +++++++++---------
 js/app/models/PlotObjects/PlotBaseSerieObject.js        | 58 +++++++++++++++++++++++++++++-----------------------------
 js/app/models/PlotObjects/PlotConstantObject.js         |  8 ++++----
 js/app/models/PlotObjects/PlotCurveObject.js            |  6 +++---
 js/app/models/PlotObjects/PlotFillObject.js             |  6 +++---
 js/app/models/PlotObjects/PlotHistogram2DSerieObject.js | 10 +++++-----
 js/app/models/PlotObjects/PlotInstantSerieObject.js     | 12 ++++++------
 js/app/models/PlotObjects/PlotIntervalsObject.js        | 10 +++++-----
 js/app/models/PlotObjects/PlotLayoutAutoObject.js       |  8 ++++----
 js/app/models/PlotObjects/PlotLayoutVerticalObject.js   |  8 ++++----
 js/app/models/PlotObjects/PlotLegendSeriesObject.js     | 14 +++++++-------
 js/app/models/PlotObjects/PlotLegendTextObject.js       |  8 ++++----
 js/app/models/PlotObjects/PlotObjectConfig.js           |  2 --
 js/app/models/PlotObjects/PlotOrbitSerieObject.js       |  2 +-
 js/app/models/PlotObjects/PlotPanelObject.js            | 26 +++++++++++++-------------
 js/app/models/PlotObjects/PlotRequestObject.js          | 34 +++++++++++++++++-----------------
 js/app/models/PlotObjects/PlotSauvaudObject.js          |  6 +++---
 js/app/models/PlotObjects/PlotSerieObject.js            | 10 +++++-----
 js/app/models/PlotObjects/PlotSpectroObject.js          |  6 +++---
 js/app/models/PlotObjects/PlotTextObject.js             | 14 +++++++-------
 js/app/views/DefaultValuesWindow.js                     |  3 ++-
 php/classes/AmdaAction.php                              | 89 +++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------
 23 files changed, 187 insertions(+), 184 deletions(-)

diff --git a/desktop.php b/desktop.php
index 2850424..a472cc8 100644
--- a/desktop.php
+++ b/desktop.php
@@ -195,17 +195,16 @@ if ($sessionID === FALSE) {
                 scope: this,
                 afterrestore: function(provider) {
                     AmdaAction.getDefaultValueTree(false, function(defaults){
-                        amdaDefaultValues=defaults;
+                        if(defaults['success'])
+                            amdaDefaultValues=defaults['defaultValues'];
                         AmdaAction.getDefaultValueConfigs(function(configs){
-                            amdaDefaultConfigs = configs;
+                            if(configs["success"])
+                                amdaDefaultConfigs = configs["configs"];
 
                             AmdaAction.getDefaultValueLinks(function(links){
-                                amdaDefaultOptions = links;
+                                if(links["success"])
+                                    amdaDefaultOptions = links['links'];
                                 
-                                Ext.Object.each(amdaDefaultOptions, function(parameter, links){
-                                    if(links.store)
-                                        links.store = amdaDefaultConfigs[links.store];
-                                });
                                 amdaDesktop.JobsMgr.getStatus();
                                 Ext.state.Manager.setProvider(provider);
                                 myDesktopApp = new amdaApp.AmdaApp();
diff --git a/js/app/models/PlotObjects/PlotAxisObject.js b/js/app/models/PlotObjects/PlotAxisObject.js
index b10996a..148fc1d 100644
--- a/js/app/models/PlotObjects/PlotAxisObject.js
+++ b/js/app/models/PlotObjects/PlotAxisObject.js
@@ -87,14 +87,14 @@ Ext.define('amdaPlotObj.PlotAxisObject', {
     {
     	this.set('axis-type', type);
     	this.set('axis-reverse', false);
-    	this.set('axis-scale', amdaPlotObj.PlotObjectConfig.defaultValues.axis.scale);
+    	this.set('axis-scale', amdaDefaultValues.plot.axis.scale);
     	this.set('axis-range-min', 0);
     	this.set('axis-range-max', 0);
     	this.set('axis-range-extend', true);
-    	this.set('axis-color', amdaPlotObj.PlotObjectConfig.defaultValues.axis.color);
-    	this.set('axis-thickness', amdaPlotObj.PlotObjectConfig.defaultValues.axis.thickness);
+    	this.set('axis-color', amdaDefaultValues.plot.axis.color);
+    	this.set('axis-thickness', amdaDefaultValues.plot.axis.thickness);
     	this.set('axis-tick-showmarks', true);
-    	this.set('axis-tick-position', amdaPlotObj.PlotObjectConfig.defaultValues.axis.tickPosition);
+    	this.set('axis-tick-position', amdaDefaultValues.plot.axis.tickPosition);
                     this.set('axis-grid-minor-number',1);
                     this.set('axis-grid-major-number',1);
                     this.set('axis-grid-minor-space',0);
@@ -105,15 +105,15 @@ Ext.define('amdaPlotObj.PlotAxisObject', {
     	this.set('axis-grid-major', false);
     	this.set('axis-legend-activated', true);
     	this.set('axis-legend-text', '');
-    	this.set('axis-legend-color', amdaPlotObj.PlotObjectConfig.defaultValues.axis.legend.color);
+    	this.set('axis-legend-color', amdaDefaultValues.plot.axis.legend.color);
     	this.set('axis-legend-font-activated', false);
-    	this.set('axis-legend-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.axis.legend.font.name);
-    	this.set('axis-legend-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.axis.legend.font.size);
+    	this.set('axis-legend-font-name', amdaDefaultValues.plot.axis.legend.font.name);
+    	this.set('axis-legend-font-size', amdaDefaultValues.plot.axis.legend.font.size);
     	this.set('axis-legend-font-bold', false);
     	this.set('axis-legend-font-italic', false);
-    	this.set('axis-time-format', amdaPlotObj.PlotObjectConfig.defaultValues.axis.timeFormat);
+    	this.set('axis-time-format', amdaDefaultValues.plot.axis.timeFormat);
     	this.set('axis-epoch-normalized', false);
-    	this.set('axis-color-map', amdaPlotObj.PlotObjectConfig.defaultValues.axis.colorMap);
+    	this.set('axis-color-map', amdaDefaultValues.plot.axis.colorMap);
     	this.set('axis-color-minval', 'none');
     	this.set('axis-color-maxval', 'none');
     },
diff --git a/js/app/models/PlotObjects/PlotBaseSerieObject.js b/js/app/models/PlotObjects/PlotBaseSerieObject.js
index cab855b..d94d77b 100644
--- a/js/app/models/PlotObjects/PlotBaseSerieObject.js
+++ b/js/app/models/PlotObjects/PlotBaseSerieObject.js
@@ -87,54 +87,54 @@ Ext.define('amdaPlotObj.PlotBaseSerieObject', {
 
     setDefaultValues: function ()
     {
-        this.set('serie-yaxis', amdaPlotObj.PlotObjectConfig.defaultValues.serie.yAxis);
-        this.set('serie-resolution', amdaPlotObj.PlotObjectConfig.defaultValues.serie.resolution);
+        this.set('serie-yaxis', amdaDefaultValues.plot.serie.yAxis);
+        this.set('serie-resolution', amdaDefaultValues.plot.serie.resolution);
         
         this.set('serie-lines-activated', true);
-        this.set('serie-lines-style', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.style);
-        this.set('serie-lines-width', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.width);
-        this.set('serie-lines-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.color);
+        this.set('serie-lines-style', amdaDefaultValues.plot.serie.lines.style);
+        this.set('serie-lines-width', amdaDefaultValues.plot.serie.lines.width);
+        this.set('serie-lines-color', amdaDefaultValues.plot.serie.lines.color);
         
         this.set('serie-symbols-activated', false);
-        this.set('serie-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.type);
-        this.set('serie-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.size);
-        this.set('serie-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.color);
+        this.set('serie-symbols-type', amdaDefaultValues.plot.serie.symbols.type);
+        this.set('serie-symbols-size', amdaDefaultValues.plot.serie.symbols.size);
+        this.set('serie-symbols-color', amdaDefaultValues.plot.serie.symbols.color);
         this.set('serie-colored-param', '');
 
         this.set('serie-timetick-activated', false);
-        this.set('serie-timetick-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.type);
-        this.set('serie-timetick-step', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.step);
-        this.set('serie-timetick-nbmajor', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.nbmajor);
-        this.set('serie-timetick-nbminor', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.nbminor);
-        this.set('serie-timetick-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.color);
-        this.set('serie-timetick-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.type);
-        this.set('serie-timetick-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.size);
-        this.set('serie-timetick-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.color);
+        this.set('serie-timetick-type', amdaDefaultValues.plot.serie.timetick.type);
+        this.set('serie-timetick-step', amdaDefaultValues.plot.serie.timetick.step);
+        this.set('serie-timetick-nbmajor', amdaDefaultValues.plot.serie.timetick.nbmajor);
+        this.set('serie-timetick-nbminor', amdaDefaultValues.plot.serie.timetick.nbminor);
+        this.set('serie-timetick-color', amdaDefaultValues.plot.serie.timetick.color);
+        this.set('serie-timetick-symbols-type', amdaDefaultValues.plot.serie.timetick.symbols.type);
+        this.set('serie-timetick-symbols-size', amdaDefaultValues.plot.serie.timetick.symbols.size);
+        this.set('serie-timetick-symbols-color', amdaDefaultValues.plot.serie.timetick.symbols.color);
         this.set('serie-timetick-firstsymbols-activated', true);
-        this.set('serie-timetick-firstsymbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.type);
-        this.set('serie-timetick-firstsymbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.size);
-        this.set('serie-timetick-firstsymbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.color);
+        this.set('serie-timetick-firstsymbols-type', amdaDefaultValues.plot.serie.timetick.firstsymbols.type);
+        this.set('serie-timetick-firstsymbols-size', amdaDefaultValues.plot.serie.timetick.firstsymbols.size);
+        this.set('serie-timetick-firstsymbols-color', amdaDefaultValues.plot.serie.timetick.firstsymbols.color);
         this.set('serie-timetick-font-activated', false);
-        this.set('serie-timetick-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.font.name);
-        this.set('serie-timetick-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.font.size);
+        this.set('serie-timetick-font-name', amdaDefaultValues.plot.serie.timetick.font.name);
+        this.set('serie-timetick-font-size', amdaDefaultValues.plot.serie.timetick.font.size);
         this.set('serie-timetick-font-bold', false);
         this.set('serie-timetick-font-italic', false);
 
         this.set('serie-intervaltick-activated', false);
-        this.set('serie-intervaltick-mode', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.mode);
-        this.set('serie-intervaltick-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.color);
-        this.set('serie-intervaltick-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.symbols.type);
-        this.set('serie-intervaltick-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.symbols.size);
-        this.set('serie-intervaltick-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.symbols.color);
+        this.set('serie-intervaltick-mode', amdaDefaultValues.plot.serie.intervaltick.mode);
+        this.set('serie-intervaltick-color', amdaDefaultValues.plot.serie.intervaltick.color);
+        this.set('serie-intervaltick-symbols-type', amdaDefaultValues.plot.serie.intervaltick.symbols.type);
+        this.set('serie-intervaltick-symbols-size', amdaDefaultValues.plot.serie.intervaltick.symbols.size);
+        this.set('serie-intervaltick-symbols-color', amdaDefaultValues.plot.serie.intervaltick.symbols.color);
         this.set('serie-intervaltick-font-activated', false);
-        this.set('serie-intervaltick-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.font.name);
-        this.set('serie-intervaltick-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.font.size);
+        this.set('serie-intervaltick-font-name', amdaDefaultValues.plot.serie.intervaltick.font.name);
+        this.set('serie-intervaltick-font-size', amdaDefaultValues.plot.serie.intervaltick.font.size);
         this.set('serie-intervaltick-font-bold', false);
         this.set('serie-intervaltick-font-italic', false);
         
         // filtering 
           this.set( 'filtering-activated', false);
-         this.set('filtering-level', amdaPlotObj.PlotObjectConfig.defaultValues.filtering.level);
+         this.set('filtering-level', amdaDefaultValues.plot.filtering.level);
     },
 
     loadFromData: function (drawData)
diff --git a/js/app/models/PlotObjects/PlotConstantObject.js b/js/app/models/PlotObjects/PlotConstantObject.js
index 3e38171..d3468e3 100644
--- a/js/app/models/PlotObjects/PlotConstantObject.js
+++ b/js/app/models/PlotObjects/PlotConstantObject.js
@@ -57,11 +57,11 @@ Ext.define('amdaPlotObj.PlotConstantObject', {
     
     setDefaultValues: function()
     {
-    	this.set('constant-axis-id', amdaPlotObj.PlotObjectConfig.defaultValues.constants.axisId);
+    	this.set('constant-axis-id', amdaDefaultValues.plot.constants.axisId);
     	this.set('constant-float-value', 0.);
-    	this.set('constant-line-style', amdaPlotObj.PlotObjectConfig.defaultValues.constants.line.style);
-    	this.set('constant-line-width', amdaPlotObj.PlotObjectConfig.defaultValues.constants.line.width);
-    	this.set('constant-line-color', amdaPlotObj.PlotObjectConfig.defaultValues.constants.line.color);
+    	this.set('constant-line-style', amdaDefaultValues.plot.constants.line.style);
+    	this.set('constant-line-width', amdaDefaultValues.plot.constants.line.width);
+    	this.set('constant-line-color', amdaDefaultValues.plot.constants.line.color);
     },
     
     getShortInfo : function()
diff --git a/js/app/models/PlotObjects/PlotCurveObject.js b/js/app/models/PlotObjects/PlotCurveObject.js
index b5e4ca5..e72950f 100644
--- a/js/app/models/PlotObjects/PlotCurveObject.js
+++ b/js/app/models/PlotObjects/PlotCurveObject.js
@@ -146,9 +146,9 @@ Ext.define('amdaPlotObj.PlotCurveObject', {
     {
     	this.set('curve-name', '');
     	this.set('curve-serie-id', null);
-    	this.set('curve-line-style', amdaPlotObj.PlotObjectConfig.defaultValues.curves.line.style);
-    	this.set('curve-line-width', amdaPlotObj.PlotObjectConfig.defaultValues.curves.line.width);
-    	this.set('curve-line-color', amdaPlotObj.PlotObjectConfig.defaultValues.curves.line.color);
+    	this.set('curve-line-style', amdaDefaultValues.plot.curves.line.style);
+    	this.set('curve-line-width', amdaDefaultValues.plot.curves.line.width);
+    	this.set('curve-line-color', amdaDefaultValues.plot.curves.line.color);
     },
     
     isDirty : function()
diff --git a/js/app/models/PlotObjects/PlotFillObject.js b/js/app/models/PlotObjects/PlotFillObject.js
index 4329ef7..f1ade4e 100644
--- a/js/app/models/PlotObjects/PlotFillObject.js
+++ b/js/app/models/PlotObjects/PlotFillObject.js
@@ -47,12 +47,12 @@ Ext.define('amdaPlotObj.PlotFillObject', {
     
     setDefaultValues: function()
     {
-    	this.set('fill-type', amdaPlotObj.PlotObjectConfig.defaultValues.fills.type);
+    	this.set('fill-type', amdaDefaultValues.plot.fills.type);
     	this.set('fill-firstserie-id', null);
     	this.set('fill-secondserie-id', null);
     	this.set('fill-constant-id', null);
-    	this.set('fill-greater-color', amdaPlotObj.PlotObjectConfig.defaultValues.fills.greaterColor);
-    	this.set('fill-less-color', amdaPlotObj.PlotObjectConfig.defaultValues.fills.lessColor);
+    	this.set('fill-greater-color', amdaDefaultValues.plot.fills.greaterColor);
+    	this.set('fill-less-color', amdaDefaultValues.plot.fills.lessColor);
     },
     
     getShortInfo : function()
diff --git a/js/app/models/PlotObjects/PlotHistogram2DSerieObject.js b/js/app/models/PlotObjects/PlotHistogram2DSerieObject.js
index f8cae43..3ff9a6a 100644
--- a/js/app/models/PlotObjects/PlotHistogram2DSerieObject.js
+++ b/js/app/models/PlotObjects/PlotHistogram2DSerieObject.js
@@ -35,12 +35,12 @@ Ext.define('amdaPlotObj.PlotHistogram2DSerieObject', {
     setDefaultValues: function()
     {
     	this.set('serie-xaxis-param', '');
-    	this.set('serie-resampling-mode', amdaPlotObj.PlotObjectConfig.defaultValues.serie.resamplingMode);
-	this.set('histo2d-function', 'density');
+    	this.set('serie-resampling-mode', amdaDefaultValues.plot.serie.resamplingMode);
+		this.set('histo2d-function', amdaDefaultValues.plot.histogram2D.histo2DFunction);
     	this.set('histotype-param', '');
-    	this.set('histo2d-xbinnumber', amdaPlotObj.PlotObjectConfig.defaultValues.histogram2D.xbinnumber);
-    	this.set('histo2d-ybinnumber', amdaPlotObj.PlotObjectConfig.defaultValues.histogram2D.ybinnumber);
-    	this.set('histo2d-smoothfactor', amdaPlotObj.PlotObjectConfig.defaultValues.histogram2D.smoothfactor)
+    	this.set('histo2d-xbinnumber', amdaDefaultValues.plot.histogram2D.xbinnumber);
+    	this.set('histo2d-ybinnumber', amdaDefaultValues.plot.histogram2D.ybinnumber);
+    	this.set('histo2d-smoothfactor', amdaDefaultValues.plot.histogram2D.smoothfactor)
 
 	this.callParent(arguments);
     },
diff --git a/js/app/models/PlotObjects/PlotInstantSerieObject.js b/js/app/models/PlotObjects/PlotInstantSerieObject.js
index 4fca875..2368586 100644
--- a/js/app/models/PlotObjects/PlotInstantSerieObject.js
+++ b/js/app/models/PlotObjects/PlotInstantSerieObject.js
@@ -50,13 +50,13 @@ Ext.define('amdaPlotObj.PlotInstantSerieObject', {
     {
     	this.set('iserie-tableonx', false);
     	this.set('iserie-lines-activated', true);
-    	this.set('iserie-lines-style', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.style);
-    	this.set('iserie-lines-width', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.width);
-    	this.set('iserie-lines-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.color);
+    	this.set('iserie-lines-style', amdaDefaultValues.plot.serie.lines.style);
+    	this.set('iserie-lines-width', amdaDefaultValues.plot.serie.lines.width);
+    	this.set('iserie-lines-color', amdaDefaultValues.plot.serie.lines.color);
     	this.set('iserie-symbols-activated', false);
-    	this.set('iserie-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.type);
-    	this.set('iserie-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.size);
-    	this.set('iserie-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.color);
+    	this.set('iserie-symbols-type', amdaDefaultValues.plot.serie.symbols.type);
+    	this.set('iserie-symbols-size', amdaDefaultValues.plot.serie.symbols.size);
+    	this.set('iserie-symbols-color', amdaDefaultValues.plot.serie.symbols.color);
     },
     
     getJsonValues : function() 
diff --git a/js/app/models/PlotObjects/PlotIntervalsObject.js b/js/app/models/PlotObjects/PlotIntervalsObject.js
index df2f4db..a31a2dd 100644
--- a/js/app/models/PlotObjects/PlotIntervalsObject.js
+++ b/js/app/models/PlotObjects/PlotIntervalsObject.js
@@ -50,14 +50,14 @@ Ext.define('amdaPlotObj.PlotIntervalsObject', {
     
     setDefaultValues: function()
     {
-        this.set('intervals-color', amdaPlotObj.PlotObjectConfig.defaultValues.intervals.color);
+        this.set('intervals-color', amdaDefaultValues.plot.intervals.color);
 	this.set('legend-text-activated', true);
         this.set('legend-text-value', '');
-        this.set('legend-text-position', amdaPlotObj.PlotObjectConfig.defaultValues.legends.text.position);
-        this.set('legend-text-color', amdaPlotObj.PlotObjectConfig.defaultValues.legends.text.color);
+        this.set('legend-text-position', amdaDefaultValues.plot.legends.text.position);
+        this.set('legend-text-color', amdaDefaultValues.plot.legends.text.color);
         this.set('legend-text-font-activated', false);
-        this.set('legend-text-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.legends.text.font.name);
-        this.set('legend-text-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.legends.text.font.size);
+        this.set('legend-text-font-name', amdaDefaultValues.plot.legends.text.font.name);
+        this.set('legend-text-font-size', amdaDefaultValues.plot.legends.text.font.size);
         this.set('legend-text-font-bold', false);
         this.set('legend-text-font-italic', false);
 
diff --git a/js/app/models/PlotObjects/PlotLayoutAutoObject.js b/js/app/models/PlotObjects/PlotLayoutAutoObject.js
index 4eae979..a0db700 100644
--- a/js/app/models/PlotObjects/PlotLayoutAutoObject.js
+++ b/js/app/models/PlotObjects/PlotLayoutAutoObject.js
@@ -44,10 +44,10 @@ Ext.define('amdaPlotObj.PlotLayoutAutoObject', {
 
     setDefaultValues: function()
     {
-        this.set('layout-panel-height', amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.panelHeight);
-        this.set('layout-panel-spacing', amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.panelSpacing);
-        this.set('layout-expand', amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.expand);
-        this.set('layout-timeaxes-legend-lowerone', amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.timeAxesLegend);
+        this.set('layout-panel-height', amdaDefaultValues.plot.page.layout.panelHeight);
+        this.set('layout-panel-spacing', amdaDefaultValues.plot.page.layout.panelSpacing);
+        this.set('layout-expand', amdaDefaultValues.plot.page.layout.expand);
+        this.set('layout-timeaxes-legend-lowerone', amdaDefaultValues.plot.page.layout.timeAxesLegend);
     },
     
     getJsonValues : function() 
diff --git a/js/app/models/PlotObjects/PlotLayoutVerticalObject.js b/js/app/models/PlotObjects/PlotLayoutVerticalObject.js
index fb79416..0c03d3a 100644
--- a/js/app/models/PlotObjects/PlotLayoutVerticalObject.js
+++ b/js/app/models/PlotObjects/PlotLayoutVerticalObject.js
@@ -47,10 +47,10 @@ Ext.define('amdaPlotObj.PlotLayoutVerticalObject', {
 
     setDefaultValues: function()
     {
-        this.set('layout-panel-height', amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.panelHeight);
-        this.set('layout-panel-spacing', amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.panelSpacing);
-        this.set('layout-expand', amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.expand);
-        this.set('layout-timeaxes-legend-lowerone', amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.timeAxesLegend);
+        this.set('layout-panel-height', amdaDefaultValues.plot.page.layout.panelHeight);
+        this.set('layout-panel-spacing', amdaDefaultValues.plot.page.layout.panelSpacing);
+        this.set('layout-expand', amdaDefaultValues.plot.page.layout.expand);
+        this.set('layout-timeaxes-legend-lowerone', amdaDefaultValues.plot.page.layout.timeAxesLegend);
     },
 
     getJsonValues : function() 
diff --git a/js/app/models/PlotObjects/PlotLegendSeriesObject.js b/js/app/models/PlotObjects/PlotLegendSeriesObject.js
index 4be9f07..b369eea 100644
--- a/js/app/models/PlotObjects/PlotLegendSeriesObject.js
+++ b/js/app/models/PlotObjects/PlotLegendSeriesObject.js
@@ -54,17 +54,17 @@ Ext.define('amdaPlotObj.PlotLegendSeriesObject', {
     setDefaultValues: function()
     {
     	this.set('legend-series-activated', false);
-    	this.set('legend-series-type', amdaPlotObj.PlotObjectConfig.defaultValues.legends.series.type);
-    	this.set('legend-series-position', amdaPlotObj.PlotObjectConfig.defaultValues.legends.series.position);
+    	this.set('legend-series-type', amdaDefaultValues.plot.legends.series.type);
+    	this.set('legend-series-position', amdaDefaultValues.plot.legends.series.position);
     	this.set('legend-series-showparaminfo', true);
-    	this.set('legend-series-defaulttextcolor', amdaPlotObj.PlotObjectConfig.defaultValues.legends.series.text.color);
+    	this.set('legend-series-defaulttextcolor', amdaDefaultValues.plot.legends.series.text.color);
     	this.set('legend-series-border-activated', false);
-    	this.set('legend-series-border-color', amdaPlotObj.PlotObjectConfig.defaultValues.legends.series.border.color);
+    	this.set('legend-series-border-color', amdaDefaultValues.plot.legends.series.border.color);
     	this.set('legend-series-intervalinfo-activated', false);
-    	this.set('legend-series-intervalinfo-type', amdaPlotObj.PlotObjectConfig.defaultValues.legends.series.intervalinfo.type);
+    	this.set('legend-series-intervalinfo-type', amdaDefaultValues.plot.legends.series.intervalinfo.type);
     	this.set('legend-series-font-activated', false);
-    	this.set('legend-series-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.legends.series.font.name);
-    	this.set('legend-series-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.legends.series.font.size);
+    	this.set('legend-series-font-name', amdaDefaultValues.plot.legends.series.font.name);
+    	this.set('legend-series-font-size', amdaDefaultValues.plot.legends.series.font.size);
     	this.set('legend-series-font-bold', false);
     	this.set('legend-series-font-italic', false);
     },
diff --git a/js/app/models/PlotObjects/PlotLegendTextObject.js b/js/app/models/PlotObjects/PlotLegendTextObject.js
index f703b85..b781a7a 100644
--- a/js/app/models/PlotObjects/PlotLegendTextObject.js
+++ b/js/app/models/PlotObjects/PlotLegendTextObject.js
@@ -50,11 +50,11 @@ Ext.define('amdaPlotObj.PlotLegendTextObject', {
     setDefaultValues: function()
     {
     	this.set('legend-text-value', '');
-    	this.set('legend-text-position', amdaPlotObj.PlotObjectConfig.defaultValues.legends.text.position);
-    	this.set('legend-text-color', amdaPlotObj.PlotObjectConfig.defaultValues.legends.text.color);
+    	this.set('legend-text-position', amdaDefaultValues.plot.legends.text.position);
+    	this.set('legend-text-color', amdaDefaultValues.plot.legends.text.color);
     	this.set('legend-text-font-activated', false);
-    	this.set('legend-text-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.legends.text.font.name);
-    	this.set('legend-text-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.legends.text.font.size);
+    	this.set('legend-text-font-name', amdaDefaultValues.plot.legends.text.font.name);
+    	this.set('legend-text-font-size', amdaDefaultValues.plot.legends.text.font.size);
     	this.set('legend-text-font-bold', false);
     	this.set('legend-text-font-italic', false);
     },
diff --git a/js/app/models/PlotObjects/PlotObjectConfig.js b/js/app/models/PlotObjects/PlotObjectConfig.js
index 4868757..0d3ed3e 100644
--- a/js/app/models/PlotObjects/PlotObjectConfig.js
+++ b/js/app/models/PlotObjects/PlotObjectConfig.js
@@ -16,8 +16,6 @@
 Ext.define('amdaPlotObj.PlotObjectConfig', {
 	singleton: true,
 
-	defaultValues: amdaDefaultValues.plot,
-	
 	getValueByKey: function (dataList, key) {
 		var value = '';
 		Ext.each(dataList, function (data) {
diff --git a/js/app/models/PlotObjects/PlotOrbitSerieObject.js b/js/app/models/PlotObjects/PlotOrbitSerieObject.js
index e203a58..8d12888 100644
--- a/js/app/models/PlotObjects/PlotOrbitSerieObject.js
+++ b/js/app/models/PlotObjects/PlotOrbitSerieObject.js
@@ -27,7 +27,7 @@ Ext.define('amdaPlotObj.PlotOrbitSerieObject', {
     
     setDefaultValues: function()
     {
-		this.set('serie-projection', amdaPlotObj.PlotObjectConfig.defaultValues.serie.projection);
+		this.set('serie-projection', amdaDefaultValues.plot.serie.projection);
 		this.callParent(arguments);
     },
     
diff --git a/js/app/models/PlotObjects/PlotPanelObject.js b/js/app/models/PlotObjects/PlotPanelObject.js
index 29521f4..37347ce 100644
--- a/js/app/models/PlotObjects/PlotPanelObject.js
+++ b/js/app/models/PlotObjects/PlotPanelObject.js
@@ -557,22 +557,22 @@ Ext.define('amdaPlotObj.PlotPanelObject', {
     
     setDefaultValues: function()
     {
-    	this.set('panel-background-color', amdaPlotObj.PlotObjectConfig.defaultValues.panel.backgroundColor);
-		this.set('panel-plotareabackground-color', amdaPlotObj.PlotObjectConfig.defaultValues.panel.backgroundColor);
+    	this.set('panel-background-color', amdaDefaultValues.plot.panel.backgroundColor);
+		this.set('panel-plotareabackground-color', amdaDefaultValues.plot.panel.backgroundColor);
     	this.set('panel-title-text', '');
-    	this.set('panel-title-color', amdaPlotObj.PlotObjectConfig.defaultValues.panel.title.color);
-    	this.set('panel-title-position', amdaPlotObj.PlotObjectConfig.defaultValues.panel.title.position);
-    	this.set('panel-title-alignment', amdaPlotObj.PlotObjectConfig.defaultValues.panel.title.alignment);
+    	this.set('panel-title-color', amdaDefaultValues.plot.panel.title.color);
+    	this.set('panel-title-position', amdaDefaultValues.plot.panel.title.position);
+    	this.set('panel-title-alignment', amdaDefaultValues.plot.panel.title.alignment);
     	
     	this.set('panel-title-font-activated', false);
-    	this.set('panel-title-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.panel.font.name);
-    	this.set('panel-title-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.panel.font.size);
+    	this.set('panel-title-font-name', amdaDefaultValues.plot.panel.font.name);
+    	this.set('panel-title-font-size', amdaDefaultValues.plot.panel.font.size);
     	this.set('panel-title-font-bold', false);
     	this.set('panel-title-font-italic', false);
     	
     	this.set('panel-font-activated', false);
-    	this.set('panel-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.panel.font.name);
-    	this.set('panel-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.panel.font.size);
+    	this.set('panel-font-name', amdaDefaultValues.plot.panel.font.name);
+    	this.set('panel-font-size', amdaDefaultValues.plot.panel.font.size);
     	this.set('panel-font-bold', false);
     	this.set('panel-font-italic', false);
     	
@@ -587,16 +587,16 @@ Ext.define('amdaPlotObj.PlotPanelObject', {
     	this.set('panel-prefered-width', null);
     	this.set('panel-prefered-height', null);
     	
-    	this.set('panel-scatter-isotropic', amdaPlotObj.PlotObjectConfig.defaultValues.panel.isotropic);
+    	this.set('panel-scatter-isotropic', amdaDefaultValues.plot.panel.isotropic);
     	
-    	this.set('panel-status-position', amdaPlotObj.PlotObjectConfig.defaultValues.panel.status.position);
-    	this.set('panel-status-colormap', amdaPlotObj.PlotObjectConfig.defaultValues.panel.status.colorMap);
+    	this.set('panel-status-position', amdaDefaultValues.plot.panel.status.position);
+    	this.set('panel-status-colormap', amdaDefaultValues.plot.panel.status.colorMap);
     	
     	this.set('panel-tick-format', "");
     	
     	this.set('panel-epoch-centertimeid', "");
     	
-    	this.changePlotType(amdaPlotObj.PlotObjectConfig.defaultValues.panel.plotType);
+    	this.changePlotType(amdaDefaultValues.plot.panel.plotType);
     },
     
     getPanelShortInfo : function()
diff --git a/js/app/models/PlotObjects/PlotRequestObject.js b/js/app/models/PlotObjects/PlotRequestObject.js
index 8b523e9..0c93127 100644
--- a/js/app/models/PlotObjects/PlotRequestObject.js
+++ b/js/app/models/PlotObjects/PlotRequestObject.js
@@ -158,39 +158,39 @@ Ext.define('amdaPlotObj.PlotRequestObject', {
     
     setDefaultValues: function()
     {
-        this.set('file-format', amdaPlotObj.PlotObjectConfig.defaultValues.file.format);
-        this.set('file-output', amdaPlotObj.PlotObjectConfig.defaultValues.file.output);
+        this.set('file-format', amdaDefaultValues.plot.file.format);
+        this.set('file-output', amdaDefaultValues.plot.file.output);
         this.set('file-prefix', '');
-        this.set('one-file-per-interval', amdaPlotObj.PlotObjectConfig.defaultValues.file.oneFilePerInterval);
+        this.set('one-file-per-interval', amdaDefaultValues.plot.file.oneFilePerInterval);
         this.set('name', '');
 
-    	this.set('tree-full-view', amdaPlotObj.PlotObjectConfig.defaultValues.tree.fullView);
+    	this.set('tree-full-view', amdaDefaultValues.plot.tree.fullView);
     	
     	this.set('page-title-text', '');
-    	this.set('page-title-color', amdaPlotObj.PlotObjectConfig.defaultValues.page.title.color);
-    	this.set('page-title-position', amdaPlotObj.PlotObjectConfig.defaultValues.page.title.position);
-    	this.set('page-title-alignment', amdaPlotObj.PlotObjectConfig.defaultValues.page.title.alignment);
+    	this.set('page-title-color', amdaDefaultValues.plot.page.title.color);
+    	this.set('page-title-position', amdaDefaultValues.plot.page.title.position);
+    	this.set('page-title-alignment', amdaDefaultValues.plot.page.title.alignment);
     	
     	this.set('page-title-font-activated', false);
-    	this.set('page-title-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.page.font.name);
-    	this.set('page-title-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.page.font.size);
+    	this.set('page-title-font-name', amdaDefaultValues.plot.page.font.name);
+    	this.set('page-title-font-size', amdaDefaultValues.plot.page.font.size);
     	this.set('page-title-font-bold', false);
     	this.set('page-title-font-italic', false);
     	
     	this.set('page-margins-activated', false);
-    	this.set('page-margin-x', amdaPlotObj.PlotObjectConfig.defaultValues.page.xMargin);
-    	this.set('page-margin-y', amdaPlotObj.PlotObjectConfig.defaultValues.page.yMargin);
-    	this.set('page-mode', amdaPlotObj.PlotObjectConfig.defaultValues.page.mode);
-    	this.set('page-orientation', amdaPlotObj.PlotObjectConfig.defaultValues.page.orientation);
-    	this.set('page-dimension', amdaPlotObj.PlotObjectConfig.defaultValues.page.dimension);
+    	this.set('page-margin-x', amdaDefaultValues.plot.page.xMargin);
+    	this.set('page-margin-y', amdaDefaultValues.plot.page.yMargin);
+    	this.set('page-mode', amdaDefaultValues.plot.page.mode);
+    	this.set('page-orientation', amdaDefaultValues.plot.page.orientation);
+    	this.set('page-dimension', amdaDefaultValues.plot.page.dimension);
     	this.set('page-superpose-mode', false);
     	this.set('page-font-activated', false);
-    	this.set('page-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.page.font.name);
-    	this.set('page-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.page.font.size);
+    	this.set('page-font-name', amdaDefaultValues.plot.page.font.name);
+    	this.set('page-font-size', amdaDefaultValues.plot.page.font.size);
     	this.set('page-font-bold', false);
     	this.set('page-font-italic', false);
     	
-    	this.setLayout(amdaPlotObj.PlotObjectConfig.defaultValues.page.layout.type);
+    	this.setLayout(amdaDefaultValues.plot.page.layout.type);
     },
     
     getPageShortInfo : function()
diff --git a/js/app/models/PlotObjects/PlotSauvaudObject.js b/js/app/models/PlotObjects/PlotSauvaudObject.js
index 15ee4a9..052dd03 100644
--- a/js/app/models/PlotObjects/PlotSauvaudObject.js
+++ b/js/app/models/PlotObjects/PlotSauvaudObject.js
@@ -59,13 +59,13 @@ Ext.define('amdaPlotObj.PlotSauvaudObject', {
     },
 
     setDefaultValues: function () {
-        this.set('spectro-yaxis', amdaPlotObj.PlotObjectConfig.defaultValues.spectro.yAxis);
-        this.set('spectro-resolution', amdaPlotObj.PlotObjectConfig.defaultValues.spectro.resolution);
+        this.set('spectro-yaxis', amdaDefaultValues.plot.spectro.yAxis);
+        this.set('spectro-resolution', amdaDefaultValues.plot.spectro.resolution);
         this.set('spectro-log0-as-min', false);
         this.set('spectro-normalization', "none");
         // filtering 
         this.set('filtering-activated', false);
-        this.set('filtering-level', amdaPlotObj.PlotObjectConfig.defaultValues.filtering.level);
+        this.set('filtering-level', amdaDefaultValues.plot.filtering.level);
         this.set('right_dim', 0);
 
         this.set(amdaPlotObj.PlotObjectConfig.bgSubstraction.name, false);
diff --git a/js/app/models/PlotObjects/PlotSerieObject.js b/js/app/models/PlotObjects/PlotSerieObject.js
index fb3d7bd..931018b 100644
--- a/js/app/models/PlotObjects/PlotSerieObject.js
+++ b/js/app/models/PlotObjects/PlotSerieObject.js
@@ -42,16 +42,16 @@ Ext.define('amdaPlotObj.PlotSerieObject', {
     setDefaultValues: function()
     {
 		this.set('serie-errorbar-activated', false);
-		this.set('serie-errorbar-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.errorbar.type);
-		this.set('serie-errorbar-lines-style', amdaPlotObj.PlotObjectConfig.defaultValues.serie.errorbar.lines.style);
-	    this.set('serie-errorbar-lines-width', amdaPlotObj.PlotObjectConfig.defaultValues.serie.errorbar.lines.width);
-	    this.set('serie-errorbar-lines-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.errorbar.lines.color);
+		this.set('serie-errorbar-type', amdaDefaultValues.plot.serie.errorbar.type);
+		this.set('serie-errorbar-lines-style', amdaDefaultValues.plot.serie.errorbar.lines.style);
+	    this.set('serie-errorbar-lines-width', amdaDefaultValues.plot.serie.errorbar.lines.width);
+	    this.set('serie-errorbar-lines-color', amdaDefaultValues.plot.serie.errorbar.lines.color);
 		this.set('serie-errorbar-minparam', '');
 		this.set('serie-errorbar-maxparam', '');
 		this.set('serie-errorbar-deltaparam', '');
     	
     	this.set('serie-xaxis-param', '');
-    	this.set('serie-resampling-mode', amdaPlotObj.PlotObjectConfig.defaultValues.serie.resamplingMode);
+    	this.set('serie-resampling-mode', amdaDefaultValues.plot.serie.resamplingMode);
 		
 		this.callParent(arguments);
     },
diff --git a/js/app/models/PlotObjects/PlotSpectroObject.js b/js/app/models/PlotObjects/PlotSpectroObject.js
index 4bd0a60..e1994fa 100644
--- a/js/app/models/PlotObjects/PlotSpectroObject.js
+++ b/js/app/models/PlotObjects/PlotSpectroObject.js
@@ -58,13 +58,13 @@ Ext.define('amdaPlotObj.PlotSpectroObject', {
     },
 
     setDefaultValues: function () {
-        this.set('spectro-yaxis', amdaPlotObj.PlotObjectConfig.defaultValues.spectro.yAxis);
-        this.set('spectro-resolution', amdaPlotObj.PlotObjectConfig.defaultValues.spectro.resolution);
+        this.set('spectro-yaxis', amdaDefaultValues.plot.spectro.yAxis);
+        this.set('spectro-resolution', amdaDefaultValues.plot.spectro.resolution);
         this.set('spectro-log0-as-min', false);
         this.set('spectro-normalization', "none");
         // filtering 
         this.set('filtering-activated', false);
-        this.set('filtering-level', amdaPlotObj.PlotObjectConfig.defaultValues.filtering.level);
+        this.set('filtering-level', amdaDefaultValues.plot.filtering.level);
 
         this.set(amdaPlotObj.PlotObjectConfig.bgSubstraction.name, false);
         this.set(amdaPlotObj.PlotObjectConfig.bgSubstraction.type.key, null);
diff --git a/js/app/models/PlotObjects/PlotTextObject.js b/js/app/models/PlotObjects/PlotTextObject.js
index 5947456..d0df46b 100644
--- a/js/app/models/PlotObjects/PlotTextObject.js
+++ b/js/app/models/PlotObjects/PlotTextObject.js
@@ -67,17 +67,17 @@ Ext.define('amdaPlotObj.PlotTextObject', {
     setDefaultValues: function()
     {
     	this.set('text-value', '');
-    	this.set('text-y-axis', amdaPlotObj.PlotObjectConfig.defaultValues.textObjs.yAxisId);
-    	this.set('text-x-relative', amdaPlotObj.PlotObjectConfig.defaultValues.textObjs.xRelative);
+    	this.set('text-y-axis', amdaDefaultValues.plot.textObjs.yAxisId);
+    	this.set('text-x-relative', amdaDefaultValues.plot.textObjs.xRelative);
     	this.set('text-x-floatvalue', 0.);
-    	this.set('text-y-relative', amdaPlotObj.PlotObjectConfig.defaultValues.textObjs.yRelative);
+    	this.set('text-y-relative', amdaDefaultValues.plot.textObjs.yRelative);
     	this.set('text-y-value', 0.);
     	this.set('text-angle', 0.);
-    	this.set('text-color', amdaPlotObj.PlotObjectConfig.defaultValues.textObjs.color);
-    	this.set('text-align', amdaPlotObj.PlotObjectConfig.defaultValues.textObjs.align);
+    	this.set('text-color', amdaDefaultValues.plot.textObjs.color);
+    	this.set('text-align', amdaDefaultValues.plot.textObjs.align);
     	this.set('text-font-activated', false);
-    	this.set('text-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.textObjs.font.name);
-    	this.set('text-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.textObjs.font.size);
+    	this.set('text-font-name', amdaDefaultValues.plot.textObjs.font.name);
+    	this.set('text-font-size', amdaDefaultValues.plot.textObjs.font.size);
     	this.set('text-font-bold', false);
     	this.set('text-font-italic', false);
     },
diff --git a/js/app/views/DefaultValuesWindow.js b/js/app/views/DefaultValuesWindow.js
index 1b7b935..7f0f411 100644
--- a/js/app/views/DefaultValuesWindow.js
+++ b/js/app/views/DefaultValuesWindow.js
@@ -47,7 +47,8 @@ Ext.define('amdaUI.DefaultValuesWindow',{
                                 AmdaAction.setUserDefaultValues(me.defaultValuesGrid.modifiedDefaults, function(res) {
                                     if(res['success']){
                                         AmdaAction.getDefaultValueTree(false, function(defaults){
-                                            amdaDefaultValues=defaults;
+                                            if(defaults['success'])
+                                                amdaDefaultValues=defaults['defaultValues'];
                                         });
                                         me.defaultValuesGrid.removeAll();
                                         me.defaultValuesGrid.destroy();
diff --git a/php/classes/AmdaAction.php b/php/classes/AmdaAction.php
index 50ac821..2578643 100644
--- a/php/classes/AmdaAction.php
+++ b/php/classes/AmdaAction.php
@@ -1736,64 +1736,69 @@ class AmdaAction
 	}
 	public function getDefaultValueConfigs(){
 		if (file_exists(DATAPATH.'defaultValuesConfig.json'))
-			return json_decode(file_get_contents(DATAPATH.'defaultValuesConfig.json'), true);
+			return array('success' => true , 'configs' => json_decode(file_get_contents(DATAPATH.'defaultValuesConfig.json'), true));
 		else
-			return array();
+			return array('success' => false , 'configs' => array(), 'message'=>'Error : No default value configs file.');
 	}
 
 	public function getDefaultValueLinks(){
-		if (file_exists(DATAPATH.'defaultValuesLinks.json')) 
-			return json_decode(file_get_contents(DATAPATH.'defaultValuesLinks.json'), true);
-		else
-			return array();
+		if (!file_exists(DATAPATH.'defaultValuesLinks.json'))
+			return array('success' => false , 'links' => array(), 'message'=>'Error : No default value links file.');
+
+		$json_links = json_decode(file_get_contents(DATAPATH.'defaultValuesLinks.json'), true);
+		if (!file_exists(DATAPATH.'defaultValuesConfig.json'))
+			return  array('success' => false , 'links' => array(), 'message'=>'Error : No default value configs file.');
+			
+		$json_configs= json_decode(file_get_contents(DATAPATH.'defaultValuesConfig.json'), true);
+		foreach ($json_links as $parameter => &$links){
+			if(!empty($links['store']))
+				$links['store']= $json_configs[$links['store']];
+		}
+		return array('success' => true , 'links' => $json_links);
+		
 	}
 
 	public function getDefaultValueTree($isTree=TRUE){
 		$childrenToReturn = array();
 		$children = [];
-		if (file_exists(DATAPATH.'defaultValues.json')) {
-			$json_o = json_decode(file_get_contents(DATAPATH.'defaultValues.json'), true);
-			if (empty($json_o)) {
-				$childrenToReturn = array();
-			}
-			else {
-				if (file_exists(USERDIR.'userDefaults.json')) {
-					$json_user = json_decode(file_get_contents(USERDIR.'userDefaults.json'), true);
-					foreach($json_user as $key => $value){
-						$keys = explode(".", $key);
-						$results = &$json_o; // Use a reference to update the original array
-						foreach($keys as $parameter){
-							$results = &$results[$parameter];
-						}
-						if($isTree)
-							$results = array("value" => $value, "modified" => true, "defaultValue" => $results);
-						else
-							$results = $value;
-					}
-				}
-				
-				if($isTree){
-
-					$this->getNodeValues($json_o,$children);
-
-					$childrenToReturn = [
-						"text" => ".",
-						"children" => $children
-					];
-				}
-				else {
-					$childrenToReturn = $json_o;
-				}
+		if (!file_exists(DATAPATH.'defaultValues.json')) 
+			return array('success' => false , 'defaultValues' => array(), 'message'=>'efaultvalues file not found.');
+		$json_o = json_decode(file_get_contents(DATAPATH.'defaultValues.json'), true);
+		if (empty($json_o)) 
+			return array('success' => false , 'defaultValues' => array(), 'message'=>'Error : defaultValues file empty.');
+
+		if (!file_exists(USERDIR.'userDefaults.json')) 
+			return array('success' => true , 'defaultValues' => $json_o, 'message'=>'No modification on defaultvalues.');
+			
+		$json_user = json_decode(file_get_contents(USERDIR.'userDefaults.json'), true);
+		if (empty($json_user)) 
+			return array('success' => true , 'defaultValues' => $json_o, 'message'=>'No modification on defaultvalues.');
+
+		foreach($json_user as $key => $value){
+			$keys = explode(".", $key);
+			$results = &$json_o; // Use a reference to update the original array
+			foreach($keys as $parameter){
+				$results = &$results[$parameter];
 			}
+			if($isTree)
+				$results = array("value" => $value, "modified" => true, "defaultValue" => $results);
+			else
+				$results = $value;
 		}
-		else {
-			$childrenToReturn = array();
+		
+		if($isTree){
+			$this->getNodeValues($json_o,$children);
+			return [ "text" => ".", "children" => $children ];
 		}
-		return $childrenToReturn;
+
+		return array('success' => true , 'defaultValues' => $json_o);
 	}
 
 	public function setUserDefaultValues($data){
 		$json_user = json_encode($data, true);
+		if (empty($json_user)) 
+			return array('success' => false , 'message'=>'Error : No modifications to write.');
+
 		file_put_contents(USERDIR.'userDefaults.json',$json_user);
 
 		return array('success' => true);
--
libgit2 0.21.2