ingo@114: package de.intevation.flys.artifacts.model;
ingo@114:
ingo@114: import java.util.List;
ingo@114:
ingo@315: import de.intevation.flys.backend.SessionHolder;
sascha@132: import de.intevation.flys.model.River;
sascha@132:
ingo@312: import org.hibernate.Query;
sascha@132: import org.hibernate.Session;
ingo@114:
ingo@114: /**
ingo@114: * @author Ingo Weinzierl
ingo@114: */
ingo@114: public class RiverFactory {
ingo@114:
ingo@114: /** We don't need to instantiate concrete objects of this class. */
ingo@114: private RiverFactory() {
ingo@114: }
ingo@114:
ingo@114:
ingo@114: /**
ingo@114: * Returns all rivers that were found in the backend.
ingo@114: *
ingo@114: * @return all rivers.
ingo@114: */
ingo@114: public static List getRivers() {
sascha@308: Session session = SessionHolder.HOLDER.get();
sascha@308: return (List)session
sascha@308: .createQuery("from River order by name").list();
ingo@114: }
ingo@312:
ingo@312:
ingo@312: /**
ingo@312: * Returns a River object fetched from database based on its name.
ingo@312: *
ingo@312: * @param river The name of a river.
ingo@312: *
ingo@312: * @return the River object.
ingo@312: */
ingo@312: public static River getRiver(String river) {
ingo@312: Session session = SessionHolder.HOLDER.get();
ingo@312:
ingo@312: Query query = session.createQuery(
ingo@312: "from River where name =:name");
ingo@312: query.setParameter("name", river);
ingo@312:
ingo@312: List rivers = query.list();
ingo@312:
ingo@312: return (rivers != null && rivers.size() > 0) ? rivers.get(0) : null;
ingo@312: }
ingo@114: }
ingo@114: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :