/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package entity.building; import entity.EntityTools; import entity.system.SYSPropsTools; import op.OPDE; import op.tools.SYSTools; import javax.persistence.EntityManager; import javax.persistence.Query; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import java.util.ArrayList; /** * @author tloehr */ public class StationTools { public static DefaultComboBoxModel getAll4Combobox(boolean withNullElement) { EntityManager em = OPDE.createEM(); Query query = em.createQuery("SELECT s FROM Station s ORDER BY s.name "); ArrayList<Station> listStat = new ArrayList<Station>(query.getResultList()); if (withNullElement) listStat.add(0, null); DefaultComboBoxModel result = new DefaultComboBoxModel(listStat.toArray()); em.close(); return result; } /** * returns the station where the current host is located. * * @return */ public static Station getStationForThisHost() { long statid = OPDE.getLocalProps().containsKey(SYSPropsTools.KEY_STATION) ? Long.parseLong(OPDE.getLocalProps().getProperty(SYSPropsTools.KEY_STATION)) : 1l; return EntityTools.find(Station.class, statid); } public static DefaultMutableTreeNode getCompleteStructure() { DefaultMutableTreeNode root = new DefaultMutableTreeNode(SYSTools.xx("misc.commands.noselection")); EntityManager em = OPDE.createEM(); Query queryHomes = em.createQuery("SELECT h FROM Homes h ORDER BY h.name "); ArrayList<Homes> listHomes = new ArrayList<Homes>(queryHomes.getResultList()); em.close(); for (Homes home : listHomes) { DefaultMutableTreeNode homeNode = new DefaultMutableTreeNode(home); if (home.getStations().size() > 1) { for (Station station : home.getStations()) { homeNode.add(new DefaultMutableTreeNode(station)); } } root.add(homeNode); } return root; } }