Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation.java @ 999:b0218f21c664
Wire datacage with backend of artifact database.
flys-artifacts/trunk@2438 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 01 Aug 2011 14:58:15 +0000 |
parents | c09c9e05ecfa |
children | 2898b1ff6013 |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import org.w3c.dom.Document; import org.w3c.dom.Element; import java.util.List; import java.util.ArrayList; import java.io.Serializable; import de.intevation.artifacts.CallMeta; public class Calculation implements Serializable { public static class Problem implements Serializable { protected Double km; protected String msg; public Problem() { } public Problem(String msg) { this.msg = msg; } public Problem(double km, String msg) { this.km = km; this.msg = msg; } public Element toXML(Document document, CallMeta meta) { // TODO: i18n Element problem = document.createElement("problem"); if (km != null) { problem.setAttribute("km", String.valueOf(km)); } problem.setTextContent(msg); return problem; } } // class Problem protected List<Problem> problems; public Calculation() { } public Calculation(String msg) { addProblem(msg); } protected List<Problem> checkProblems() { if (problems == null) { problems = new ArrayList<Problem>(); } return problems; } public void addProblem(String msg) { checkProblems().add(new Problem(msg)); } public void addProblem(double km, String msg) { checkProblems().add(new Problem(km, msg)); } public boolean hasProblems() { return problems != null && !problems.isEmpty(); } public int numProblems() { return problems != null ? problems.size() : 0; } public List<Problem> getProblems() { return problems; } public void toXML(Document document, CallMeta meta) { Element root = document.createElement("problems"); if (hasProblems()) { for (Problem problem: problems) { root.appendChild(problem.toXML(document, meta)); } } document.appendChild(root); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :