# HG changeset patch # User Raimund Renkert # Date 1346412212 0 # Node ID 7467b091fb8eb2018f42b69d62d1bd0ac8bc93ae # Parent 096598c3bd30101cc1934ad6a83048cebb012a0c Refactored location/distance state to use FLYSArtifact instead of WINFOArtifact. flys-artifacts/trunk@5327 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 096598c3bd30 -r 7467b091fb8e flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Fri Aug 31 11:11:17 2012 +0000 +++ b/flys-artifacts/ChangeLog Fri Aug 31 11:23:32 2012 +0000 @@ -1,3 +1,8 @@ +2012-08-31 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: + Refactored state to use FLYSArtifact instead of WINFOArtifact. + 2012-08-31 Felix Wolfsteller Fix issue817 (double datacage entries). diff -r 096598c3bd30 -r 7467b091fb8e flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java Fri Aug 31 11:11:17 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java Fri Aug 31 11:23:32 2012 +0000 @@ -8,6 +8,7 @@ import de.intevation.artifactdatabase.data.StateData; +import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; @@ -48,18 +49,22 @@ { logger.debug("LocationDistanceSelect.validate"); - WINFOArtifact flys = (WINFOArtifact) artifact; - - if (flys.isRange()) { - return super.validate(flys); + FLYSArtifact flys = (FLYSArtifact)artifact; + StateData mode = getData(flys, MODE); + String mValue = mode != null ? (String)mode.getValue() : null; + if (mValue != null) { + if (mValue.equals("distance")) { + return super.validate(flys); + } + else { + return validateLocations(flys); + } } - else { - return validateLocations(flys); - } + return false; } - protected boolean validateLocations(WINFOArtifact flys) + protected boolean validateLocations(FLYSArtifact flys) throws IllegalArgumentException { StateData dValues = getData(flys, LOCATIONS);