Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java @ 3035:b388d888330d
Implemented facets and splitted up the event facet.Implemented facets and splitted up the event facet.
flys-artifacts/trunk@4604 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 06 Jun 2012 11:35:32 +0000 |
parents | 77b5f5a26700 |
children | 22da13d1b180 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java Wed Jun 06 10:26:28 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java Wed Jun 06 11:35:32 2012 +0000 @@ -5,9 +5,14 @@ import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; +import de.intevation.flys.utils.KMIndex; + import de.intevation.flys.artifacts.FLYSArtifact; +import de.intevation.flys.artifacts.FixationArtifactAccess; + import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.DataFacet; +import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.states.DefaultState.ComputeType; @@ -48,7 +53,31 @@ @Override public Object getData(Artifact artifact, CallContext context) { logger.debug("FixOutlierFacet.getData"); - return null; + + if (artifact instanceof FLYSArtifact) { + FLYSArtifact flys = (FLYSArtifact)artifact; + FixationArtifactAccess access = new FixationArtifactAccess(flys); + + CalculationResult res = + (CalculationResult) flys.compute(context, + ComputeType.ADVANCE, + false); + + FixResult result = (FixResult) res.getData(); + + double km = access.getCurrentKm(); + KMIndex<QW []> kmQWs = result.getOutliers(); + + QW[] qws = kmQWs.binarySearch(km).getValue(); + if (qws == null) { + return null; + } + return qws; + } + else { + logger.debug("Not an instance of FixationArtifact."); + return null; + } }