Revision 18065 trunk/libraries/libTopology/src/org/gvsig/topology/Topology.java

View differences:

Topology.java
94 94
 * @author azabala
95 95
 *
96 96
 */
97
public class Topology extends FLayers implements ITopologyStatus, ITopologyErrorContainer {
97
public class Topology extends FLayers implements ITopologyStatus, ITopologyErrorContainer, Cloneable {
98 98

  
99 99
	private static Logger logger = Logger.getLogger(Topology.class.getName());
100 100
		
......
1247 1247
		this.errorContainer.removeErrorsByRule(ruleName);
1248 1248
	}
1249 1249
	
1250
	public void setRules(List<ITopologyRule> rules){
1251
		this.rules = rules;
1252
	}
1253
	
1254
	public void setDirtyZones(List<Rectangle2D> dirtyZones){
1255
		this.dirtyZones = dirtyZones;
1256
	}
1257
	
1258
	public void setStatusListeners(List<ITopologyStatusListener> statusListeners){
1259
		this.statusListeners = statusListeners;
1260
	}
1261
	
1262
	public void setLayerRanks(Map<FLyrVect, XYZLayerRank> layerRanks){
1263
		this.layerRanks = layerRanks;
1264
	}
1265
	
1266
	public Object clone(){
1267
		Topology newTopology = new Topology(super.getMapContext(), super.getParentLayer());
1268
		newTopology.setName(this.name);
1269
		newTopology.ruleId = ruleId;
1270
		newTopology.setStatus(status);
1271
		newTopology.setMaxNumberOfErrors(maxNumberOfErrors);
1272
		newTopology.setRules(rules)	;
1273
		newTopology.setDirtyZones(dirtyZones);
1274
		newTopology.setStatusListeners(statusListeners);
1275
		newTopology.setLayerRanks(layerRanks);
1276
		newTopology.layers = new ArrayList();
1277
		for(int i = 0; i < layers.size(); i++){
1278
			newTopology.addLayer((FLayer) layers.get(i));
1279
		}
1280
		newTopology.setErrorContainer((ITopologyErrorContainer) errorContainer.clone());
1281
		return newTopology;
1282
	}
1283
	
1250 1284
	public static void copyProperties(Topology from, Topology to){
1251
		to.name = from.name;
1285
		to.setName(from.name);
1252 1286
		to.ruleId = from.ruleId;
1253
		to.status = from.status;
1254
		to.maxNumberOfErrors = from.maxNumberOfErrors;
1255
		to.rules = from.rules;	
1256
		to.dirtyZones = from.dirtyZones;
1257
		to.errorContainer = from.errorContainer;
1258
		to.statusListeners = from.statusListeners;
1259
		to.layerRanks = from.layerRanks;
1287
		to.setStatus(from.status);
1288
		to.setMaxNumberOfErrors(from.maxNumberOfErrors);
1289
		to.setRules(from.rules)	;
1290
		to.setDirtyZones(from.dirtyZones);
1291
		to.setErrorContainer(from.errorContainer);
1292
		to.setStatusListeners(from.statusListeners);
1293
		to.setLayerRanks(from.layerRanks);
1260 1294
		
1261 1295
		List layers = from.layers;
1262 1296
		to.layers = new ArrayList();
......
1264 1298
			to.addLayer((FLayer) layers.get(i));
1265 1299
		}
1266 1300
		
1267
		to.layers = from.layers;
1301
//		to.layers = from.layers;
1268 1302
	}
1269 1303

  
1270 1304
}

Also available in: Unified diff