Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java @ 2002:98f3ef8da857
Register under a key on blackboard to meet assumptions by areaartifact.
flys-artifacts/trunk@3444 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 16 Dec 2011 14:08:22 +0000 |
parents | bf62cc7052d4 |
children | e384d78ff78b |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java Fri Dec 16 14:02:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java Fri Dec 16 14:08:22 2011 +0000 @@ -2,6 +2,7 @@ import org.apache.log4j.Logger; +import java.util.ArrayList; import java.util.List; import de.intevation.flys.model.CrossSectionLine; @@ -54,6 +55,36 @@ } + public List getDataProviderKeys(Artifact art) { + List list = new ArrayList(); + list.add(art.identifier() + getIndex()); + return list; + } + + + /** + * Can provide the master cross section lines or its index. + * @param artifact crosssection-artifact + * @param key will respond on BLACKBOARD_CS_MASTER_DATA + * @param param ignored + * @param context ignored + * @return data from artifact (cross section master track). + */ + public Object provideBlackboardData(Artifact artifact, + Object key, + Object param, + CallContext context + ) { + if (key.equals(artifact.identifier() + getIndex())) { + return getData(artifact, context); + } + else { + logger.warn("Cannot provide data for key: " + key); + return null; + } + } + + /** Do a deep copy. */ @Override public Facet deepCopy() {