annotate flys-client/src/main/java/de/intevation/flys/client/shared/model/FixAnalysisArtifact.java @ 2884:88bca9f735c0

Implemented filter for fix analysis helper widgets. flys-client/trunk@4567 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 01 Jun 2012 10:27:14 +0000
parents f0191dedee49
children 6ab6025cef20
rev   line source
2541
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.shared.model;
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 import java.util.List;
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
4 import java.lang.NumberFormatException;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
5 import com.google.gwt.core.client.GWT;
2541
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
7 import de.intevation.flys.client.client.ui.fixation.FixationPanel;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
8 import de.intevation.flys.client.client.ui.fixation.FixationPanel.FixFilter;
2541
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 /**
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 * The Fixanalysis implementation of an Artifact.
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 *
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 */
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 public class FixAnalysisArtifact extends DefaultArtifact {
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 /** The name of this artifact: 'minfo'.*/
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18 public static final String NAME = "fixanalysis";
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
20 protected FixationPanel.FixFilter filter;
2541
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 public FixAnalysisArtifact() {
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
23 this.filter = null;
2541
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 }
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 public FixAnalysisArtifact(String uuid, String hash) {
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 super(uuid, hash);
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
29 this.filter = null;
2541
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 }
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 public FixAnalysisArtifact(
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 String uuid,
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 String hash,
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 boolean inBackground,
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 List<CalculationMessage> messages
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 ) {
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 super(uuid, hash, inBackground, messages);
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 }
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 public String getName() {
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 return NAME;
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 }
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
46
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
47
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
48 public FixationPanel.FixFilter getFilter () {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
49 return createFilter();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
50 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
51
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
52
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
53 protected FixFilter createFilter() {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
54 if (this.filter == null) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
55 this.filter = new FixFilter();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
56 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
57 DataList[] old = artifactDescription.getOldData();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
58 for (int i = 0; i < old.length; i++) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
59 DataList data = old[i];
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
60 List<Data> items = data.getAll();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
61 String state = data.getState();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
62 if (state.equals("state.fix.river")) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
63 Data d = getData(items, "river");
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
64 this.filter.setRiver(d.getItems()[0].getLabel());
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
65 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
66 if (state.equals("state.fix.location")) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
67 Data df = getData(items, "from");
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
68 Data dt = getData(items, "to");
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
69 try {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
70 String from = df.getItems()[0].getLabel();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
71 String to = dt.getItems()[0].getLabel();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
72 double fkm = Double.valueOf(from).doubleValue();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
73 double tkm = Double.valueOf(to).doubleValue();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
74 this.filter.setFromKm(fkm);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
75 this.filter.setToKm(tkm);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
76 if (fkm > filter.getCurrentKm()) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
77 this.filter.setCurrentKm(fkm);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
78 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
79 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
80 catch(NumberFormatException nfe) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
81 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
82 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
83 if (state.equals("state.fix.period")) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
84 Data ds = getData(items, "start");
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
85 Data de = getData(items, "end");
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
86 try {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
87 String start = ds.getItems()[0].getStringValue();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
88 String end = de.getItems()[0].getStringValue();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
89 long sp = Long.parseLong(start);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
90 long ep = Long.parseLong(end);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
91 this.filter.setFromDate(sp);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
92 this.filter.setToDate(ep);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
93 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
94 catch(NumberFormatException nfe) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
95 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
96 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
97 if (state.equals("state.fix.gaugerange")) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
98 Data gr1 = getData(items, "q1");
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
99 Data gr2 = getData(items, "q2");
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
100 try {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
101 String q1s = gr1.getItems()[0].getLabel();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
102 String q2s = gr2.getItems()[0].getLabel();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
103 int q1 = Integer.valueOf(q1s).intValue();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
104 int q2 = Integer.valueOf(q2s).intValue();
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
105 this.filter.setFromClass(q1);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
106 this.filter.setToClass(q2);
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
107 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
108 catch(NumberFormatException nfe) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
109 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
110 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
111 if(state.equals("state.fix.eventselect")) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
112 Data de = getData(items, "events");
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
113 IntegerArrayData iad = (IntegerArrayData) de;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
114 GWT.log(iad.getStringValue());
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
115 this.filter.setEvents(iad.getValues());
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
116 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
117 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
118 return this.filter;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
119 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
120
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
121 protected Data getData(List<Data> data, String name) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
122 for (Data d: data) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
123 if (name.equals(d.getLabel())) {
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
124 return d;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
125 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
126 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
127 return null;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
128 }
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
129
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2541
diff changeset
130
2541
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
131 }
f0191dedee49 Added fixanalysis artifact.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
132 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org