Index: tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java	(revision 407)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java	(revision 408)
@@ -43,7 +43,7 @@
 import org.txm.ca.core.statsengine.r.functions.ICA;
 import org.txm.chartsengine.core.results.IChartResult;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.functions.Function;
+import org.txm.functions.TXMCommand;
 import org.txm.lexicaltable.core.functions.LexicalTable;
 import org.txm.lexicaltable.core.functions.LexicalTableFactory;
 import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
@@ -61,7 +61,7 @@
  * @author sloiseau
  *  
  */
-public class CA extends Function implements IChartResult {
+public class CA extends TXMCommand implements IChartResult {
 
 	/** The use Factomine R. */
 	boolean useFactoMineR = true;
@@ -975,7 +975,7 @@
 	
 	@Override
 	public String getSimpleName() {
-		return analysisProperty.getName() + " (" + TXMPreferences.getInt(CAPreferences.PREFERENCES_NODE, this, CAPreferences.FIRST_DIMENSION) + "," + TXMPreferences.getInt(CAPreferences.PREFERENCES_NODE, this, CAPreferences.SECOND_DIMENSION) + ")";
+		return analysisProperty.getName() + " (" + this.getIntParameterValue(CAPreferences.FIRST_DIMENSION) + "," + this.getIntParameterValue(CAPreferences.SECOND_DIMENSION) + ")";
 	}
 
 	@Override
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCSingularValueChartCreator.java
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCSingularValueChartCreator.java	(revision 407)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCSingularValueChartCreator.java	(revision 408)
@@ -7,7 +7,7 @@
 import org.txm.ca.core.chartsengine.jfreechart.themes.highcharts.renderers.CASingularValuesItemSelectionRenderer;
 import org.txm.ca.core.functions.CA;
 import org.txm.ca.core.messages.CACoreMessages;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.chartsengine.jfreechart.core.JFCChartCreator;
 import org.txm.chartsengine.jfreechart.core.themes.base.ExtendedNumberAxis;
 import org.txm.statsengine.core.StatException;
@@ -29,7 +29,7 @@
 
 
 	@Override
-	public Object createChart(ITXMResult result, String preferencesNode) {
+	public Object createChart(TXMResult result) {
 		
 		
 		CA ca = (CA) result;
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCCAChartCreator.java
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCCAChartCreator.java	(revision 407)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCCAChartCreator.java	(revision 408)
@@ -31,7 +31,7 @@
 import org.txm.chartsengine.jfreechart.core.renderers.MultipleItemsSelector;
 import org.txm.chartsengine.jfreechart.core.themes.base.BlockRoundBorder;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.statsengine.core.StatException;
 import org.txm.utils.logger.Log;
 
@@ -49,7 +49,7 @@
 
 	
 	@Override
-	public JFreeChart createChart(ITXMResult result, String preferencesNode) {
+	public JFreeChart createChart(TXMResult result) {
 
 		
 		CA ca = (CA) result;
@@ -75,7 +75,7 @@
 //			String yAxisLabel = CACoreMessages.ChartsEngine_CA_FACTORIAL_MAP_AXIS_LABEL_PREFIX  + " " + ca.getSecondDimension() + " (" + percent2 + "%)";
 			
 			
-			chart = ChartFactory.createScatterPlot(Utils.createCAFactorialMapChartTitle(ca), "", "", dataset, PlotOrientation.VERTICAL, TXMPreferences.getBoolean(CAPreferences.PREFERENCES_NODE, ChartsEnginePreferences.SHOW_LEGEND), false, false);
+			chart = ChartFactory.createScatterPlot(Utils.createCAFactorialMapChartTitle(ca), "", "", dataset, PlotOrientation.VERTICAL, TXMPreferences.getBoolean(ChartsEnginePreferences.SHOW_LEGEND, CAPreferences.PREFERENCES_NODE), false, false);
 
 			// Custom renderer
 			chart.getXYPlot().setRenderer(new FCAItemSelectionRenderer(ca));
@@ -92,25 +92,24 @@
 	}
 
 	@Override
-	public void updateChart(Object chart, ITXMResult result, String preferencesNode) {
+	public void updateChart(Object chart, TXMResult result) {
 
-
 		FCAItemSelectionRenderer renderer = (FCAItemSelectionRenderer) ((JFreeChart)chart).getXYPlot().getRenderer(); 
    	 	XYPlot plot = ((JFreeChart)chart).getXYPlot();
 		
 		
-		renderer.setSeriesVisible(0, TXMPreferences.getBoolean(preferencesNode, result, CAPreferences.SHOW_VARIABLES));
-		renderer.setSeriesVisible(1, TXMPreferences.getBoolean(preferencesNode, result, CAPreferences.SHOW_INDIVIDUALS));
+		renderer.setSeriesVisible(0, result.getBooleanParameterValue(CAPreferences.SHOW_VARIABLES));
+		renderer.setSeriesVisible(1, result.getBooleanParameterValue(CAPreferences.SHOW_INDIVIDUALS));
 		
 		// Create the limits border
 		this.createCAFactorialMapChartLimitsBorder((JFreeChart) chart);
 
 		this.updateChartCAFactorialMapSetDimensions(chart, (CA) result,
-				TXMPreferences.getInt(preferencesNode, result, CAPreferences.FIRST_DIMENSION),
-				TXMPreferences.getInt(preferencesNode, result, CAPreferences.SECOND_DIMENSION));
+				result.getIntParameterValue(CAPreferences.FIRST_DIMENSION),
+				result.getIntParameterValue(CAPreferences.SECOND_DIMENSION));
 		
 
-		super.updateChart(chart, result, preferencesNode);
+		super.updateChart(chart, result);
 
 		
     	((FCAItemSelectionRenderer)renderer).setBaseLinesVisible(false);
@@ -137,7 +136,7 @@
 
     	// Grid
     	plot.setRangeGridlineStroke(plot.getDomainGridlineStroke());
-    	plot.setDomainGridlinesVisible(TXMPreferences.getBoolean(preferencesNode, result, ChartsEnginePreferences.SHOW_GRID));
+    	plot.setDomainGridlinesVisible(result.getBooleanParameterValue(ChartsEnginePreferences.SHOW_GRID));
     	plot.setDomainZeroBaselineVisible(true);
     	plot.setRangeZeroBaselineVisible(true);
     	
@@ -148,11 +147,11 @@
 		
   
         
-        renderer.setShapesVisible(TXMPreferences.getBoolean(preferencesNode, result, CAPreferences.SHOW_POINT_SHAPES));
+        renderer.setShapesVisible(result.getBooleanParameterValue(CAPreferences.SHOW_POINT_SHAPES));
         renderer.setBaseLinesVisible(false);
         
         // Draw the point shapes and the item labels
-        if(TXMPreferences.getBoolean(preferencesNode, result, CAPreferences.SHOW_POINT_SHAPES))	{
+        if(result.getBooleanParameterValue(CAPreferences.SHOW_POINT_SHAPES))	{
             
         	renderer.setSeriesItemLabelPaint(0, renderer.getBaseItemLabelPaint());
             renderer.setSeriesItemLabelPaint(1, renderer.getBaseItemLabelPaint());
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/r/RCAChartCreator.java
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/r/RCAChartCreator.java	(revision 407)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/r/RCAChartCreator.java	(revision 408)
@@ -11,7 +11,7 @@
 import org.txm.ca.core.preferences.CAPreferences;
 import org.txm.ca.core.statsengine.r.functions.FactoMineRCA;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.chartsengine.r.core.RChartCreator;
 import org.txm.chartsengine.r.core.RChartsEngine;
 import org.txm.utils.logger.Log;
@@ -123,19 +123,19 @@
 	}
 	
 	@Override
-	public Object createChart(ITXMResult result, String preferencesNode) {
+	public Object createChart(TXMResult result) {
 		// TODO Auto-generated method stub
 		return null;
 	}
 
 	@Override
-	public File createChartFile(ITXMResult result, File file, String preferencesNode) {
+	public File createChartFile(TXMResult result, File file) {
 
 		CA ca = (CA) result;
 		
 		// parameters
-		boolean showIndividual = TXMPreferences.getBoolean(preferencesNode, result, CAPreferences.SHOW_INDIVIDUALS);
-		boolean showVariables = TXMPreferences.getBoolean(preferencesNode, result, CAPreferences.SHOW_VARIABLES);
+		boolean showIndividual = result.getBooleanParameterValue(CAPreferences.SHOW_INDIVIDUALS);
+		boolean showVariables = result.getBooleanParameterValue(CAPreferences.SHOW_VARIABLES);
 		
 	
 		// FactoMineR R package
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/r/RSingularValuesChartCreator.java
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/r/RSingularValuesChartCreator.java	(revision 407)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/r/RSingularValuesChartCreator.java	(revision 408)
@@ -5,7 +5,7 @@
 import org.txm.ca.core.functions.CA;
 import org.txm.ca.core.messages.CACoreMessages;
 import org.txm.ca.core.statsengine.r.functions.FactoMineRCA;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.chartsengine.r.core.RChartCreator;
 
 /**
@@ -28,14 +28,14 @@
 
 
 	@Override
-	public Object createChart(ITXMResult result, String preferencesNode) {
+	public Object createChart(TXMResult result) {
 		// TODO Auto-generated method stub
 		return null;
 	}
 
 
 	@Override
-	public File createChartFile(ITXMResult result, File file, String preferencesNode) {
+	public File createChartFile(TXMResult result, File file) {
 
 		CA ca = (CA) result;
 		
