/** * Construit la tables des ancrages à partir de la refernce du blason en base * * @param blason la reference du blason pour récuperer les informations en base * @return la tables des ancrages ou null si non trouvé en base * @throws SQLException */ public static ConcurrentMap<Integer, Ancrage> getAncragesMap(Blason blason) throws ObjectPersistenceException { ConcurrentMap<Integer, Ancrage> ancrages = new ConcurrentHashMap<Integer, Ancrage>(); String sql = "select * from ANCRAGES_BLASONS where NUMBLASON=?"; // $NON-NLS-1$ PreparedStatement pstmt = null; try { pstmt = ApplicationCore.dbConnection.prepareStatement(sql); pstmt.setInt(1, blason.getNumblason()); ResultSet rs = pstmt.executeQuery(); try { while (rs.next()) { Ancrage ancrage = new Ancrage(); ancrage.setBlason(blason); loadHelper.load(ancrage, rs); ancrages.put(ancrage.getEmplacement(), ancrage); } } finally { if (rs != null) rs.close(); } } catch (SQLException e) { throw new ObjectPersistenceException(e); } finally { if (pstmt != null) try { pstmt.close(); } catch (SQLException e) { } } if (ancrages.size() == 0) ancrages = null; return ancrages; }