annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstFactory.java @ 4187:21f4e4b79121

Refactor GaugeDischargeCurveFacet to be able to set a facet name For adding another output of the GaugeDischargeCurveArtifact it is necessary to provide to facet instances with different names. Therefore the GaugeDischargeCurveFacet is extended to set the facet name in the constructor.
author Björn Ricks <bjoern.ricks@intevation.de>
date Fri, 19 Oct 2012 13:25:49 +0200
parents 02ca2ff96dee
children
rev   line source
318
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.model;
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.util.List;
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import de.intevation.flys.backend.SessionHolder;
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import de.intevation.flys.model.River;
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import de.intevation.flys.model.Wst;
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import org.hibernate.Query;
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import org.hibernate.Session;
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 /**
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 */
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 public class WstFactory {
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
622
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
17 public static final int DEFAULT_KIND = 0;
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
18
318
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 /** We don't need to instantiate concrete objects of this class. */
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 private WstFactory() {
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 }
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 /**
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 * Returns the Wst object for a given river.
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 *
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 * @param river The river.
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 *
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 * @return the Wst of <i>river</i>.
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 */
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 public static Wst getWst(River river) {
622
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
32 return getWst(river, DEFAULT_KIND);
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
33 }
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
34
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
35 public static Wst getWst(River river, int kind) {
318
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 Session session = SessionHolder.HOLDER.get();
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 Query query = session.createQuery(
622
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
39 "from Wst where river=:river and kind = :kind");
318
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 query.setParameter("river", river);
622
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
41 query.setInteger("kind", kind);
318
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
622
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
43 List<Wst> wsts = query.list();
318
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
622
02ca2ff96dee flys/issue84: Forget to select wst kind.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 318
diff changeset
45 return wsts.isEmpty() ? null : wsts.get(0);
318
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 }
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 }
8a4360ccbe1c Added a WstFactory to return Wst objects.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org