Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java @ 3468:f37e7e8907cb
merged flys-artifacts/2.8.1
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:39 +0200 |
parents | eb1a676c0d6e |
children |
comparison
equal
deleted
inserted
replaced
3387:5ffad8bde8ad | 3468:f37e7e8907cb |
---|---|
1 package de.intevation.flys.artifacts.states; | |
2 | |
3 import java.util.List; | |
4 | |
5 import org.apache.log4j.Logger; | |
6 | |
7 import de.intevation.artifacts.CallContext; | |
8 import de.intevation.artifacts.CallMeta; | |
9 | |
10 import de.intevation.artifactdatabase.state.Facet; | |
11 | |
12 import de.intevation.flys.artifacts.FLYSArtifact; | |
13 import de.intevation.flys.artifacts.HYKArtifact; | |
14 | |
15 import de.intevation.flys.artifacts.model.FacetTypes; | |
16 import de.intevation.flys.artifacts.model.HYKFacet; | |
17 import de.intevation.flys.artifacts.model.HYKFactory; | |
18 | |
19 /** | |
20 * Only state of a HYKArtifact. | |
21 */ | |
22 public class StaticHYKState | |
23 extends DefaultState | |
24 implements FacetTypes | |
25 { | |
26 /** The logger that is used in this state. */ | |
27 transient private static final Logger logger = Logger.getLogger(StaticHYKState.class); | |
28 | |
29 | |
30 /** | |
31 * From this state can not be continued. | |
32 */ | |
33 @Override | |
34 protected String getUIProvider() { | |
35 return "noinput"; | |
36 } | |
37 | |
38 | |
39 /** | |
40 * Compute, create Facets, do the same stuff as all the other states do. | |
41 */ | |
42 protected Object compute( | |
43 HYKArtifact hyk, | |
44 CallMeta metaLocale, | |
45 String hash, | |
46 List<Facet> facets, | |
47 Object old | |
48 ) { | |
49 logger.debug("StaticHYKState.compute"); | |
50 String id = getID(); | |
51 | |
52 // Prepare comparison against cached result. | |
53 List<HYKFactory.Zone> resZones = old instanceof List | |
54 ? (List<HYKFactory.Zone>)old | |
55 : null; | |
56 | |
57 // TODO Compare against cached object. | |
58 | |
59 // Get Zones from HYKFactory | |
60 List<HYKFactory.Zone> zones = (List<HYKFactory.Zone>) | |
61 HYKFactory.getHYKs(hyk.getHykId(), hyk.getKm()); | |
62 | |
63 if (facets == null) { | |
64 logger.debug("StaticHYKState.compute no facets"); | |
65 return zones; | |
66 } | |
67 | |
68 // Spawn Facets. | |
69 Facet facet = new HYKFacet(0, HYKFactory.getHykName(hyk.getHykId())); | |
70 facets.add(facet); | |
71 | |
72 return zones; | |
73 } | |
74 | |
75 | |
76 /** | |
77 * Get data, create the facets. | |
78 * | |
79 * @param context Ignored. | |
80 */ | |
81 @Override | |
82 public Object computeFeed( | |
83 FLYSArtifact artifact, | |
84 String hash, | |
85 CallContext context, | |
86 List<Facet> facets, | |
87 Object old | |
88 ) { | |
89 return compute((HYKArtifact) artifact, context.getMeta(), | |
90 hash, facets, old); | |
91 } | |
92 | |
93 | |
94 /** | |
95 * Create the facets. | |
96 * @param context Ignored. | |
97 */ | |
98 @Override | |
99 public Object computeInit( | |
100 FLYSArtifact artifact, | |
101 String hash, | |
102 Object context, | |
103 CallMeta meta, | |
104 List<Facet> facets | |
105 ) { | |
106 return compute((HYKArtifact) artifact, meta, hash, facets, | |
107 null); | |
108 } | |
109 } | |
110 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |