comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java @ 1157:a470b7c3b165

Write status messages and progress information of WSPLGEN Calculations into Artifact's DESCRIBE document. flys-artifacts/trunk@2689 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 09 Sep 2011 15:03:00 +0000
parents 854c2f7da3f1
children a7def20539fb
comparison
equal deleted inserted replaced
1156:4da9f058fed6 1157:a470b7c3b165
12 import de.intevation.artifactdatabase.state.StateEngine; 12 import de.intevation.artifactdatabase.state.StateEngine;
13 13
14 import de.intevation.artifactdatabase.transition.TransitionEngine; 14 import de.intevation.artifactdatabase.transition.TransitionEngine;
15 15
16 import de.intevation.artifacts.CallContext; 16 import de.intevation.artifacts.CallContext;
17 import de.intevation.artifacts.Message;
17 18
18 import de.intevation.artifacts.common.ArtifactNamespaceContext; 19 import de.intevation.artifacts.common.ArtifactNamespaceContext;
19 20
20 import de.intevation.artifacts.common.utils.XMLUtils; 21 import de.intevation.artifacts.common.utils.XMLUtils;
21 import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; 22 import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
51 import gnu.trove.TDoubleArrayList; 52 import gnu.trove.TDoubleArrayList;
52 53
53 import java.util.ArrayList; 54 import java.util.ArrayList;
54 import java.util.Arrays; 55 import java.util.Arrays;
55 import java.util.Collections; 56 import java.util.Collections;
57 import java.util.LinkedList;
56 import java.util.List; 58 import java.util.List;
57 import java.util.Map; 59 import java.util.Map;
58 60
59 import org.apache.log4j.Logger; 61 import org.apache.log4j.Logger;
60 62
61 import org.w3c.dom.Document; 63 import org.w3c.dom.Document;
62 import org.w3c.dom.Element; 64 import org.w3c.dom.Element;
63 import org.w3c.dom.Node; 65 import org.w3c.dom.Node;
64 66
65 import de.intevation.flys.artifacts.charts.CrossSectionApp; 67 import de.intevation.flys.artifacts.charts.CrossSectionApp;
68 import de.intevation.flys.artifacts.model.CalculationMessage;
66 69
67 /** 70 /**
68 * The default WINFO artifact. 71 * The default WINFO artifact.
69 * 72 *
70 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 73 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
190 ElementCreator cr, 193 ElementCreator cr,
191 Element root, 194 Element root,
192 CallContext context 195 CallContext context
193 ) { 196 ) {
194 Element inBackground = cr.create("background-processing"); 197 Element inBackground = cr.create("background-processing");
198 root.appendChild(inBackground);
195 199
196 cr.addAttr( 200 cr.addAttr(
197 inBackground, 201 inBackground,
198 "value", 202 "value",
199 String.valueOf(context.isInBackground()), 203 String.valueOf(context.isInBackground()),
200 true); 204 true);
201 205
202 root.appendChild(inBackground); 206 LinkedList<Message> messages = context.getBackgroundMessages();
207
208 if (messages == null) {
209 return;
210 }
211
212 CalculationMessage message = (CalculationMessage) messages.getLast();
213 cr.addAttr(
214 inBackground,
215 "steps",
216 String.valueOf(message.getSteps()),
217 true);
218
219 cr.addAttr(
220 inBackground,
221 "currentStep",
222 String.valueOf(message.getCurrentStep()),
223 true);
224
225 inBackground.setTextContent(message.getMessage());
203 } 226 }
204 227
205 228
206 protected void appendOutputModes( 229 protected void appendOutputModes(
207 Document doc, 230 Document doc,

http://dive4elements.wald.intevation.org