Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java @ 3466:8160e62bbb3a
Registered new output 'fix_vollmer_wq_curve' for the vollmer path of fixings analysis module; create required Facets for it after calculation.
flys-artifacts/trunk@5137 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 26 Jul 2012 11:47:04 +0000 |
parents | e3c7a3228bc2 |
children | e727e3ebdf85 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java Thu Jul 26 10:09:06 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java Thu Jul 26 11:47:04 2012 +0000 @@ -1,22 +1,16 @@ package de.intevation.flys.artifacts.model.fixings; +import org.apache.log4j.Logger; + import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; - import de.intevation.flys.artifacts.FLYSArtifact; - -import de.intevation.flys.artifacts.access.FixAnalysisAccess; - import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.model.DataFacet; import de.intevation.flys.artifacts.model.FacetTypes; - import de.intevation.flys.artifacts.states.DefaultState.ComputeType; - import de.intevation.flys.utils.KMIndex; -import org.apache.log4j.Logger; - /** * Facet to show the outliers in a fix calculation. * @@ -49,10 +43,11 @@ /** * Returns the data this facet requires. * - * @param artifact the owner artifact. - * @param context the CallContext (ignored). + * @param artifact the owner artifact; needs to be a FLYSArtifact. + * @param context the CallContext; required to retrieve the value of + * <i>currentKm</i>. * - * @return the data. + * @return an array of QW objects or null. */ @Override public Object getData(Artifact artifact, CallContext context) { @@ -60,28 +55,34 @@ if (artifact instanceof FLYSArtifact) { FLYSArtifact flys = (FLYSArtifact)artifact; - FixAnalysisAccess access = new FixAnalysisAccess(flys); CalculationResult res = (CalculationResult) flys.compute(context, ComputeType.ADVANCE, false); - FixAnalysisResult result = (FixAnalysisResult) res.getData(); + FixResult result = (FixResult) res.getData(); double currentKm = ((Double)context.getContextValue("currentKm")).doubleValue(); - KMIndex<QW []> kmQWs = result.getOutliers(); + KMIndex<QW []> kmQWs = result.getOutliers(); + KMIndex.Entry<QW []> qwsEntry = kmQWs.binarySearch(currentKm); - KMIndex.Entry<QW []> qwsEntry = kmQWs.binarySearch(currentKm); QW[] qws = null; if(qwsEntry != null) { qws = qwsEntry.getValue(); + + logger.debug("Found " + (qws != null ? qws.length : 0) + + " KMIndex.Entry for km " + currentKm); } + else { + logger.debug("Found no KMIndex.Entry for km " + currentKm); + } + return qws; } else { - logger.debug("Not an instance of FixationArtifact."); + logger.warn("Not an instance of FLYSArtifact."); return null; } }