|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectDefaultIntegrityValidation
LinePolygonAbstractValidation
LineCoveredByPolygonValidation
public class LineCoveredByPolygonValidation
Ensure a LineString is contained by Polygon.
This is an integrity test in which we ensure that every LineString in a FeatureType is contained by a Polygon in a second FeatureType. This needs to be done as an Integrity Test to account for both the LineString and Polygon FeatureTypes being changed in the same Transaction. Further more the test will need to be run if either (or both) FeatureTypes are changed: a new line may be created outside of a polygon, or a polygon may be deleted leaving a line uncovered. If we a bit smarter about these relationship we could run this Validation Test only on LineString insert/modify or Polygon modify/delete but life is too short, and there is always another release.
To do this with any sense of efficiency we will need to take an initial run
through the Polygon FeatureSource
TODO: David Zweirs Read This! Talk to Justin or any of the JUMP experts who have experence in implementing JTS indexes. You can use the "layers" Map to store the generated index, or make up an API to do so as part of the ValidationProcessor. At the very least your index will last for the current validation "run" - which is all that can be expected. What really needs to be done is punt the index generation off to the database/DataStore anything else won't scale (don't you love GIS problems).
Field Summary |
---|
Fields inherited from interface Validation |
---|
ALL, PRIORITY_COMPLEX, PRIORITY_INVOLVED, PRIORITY_SIMPLE, PRIORITY_TRIVIAL |
Constructor Summary | |
---|---|
LineCoveredByPolygonValidation()
No argument constructor, required by the Java Bean Specification. |
Method Summary | |
---|---|
int |
getPriority()
The priority level used to schedule this Validation. |
boolean |
validate(Map layers,
Envelope envelope,
ValidationResults results)
Check that lineTypeRef is convered by polygonTypeRef. |
Methods inherited from class LinePolygonAbstractValidation |
---|
getLineTypeRef, getRestrictedPolygonTypeRef, getTypeRefs, setLineTypeRef, setRestrictedPolygonTypeRef |
Methods inherited from class DefaultIntegrityValidation |
---|
getDescription, getName, setDescription, setName, validate |
Methods inherited from class Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LineCoveredByPolygonValidation()
Method Detail |
---|
public boolean validate(Map layers, Envelope envelope, ValidationResults results) throws Exception
Detailed description...
layers
- Map of FeatureSourceenvelope
- The bounding box that encloses the unvalidated dataresults
- Used to coallate results information
true
if all the features pass this test.
Exception
- DOCUMENT ME!public int getPriority()
getPriority
in interface Validation
getPriority
in class DefaultIntegrityValidation
Validation.getPriority()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |