Revision 1310 org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/roi/ROIFeatureManager.java

View differences:

ROIFeatureManager.java
117 117

  
118 118
		for (int i = 0; i < roiNameList.size(); i++) {
119 119
			String roiName = roiNameList.get(i);
120
			anythingCleared = anythingCleared || removeROI(roiName, layer, onlyRemoveFromLayer);
120
			anythingCleared = removeGraphics(layer, getROIId(roiName)) ? true : anythingCleared;
121
			if(onlyRemoveFromLayer)
122
				roiNameToFeatureList.remove(roiName);
121 123
		}
122 124

  
123 125
		return anythingCleared;
124 126
	}
125 127

  
126 128
	public boolean removeROI(String roiName, GraphicLayer layer) {
127
		return removeROI(roiName, layer, false);
128
	}
129

  
130
	private synchronized boolean removeROI(String roiName, GraphicLayer layer,
131
			boolean onlyRemoveFromLayer) {
132
		//String roiId = getROIId(roiName);
133
		//layer.removeGraphics(roiId);
134 129
		removeGraphics(layer, getROIId(roiName));
135
		synchronized (roiNameToFeatureList) {
136
			return onlyRemoveFromLayer ? true : roiNameToFeatureList.remove(roiName) != null;
137
		}
130
		return roiNameToFeatureList.remove(roiName) != null;
138 131
	}
139 132
	
140 133
	public void changeColor(GraphicLayer lyr, String roiName, Color color) {
......
170 163
		}
171 164
	}
172 165
	
173
	public void removeGraphics(GraphicLayer lyr, String prefix) {
166
	@SuppressWarnings("deprecation")
167
	public boolean removeGraphics(GraphicLayer lyr, String prefix) {
168
		boolean anythingCleared = false;
174 169
		DisposableIterator iterator = null;
175 170
		FeatureSet featureSet = null;
176 171
		FeatureStore store = lyr.getFeatureStore();
......
189 184
					//featureSet.delete(feature); //ConcurrentModificationException!!! Lo a?ado a una lista para eliminarlo posteriormente
190 185
				}
191 186
			}
187
			anythingCleared = list.size() > 0;
192 188
			for (int i = 0; i < list.size(); i++) {
193 189
				store.delete(list.get(i));
194 190
			}
......
204 200
				iterator.dispose();
205 201
			}
206 202
		}
203
		return anythingCleared;
207 204
	}
208

  
205
	
209 206
	public String getROIId(String roiName) {
210 207
		return getROIPrefix().concat(roiName);
211 208
	}

Also available in: Unified diff