/[projects]/dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java
ViewVC logotype

Diff of /dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2643 by torben, Fri Aug 14 10:56:32 2015 UTC revision 2716 by torben, Sun Sep 27 20:14:24 2015 UTC
# Line 1  Line 1 
1  package dk.daoas.fulddaekning;  package dk.daoas.fulddaekning;
2    
 import geocode.GeoPoint;  
   
3  import java.io.IOException;  import java.io.IOException;
4  import java.sql.Connection;  import java.sql.Connection;
5  import java.sql.DriverManager;  import java.sql.DriverManager;
# Line 13  import java.util.HashMap; Line 11  import java.util.HashMap;
11  import java.util.List;  import java.util.List;
12  import java.util.Map;  import java.util.Map;
13  import java.util.Properties;  import java.util.Properties;
14    import java.util.Queue;
15  import java.util.Set;  import java.util.Set;
16  import java.util.TreeSet;  import java.util.TreeSet;
17    import java.util.concurrent.ConcurrentLinkedQueue;
18  import java.util.logging.Logger;  import java.util.logging.Logger;
19    
20    
# Line 27  public class Database { Line 27  public class Database {
27          Connection conn;          Connection conn;
28          PreparedStatement saveStmt;          PreparedStatement saveStmt;
29                    
30          List<GeoPoint> alleAdresser;          List<Adresse> alleAdresser;
31          Adresse alleIkkeDaekkede[];          Adresse alleIkkeDaekkede[];
32                    
33          Map<Short,List<GeoPoint>> daekkedeAdresserHO = new HashMap<Short,List<GeoPoint>>();          Map<Short,List<Adresse>> daekkedeAdresserHO = new HashMap<Short,List<Adresse>>();
34                    
35                    
36                    
# Line 93  public class Database { Line 93  public class Database {
93          }          }
94    
95    
96          public Adresse[] hentAlleIkkedaekkedeAdresser(int minPostnr, int maxPostnr)  throws SQLException {          public Queue<Adresse> hentAlleIkkedaekkedeAdresser(int minPostnr, int maxPostnr)  throws SQLException {
97                                    
98                  logger.info("Henter alle IKKE-daekkede adresser");                  logger.info("Henter alle IKKE-daekkede adresser");
99    
# Line 102  public class Database { Line 102  public class Database {
102                                  "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +                                  "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " +
103                                  "WHERE rute IS NULL " +  //Ingen dækning                                  "WHERE rute IS NULL " +  //Ingen dækning
104                                  "AND a.postnr BETWEEN ? AND ? " +                                  "AND a.postnr BETWEEN ? AND ? " +
                                 "AND a.postnr NOT BETWEEN 3900 and 3999 " + //Skip greenland  
                                 "AND a.postnr NOT BETWEEN 9000 AND 9549 " + // Skip nordjylland (DAO)  
105                                  "AND latitude IS NOT NULL " +                                  "AND latitude IS NOT NULL " +
106                                  "AND longitude IS NOT NULL " +                                  "AND longitude IS NOT NULL " +
107                                  "AND gadeid IS NOT NULL " +                                  "AND gadeid IS NOT NULL " +
108                                  "AND (a.distributor IS NULL OR a.distributor<>'LUKKET') ";                                                "AND (a.distributor IS NULL OR a.distributor<>'LUKKET') "
109                                    //"LIMIT 2500"
110                                    ;              
111                  PreparedStatement stmt = conn.prepareStatement(sql);                  PreparedStatement stmt = conn.prepareStatement(sql);
112                  stmt.setInt(1, minPostnr);                  stmt.setInt(1, minPostnr);
113                  stmt.setInt(2, maxPostnr);                  stmt.setInt(2, maxPostnr);
# Line 140  public class Database { Line 140  public class Database {
140                                                    
141                                                    
142                  }                  }
143                  return alleIkkeDaekkede;                  return new ConcurrentLinkedQueue<Adresse>( list );
144          }          }
145                    
146    
147                    
148                    
149          public Map<Short, List<GeoPoint>> getDaekkedeAdresserHO() {          public Map<Short, List<Adresse>> getDaekkedeAdresserHO() {
150                  return daekkedeAdresserHO;                  return daekkedeAdresserHO;
151          }          }
152                    
# Line 169  public class Database { Line 169  public class Database {
169                    
170                          List<Adresse> list = hentAdresseListe( stmt );                          List<Adresse> list = hentAdresseListe( stmt );
171                                                    
172                          alleAdresser = new ArrayList<GeoPoint>();                          alleAdresser = new ArrayList<Adresse>();
173                          alleAdresser.addAll(list);                          alleAdresser.addAll(list);
174                                                    
175                          for(Adresse addr : list) {                          for(Adresse addr : list) {
176                                  short ho = addr.ho;                                  short ho = addr.ho;
177                                  List<GeoPoint> hoListe = daekkedeAdresserHO.get(ho);                                  List<Adresse> hoListe = daekkedeAdresserHO.get(ho);
178                                  if ( hoListe == null) {                                  if ( hoListe == null) {
179                                          hoListe = new ArrayList<GeoPoint>();                                          hoListe = new ArrayList<Adresse>();
180                                          daekkedeAdresserHO.put(ho, hoListe);                                                                              daekkedeAdresserHO.put(ho, hoListe);                                    
181                                  }                                  }
182                                                                    

Legend:
Removed from v.2643  
changed lines
  Added in v.2716

  ViewVC Help
Powered by ViewVC 1.1.20