Revision 56 org.gvsig.toolbox/trunk/org.gvsig.toolbox/org.gvsig.toolbox.algorithm/src/es/unex/sextante/gridCalculus/gridCalculator/GridCalculatorAlgorithm.java

View differences:

GridCalculatorAlgorithm.java
4 4
import java.util.ArrayList;
5 5
import java.util.HashMap;
6 6
import java.util.Iterator;
7
import java.util.List;
7 8
import java.util.Set;
8 9

  
9 10
import org.nfunk.jep.JEP;
......
39 40

  
40 41
      IRasterLayer layer;
41 42
      RasterLayerAndBand layerAndBand;
42
      final ArrayList names = new ArrayList();
43
      final List<String> names = new ArrayList<String>();
43 44
      final ArrayList layers = m_Parameters.getParameterValueAsArrayList(LAYERS);
44 45
      String sFormula = m_Parameters.getParameterValueAsString(FORMULA).toLowerCase();
45
      final ArrayList bands = FormulaParser.getBandsFromFormula(sFormula, layers);
46
      final List<RasterLayerAndBand> bands = FormulaParser.getBandsFromFormula(sFormula, layers);
46 47

  
47 48
      if (bands == null) {
48 49
         throw new GeoAlgorithmExecutionException(Sextante.getText("Syntax_error"));
......
65 66
         layerAndBand = (RasterLayerAndBand) bands.get(i);
66 67
         layer = layerAndBand.getRasterLayer();
67 68
         iBands[i] = layerAndBand.getBand();
68
         names.add(layer.getName());
69
         String layerName = layer.getName();
70
         String normalizedName = FormulaParser.getNormalizedName(layerName);
71
         sFormula = FormulaParser.replaceVariables(sFormula, layerName, normalizedName);
72
         names.add(normalizedName);
69 73
         window[i] = layer;
70 74
         window[i].setWindowExtent(extent);
71 75
         if ((layer.getDataType() == DataBuffer.TYPE_FLOAT) || (layer.getDataType() == DataBuffer.TYPE_DOUBLE)) {
......
81 85
         sVariable[i] = sVariable[i].replaceAll("\\[", "_");
82 86
         sVariable[i] = sVariable[i].replaceAll("\\]", "_");
83 87
         sVariable[i] = FormulaParser.replaceDots(sVariable[i]);
84

  
88
         sVariable[i] = FormulaParser.getNormalizedName(sVariable[i]);
89
         
85 90
         jep.addVariable(sVariable[i], 0.0);
86 91

  
87 92
      }

Also available in: Unified diff