Revision 18995 trunk/libraries/libTopology/src/org/gvsig/topology/topologyrules/jtsisvalidrules/MultiPolygonMustNotHaveNestedShells.java

View differences:

MultiPolygonMustNotHaveNestedShells.java
54 54
import org.gvsig.topology.Topology;
55 55
import org.gvsig.topology.TopologyError;
56 56
import org.gvsig.topology.TopologyRuleDefinitionException;
57
import org.gvsig.topology.topologyrules.JtsValidRule;
57 58

  
58 59
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
59 60
import com.iver.cit.gvsig.fmap.core.FPoint2D;
......
73 74

  
74 75
public class MultiPolygonMustNotHaveNestedShells extends AbstractTopologyRule {
75 76

  
77
	JtsValidRule parentRule;
78
	
79
	public JtsValidRule getParentRule() {
80
		return parentRule;
81
	}
82

  
83
	public void setParentRule(JtsValidRule parentRule) {
84
		this.parentRule = parentRule;
85
	}
86

  
76 87
	public MultiPolygonMustNotHaveNestedShells(Topology topology,
77 88
			FLyrVect originLyr) {
78 89
		super(topology, originLyr);
......
144 155
		if (p.getNumInteriorRing() <= 0) {
145 156
			FPoint2D point = new FPoint2D(shellPt.x, shellPt.y);
146 157
			IGeometry errorGeometry = ShapeFactory.createGeometry(point);
158
			AbstractTopologyRule violatedRule = null;
159
			if(this.parentRule != null)
160
				violatedRule = parentRule;
161
			else
162
				violatedRule = this;
147 163
			TopologyError topologyError = 
148
				new TopologyError(errorGeometry,this, feature, topology);
164
				new TopologyError(errorGeometry,violatedRule, feature, topology);
149 165
			addTopologyError(topologyError);
150 166
		}
151 167

  
......
164 180
		}
165 181
		FPoint2D point = new FPoint2D(badNestedPt.x, badNestedPt.y);
166 182
		IGeometry errorGeometry = ShapeFactory.createGeometry(point);
183
		AbstractTopologyRule violatedRule = null;
184
		if(this.parentRule != null)
185
			violatedRule = parentRule;
186
		else
187
			violatedRule = this;
167 188
		TopologyError error = 
168
			new TopologyError(errorGeometry, this, feature, topology);
189
			new TopologyError(errorGeometry, violatedRule, feature, topology);
169 190
		addTopologyError(error);
170 191
	}
171 192

  

Also available in: Unified diff