Revision 45292 branches/org.gvsig.desktop-cvsgis1/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/LayersTreeModel.java
LayersTreeModel.java | ||
---|---|---|
13 | 13 |
import org.gvsig.fmap.mapcontext.layers.FLayers; |
14 | 14 |
import org.gvsig.tools.evaluator.Evaluator; |
15 | 15 |
import org.gvsig.tools.evaluator.EvaluatorData; |
16 |
import org.slf4j.Logger; |
|
17 |
import org.slf4j.LoggerFactory; |
|
16 | 18 |
|
17 | 19 |
public class LayersTreeModel implements TreeModel { |
20 |
|
|
21 |
public static final Logger LOGGER = LoggerFactory.getLogger(LayersTreeModel.class); |
|
18 | 22 |
|
19 | 23 |
private final List<TreeModelListener> listeners = new ArrayList(); |
20 | 24 |
protected FLayers layers; |
... | ... | |
88 | 92 |
if (!(parent instanceof FLayers)) { |
89 | 93 |
return null; |
90 | 94 |
} |
91 |
return ((FLayers) parent).getLayer(index); |
|
95 |
|
|
96 |
int count = 0; |
|
97 |
for (int i = 0; i < ((FLayers) parent).getLayersCount(); i++) { |
|
98 |
FLayer layer = ((FLayers) parent).getLayer(i); |
|
99 |
try { |
|
100 |
if(index == count){ |
|
101 |
return layer; |
|
102 |
} |
|
103 |
if (!(layer instanceof FLayers)) { |
|
104 |
this.datafilter.layer = layer; |
|
105 |
if (BooleanUtils.isTrue((Boolean) this.filter.evaluate(this.datafilter))) { |
|
106 |
count++; |
|
107 |
} |
|
108 |
} else { |
|
109 |
count++; |
|
110 |
} |
|
111 |
} catch (Exception ex) { |
|
112 |
LOGGER.debug("Can't process layer", ex); |
|
113 |
// Do nothing, skyp this layer on error. |
|
114 |
} |
|
115 |
} |
|
116 |
|
|
117 |
return null; |
|
92 | 118 |
} |
93 | 119 |
|
94 | 120 |
@Override |
... | ... | |
108 | 134 |
if (BooleanUtils.isTrue((Boolean) this.filter.evaluate(this.datafilter))) { |
109 | 135 |
count++; |
110 | 136 |
} |
137 |
} else { |
|
138 |
count++; |
|
111 | 139 |
} |
112 | 140 |
} catch (Exception ex) { |
141 |
LOGGER.debug("Can't process layer", ex); |
|
113 | 142 |
// Do nothing, skyp this layer on error. |
114 | 143 |
} |
115 | 144 |
} |
Also available in: Unified diff