teichmann@5835: package org.dive4elements.river.client.shared.model; raimund@2541: raimund@2541: import java.util.List; raimund@2541: raimund@2906: import com.google.gwt.core.client.GWT; raimund@2906: raimund@2541: raimund@2541: /** felix@4309: * The Fixanalysis implementation of an Artifact (client side). raimund@2541: * raimund@2541: * @author Raimund Renkert raimund@2541: */ raimund@2541: public class FixAnalysisArtifact extends DefaultArtifact { raimund@2541: felix@3381: /** The name of this artifact: 'fixanalysis'.*/ raimund@2541: public static final String NAME = "fixanalysis"; raimund@2541: ingo@2962: protected FixFilter filter; raimund@2541: felix@4309: raimund@2541: public FixAnalysisArtifact() { raimund@2884: this.filter = null; raimund@2541: } raimund@2541: raimund@2541: raimund@2541: public FixAnalysisArtifact(String uuid, String hash) { raimund@2541: super(uuid, hash); raimund@2884: this.filter = null; raimund@2541: } raimund@2541: raimund@2541: raimund@2541: public FixAnalysisArtifact( raimund@2541: String uuid, raimund@2541: String hash, raimund@2541: boolean inBackground, raimund@2541: List messages raimund@2541: ) { raimund@2541: super(uuid, hash, inBackground, messages); raimund@2541: } raimund@2541: raimund@2541: raimund@2541: public String getName() { raimund@2541: return NAME; raimund@2541: } raimund@2884: raimund@2884: ingo@2962: public FixFilter getFilter () { raimund@2884: return createFilter(); raimund@2884: } raimund@2884: raimund@2884: raimund@2884: protected FixFilter createFilter() { raimund@2884: if (this.filter == null) { raimund@2884: this.filter = new FixFilter(); raimund@2884: } raimund@2884: DataList[] old = artifactDescription.getOldData(); raimund@2906: raimund@2906: String river = artifactDescription.getDataValueAsString("river"); raimund@2906: if (river != null) { raimund@2906: this.filter.setRiver(river); raimund@2906: } raimund@2906: rrenkert@4866: String from = artifactDescription.getDataValueAsString("ld_from"); raimund@2906: if (from != null) { raimund@2906: try { sascha@3368: double fkm = Double.parseDouble(from); raimund@2906: this.filter.setFromKm(fkm); raimund@2884: } raimund@2906: catch(NumberFormatException nfe) { raimund@2906: GWT.log("Could not parse from km."); raimund@2884: } raimund@2906: } raimund@2906: rrenkert@4866: String to = artifactDescription.getDataValueAsString("ld_to"); raimund@2906: if (to != null) { raimund@2906: try { sascha@3368: double tkm = Double.parseDouble(to); raimund@2906: this.filter.setToKm(tkm); raimund@2884: } raimund@2906: catch(NumberFormatException nfe) { raimund@2906: GWT.log("Could not parse to km"); raimund@2906: } raimund@2906: } raimund@2906: raimund@2906: String start = artifactDescription.getDataValueAsString("start"); raimund@2906: if (start != null) { raimund@2906: try { raimund@2906: long s = Long.parseLong(start); raimund@2906: this.filter.setFromDate(s); raimund@2906: } raimund@2906: catch(NumberFormatException nfe) { raimund@2906: GWT.log("Could not parse start date"); raimund@2906: } raimund@2906: } raimund@2906: raimund@2906: String end = artifactDescription.getDataValueAsString("end"); raimund@2906: if (end != null) { raimund@2906: try { raimund@2906: long e = Long.parseLong(end); raimund@2906: this.filter.setToDate(e); raimund@2906: } raimund@2906: catch(NumberFormatException nfe) { raimund@2906: GWT.log("Could not parse end date"); raimund@2906: } raimund@2906: } raimund@2906: raimund@2906: String q1 = artifactDescription.getDataValueAsString("q1"); raimund@2906: if (q1 != null) { raimund@2906: try { sascha@3368: int q1i = Integer.parseInt(q1); raimund@2906: this.filter.setFromClass(q1i); raimund@2906: } raimund@2906: catch(NumberFormatException nfe) { raimund@2906: GWT.log("Could not parse start class"); raimund@2906: } raimund@2906: } raimund@2906: raimund@2906: String q2 = artifactDescription.getDataValueAsString("q2"); raimund@2906: if (q2 != null) { raimund@2906: try { sascha@3368: int q2i = Integer.parseInt(q2); raimund@2906: this.filter.setToClass(q2i); raimund@2906: } raimund@2906: catch(NumberFormatException nfe) { raimund@2906: GWT.log("could not parse end class"); raimund@2906: } raimund@2906: } raimund@2906: raimund@2906: for (DataList list: old) { raimund@2906: List items = list.getAll(); raimund@2906: String state = list.getState(); raimund@2884: if(state.equals("state.fix.eventselect")) { raimund@2884: Data de = getData(items, "events"); raimund@2884: IntegerArrayData iad = (IntegerArrayData) de; raimund@2884: this.filter.setEvents(iad.getValues()); raimund@2884: } raimund@2884: } raimund@2906: raimund@2884: return this.filter; raimund@2884: } raimund@2884: raimund@2884: protected Data getData(List data, String name) { raimund@2884: for (Data d: data) { raimund@2884: if (name.equals(d.getLabel())) { raimund@2884: return d; raimund@2884: } raimund@2884: } raimund@2884: return null; raimund@2884: } raimund@2541: } raimund@2541: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :