felix@2131: package de.intevation.flys.artifacts.states; felix@2131: felix@2131: import java.util.List; felix@2131: felix@2131: import org.apache.log4j.Logger; felix@2131: felix@2131: import de.intevation.artifacts.CallContext; felix@2131: import de.intevation.artifacts.CallMeta; felix@2131: felix@2131: import de.intevation.artifactdatabase.state.Facet; felix@2131: felix@2131: import de.intevation.flys.artifacts.FLYSArtifact; felix@2131: import de.intevation.flys.artifacts.HYKArtifact; felix@2131: felix@2131: import de.intevation.flys.artifacts.model.FacetTypes; felix@2131: import de.intevation.flys.artifacts.model.HYKFacet; felix@2131: import de.intevation.flys.artifacts.model.HYKFactory; felix@2131: felix@2131: import de.intevation.flys.utils.FLYSUtils; felix@2131: felix@2131: felix@2131: /** felix@2131: * Only state of a HYKArtifact. felix@2131: */ felix@2131: public class StaticHYKState felix@2131: extends DefaultState felix@2131: implements FacetTypes felix@2131: { felix@2131: /** The logger that is used in this state. */ felix@2139: transient private static final Logger logger = Logger.getLogger(StaticHYKState.class); felix@2131: felix@2131: felix@2131: /** felix@2131: * From this state can not be continued. felix@2131: */ felix@2131: @Override felix@2131: protected String getUIProvider() { felix@2131: return "noinput"; felix@2131: } felix@2131: felix@2131: felix@2131: /** felix@2131: * Compute, create Facets, do the same stuff as all the other states do. felix@2131: */ felix@2131: protected Object compute( felix@2131: HYKArtifact hyk, felix@2131: CallMeta metaLocale, felix@2131: String hash, felix@2131: List facets, felix@2131: Object old felix@2131: ) { felix@2131: logger.debug("StaticHYKState.compute"); felix@2131: String id = getID(); felix@2131: felix@2131: // TODO caching! felix@2131: felix@2131: /* felix@2131: WQKms res = old instanceof WQKms felix@2131: ? (WQKms)old felix@2131: : winfo.getWQKms(); felix@2131: felix@2131: WQKms wqkms = res; felix@2131: */ felix@2131: felix@2131: // List res; felix@2131: Object res = null; felix@2131: felix@2131: // Compare against cached objects. felix@2131: felix@2131: // Need river id and km. felix@2131: List zones = (List) felix@2139: HYKFactory.getHYKs(hyk.getHykId(), hyk.getKm()); felix@2131: felix@2131: if (facets == null) { felix@2131: logger.debug("StaticHYKState.compute no facets"); felix@2131: return zones; felix@2131: } felix@2131: felix@2139: Facet facet = new HYKFacet(0, HYKFactory.getHykName(hyk.getHykId())); felix@2131: felix@2131: facets.add(facet); felix@2131: felix@2131: return zones; felix@2131: } felix@2131: felix@2131: felix@2131: /** felix@2131: * Get data, create the facets. felix@2131: * felix@2131: * @param context Ignored. felix@2131: */ felix@2131: @Override felix@2131: public Object computeFeed( felix@2131: FLYSArtifact artifact, felix@2131: String hash, felix@2131: CallContext context, felix@2131: List facets, felix@2131: Object old felix@2131: ) { felix@2131: return compute((HYKArtifact) artifact, context.getMeta(), felix@2131: hash, facets, old); felix@2131: } felix@2131: felix@2131: felix@2131: /** felix@2131: * Create the facets. felix@2131: * @param context Ignored. felix@2131: */ felix@2131: @Override felix@2131: public Object computeInit( felix@2131: FLYSArtifact artifact, felix@2131: String hash, felix@2131: Object context, felix@2131: CallMeta meta, felix@2131: List facets felix@2131: ) { felix@2131: return compute((HYKArtifact) artifact, meta, hash, facets, felix@2131: null); felix@2131: } felix@2131: } felix@2131: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :