Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java @ 697:b972eba2ed8a facets-slt
Removed ComputeCallback because this was thought too complicated. Fixed issue with facets not be re-generated if same state is entered again.
flys-artifacts/branches/facets-slt@2143 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 17 Jun 2011 10:40:54 +0000 |
parents | 708b270dfd30 |
children | af3b5d9e91a4 |
comparison
equal
deleted
inserted
replaced
696:708b270dfd30 | 697:b972eba2ed8a |
---|---|
13 | 13 |
14 import de.intevation.artifactdatabase.state.Facet; | 14 import de.intevation.artifactdatabase.state.Facet; |
15 | 15 |
16 import de.intevation.flys.artifacts.FLYSArtifact; | 16 import de.intevation.flys.artifacts.FLYSArtifact; |
17 import de.intevation.flys.artifacts.WINFOArtifact; | 17 import de.intevation.flys.artifacts.WINFOArtifact; |
18 import de.intevation.flys.artifacts.model.ComputeCallback; | |
19 import de.intevation.flys.artifacts.model.ComputeCallbackAdapter; | |
20 import de.intevation.flys.artifacts.model.FacetTypes; | 18 import de.intevation.flys.artifacts.model.FacetTypes; |
21 import de.intevation.flys.artifacts.model.WaterlevelFacet; | 19 import de.intevation.flys.artifacts.model.WaterlevelFacet; |
22 import de.intevation.flys.artifacts.model.WQKms; | 20 import de.intevation.flys.artifacts.model.WQKms; |
23 | 21 |
24 | 22 |
40 return null; | 38 return null; |
41 } | 39 } |
42 | 40 |
43 | 41 |
44 @Override | 42 @Override |
45 public ComputeCallback createComputeCallback( | 43 public Object computeAdvance( |
46 String hash, FLYSArtifact flys) | 44 FLYSArtifact artifact, |
47 { | 45 String hash, |
48 logger.debug("Create waterlevel ComputeCallback."); | 46 CallContext context, |
47 List<Facet> facets, | |
48 Object old | |
49 ) { | |
50 WINFOArtifact winfo = (WINFOArtifact)artifact; | |
49 | 51 |
50 final WINFOArtifact winfo = (WINFOArtifact) flys; | 52 WQKms [] res; |
51 | 53 |
52 return new ComputeCallbackAdapter() { | 54 if (old instanceof WQKms []) { |
55 res = (WQKms [])old; | |
56 } | |
57 else { | |
58 res = winfo.getWaterlevelData(); | |
59 if (res == null) { | |
60 logger.debug("No results given."); | |
61 return null; | |
62 } | |
63 } | |
53 | 64 |
54 @Override | 65 for (int i = 0; i < res.length; i++) { |
55 public Object computeAdvance( | 66 String nameW = null; |
56 CallContext context, | 67 String nameQ = null; |
57 List<Facet> facets) | |
58 { | |
59 WQKms[] res = winfo.getWaterlevelData(); | |
60 | 68 |
61 if (res == null) { | 69 if (winfo.isQ()) { |
62 logger.debug("No results given."); | 70 nameQ = res[i].getName(); |
63 return null; | 71 nameW = "W(" + nameQ + ")"; |
64 } | 72 } |
73 else { | |
74 nameW = res[i].getName(); | |
75 nameQ = "Q(" + nameQ + ")"; | |
76 } | |
65 | 77 |
66 for (int i = 0; i < res.length; i++) { | 78 logger.debug("Create facet: " + nameW); |
67 String nameW = null; | 79 logger.debug("Create facet: " + nameQ); |
68 String nameQ = null; | |
69 | 80 |
70 if (winfo.isQ()) { | 81 Facet w = new WaterlevelFacet(i, LONGITUDINAL_W, nameW); |
71 nameQ = res[i].getName(); | 82 Facet q = new WaterlevelFacet(i, LONGITUDINAL_Q, nameQ); |
72 nameW = "W(" + nameQ + ")"; | |
73 } | |
74 else { | |
75 nameW = res[i].getName(); | |
76 nameQ = "Q(" + nameQ + ")"; | |
77 } | |
78 | 83 |
79 logger.debug("Create facet: " + nameW); | 84 facets.add(w); |
80 logger.debug("Create facet: " + nameQ); | 85 facets.add(q); |
86 } | |
81 | 87 |
82 Facet w = new WaterlevelFacet(i, LONGITUDINAL_W, nameW); | 88 return res; |
83 Facet q = new WaterlevelFacet(i, LONGITUDINAL_Q, nameQ); | |
84 | |
85 facets.add(w); | |
86 facets.add(q); | |
87 } | |
88 | |
89 return res; | |
90 } | |
91 }; | |
92 } | 89 } |
93 } | 90 } |
94 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : | 91 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |