comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/CalculationSelectSinfo.java @ 9191:f692f5a0536a

sinfo.collisions review
author gernotbelger
date Thu, 28 Jun 2018 15:57:40 +0200
parents e3519c3e7a0a
children
comparison
equal deleted inserted replaced
9190:0633f963c5be 9191:f692f5a0536a
9 */ 9 */
10 package org.dive4elements.river.artifacts.sinfo; 10 package org.dive4elements.river.artifacts.sinfo;
11 11
12 import java.util.ArrayList; 12 import java.util.ArrayList;
13 import java.util.Collection; 13 import java.util.Collection;
14 import java.util.List;
14 15
15 import org.apache.log4j.Logger; 16 import org.apache.log4j.Logger;
16 import org.dive4elements.artifacts.Artifact; 17 import org.dive4elements.artifacts.Artifact;
17 import org.dive4elements.artifacts.CallContext; 18 import org.dive4elements.artifacts.CallContext;
18 import org.dive4elements.artifacts.CallMeta; 19 import org.dive4elements.artifacts.CallMeta;
19 import org.dive4elements.artifacts.common.utils.XMLUtils; 20 import org.dive4elements.artifacts.common.utils.XMLUtils;
21 import org.dive4elements.river.artifacts.model.CollisionHibernateFactory;
20 import org.dive4elements.river.artifacts.resources.Resources; 22 import org.dive4elements.river.artifacts.resources.Resources;
23 import org.dive4elements.river.artifacts.sinfo.collision.CollisionAccess;
21 import org.dive4elements.river.artifacts.states.DefaultState; 24 import org.dive4elements.river.artifacts.states.DefaultState;
25 import org.dive4elements.river.model.sinfo.Collision;
22 import org.w3c.dom.Element; 26 import org.w3c.dom.Element;
23 27
24 /** 28 /**
25 * @author Gernot Belger 29 * @author Gernot Belger
26 */ 30 */
53 public boolean validate(final Artifact artifact) throws IllegalArgumentException { 57 public boolean validate(final Artifact artifact) throws IllegalArgumentException {
54 log.debug("CalculationSelect.validate"); 58 log.debug("CalculationSelect.validate");
55 59
56 final SINFOArtifact sinfo = (SINFOArtifact) artifact; 60 final SINFOArtifact sinfo = (SINFOArtifact) artifact;
57 /* throws an exception if calculation mode is invalid */ 61 /* throws an exception if calculation mode is invalid */
58 sinfo.getCalculationMode(); 62 final String calcmode = sinfo.getCalculationMode().toString(); // "toString()" is important
63 if (calcmode.equals("sinfo_calc_collision")) {
64
65 final CollisionAccess access = new CollisionAccess((SINFOArtifact) artifact);
66
67 final List<Collision> list = CollisionHibernateFactory.getCollisionsByRiver(access.getRiver());
68
69 if (list.size() == 0) {
70 throw new IllegalArgumentException("error_no_data_for_river");
71 }
72 }
73
59 return true; 74 return true;
60 } 75 }
76
61 } 77 }

http://dive4elements.wald.intevation.org