/[projects]/dao/DaoAdresseService/src/dk/daoas/daoadresseservice/db/DatabaseLayer.java
ViewVC logotype

Diff of /dao/DaoAdresseService/src/dk/daoas/daoadresseservice/db/DatabaseLayer.java

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

revision 2308 by torben, Mon Feb 16 09:51:24 2015 UTC revision 2318 by torben, Tue Feb 17 08:27:13 2015 UTC
# Line 14  import dk.daoas.daoadresseservice.Daekni Line 14  import dk.daoas.daoadresseservice.Daekni
14  import dk.daoas.daoadresseservice.beans.Address;  import dk.daoas.daoadresseservice.beans.Address;
15  import dk.daoas.daoadresseservice.beans.ExtendedBean;  import dk.daoas.daoadresseservice.beans.ExtendedBean;
16  import dk.daoas.daoadresseservice.beans.HundredePctBean;  import dk.daoas.daoadresseservice.beans.HundredePctBean;
17    import dk.daoas.daoadresseservice.util.DeduplicateHelper;
18    
19  public class DatabaseLayer {  public class DatabaseLayer {
20                    
# Line 32  public class DatabaseLayer { Line 33  public class DatabaseLayer {
33                                    
34                  List<Address> list = new ArrayList<Address>(2600000);//initial capacity 2.6 mio                  List<Address> list = new ArrayList<Address>(2600000);//initial capacity 2.6 mio
35                                    
36                  Map<String,String> vejnavne = new HashMap<String,String>();                  DeduplicateHelper<String> vejnavne = new DeduplicateHelper<String>();
37                    DeduplicateHelper<String> distributorer = new DeduplicateHelper<String>();
38    
39                                    
40                  while (res.next()) {                  while (res.next()) {
41                                                    
42                          // Cache String instanserne for vejnavne for at mindske hukommelses forbruget                          // Cache String instanserne for vejnavne for at mindske hukommelses forbruget
43                          String dbVejnavn = res.getString(2);                                              String dbVejnavn = res.getString(2);                    
44                          String vejnavn = vejnavne.get(dbVejnavn);                          String vejnavn = vejnavne.getInstance(dbVejnavn);
45                          if ( vejnavn == null ) {  
46                                  vejnavn = dbVejnavn;                          // Cache String instanserne for distributor for at mindske hukommelses forbruget
47                                  vejnavne.put(vejnavn, vejnavn);                                                  // (De-dubblicate)
48                          }                          String dbDistributor = res.getString(9);                        
49                            String distributor = distributorer.getInstance(dbDistributor);
50                                                    
51                          Address a = new Address();                          Address a = new Address();
52                          a.id = res.getInt(1);                          a.id = res.getInt(1);
# Line 53  public class DatabaseLayer { Line 57  public class DatabaseLayer {
57                          a.vejkode = res.getInt(6);                          a.vejkode = res.getInt(6);
58                          a.postnr = res.getInt(7);                          a.postnr = res.getInt(7);
59                          a.gadeid = res.getLong(8);                          a.gadeid = res.getLong(8);
60                          a.distributor = res.getString(9);                          a.distributor = distributor;
61                          a.dbkBane = res.getInt(10);                          a.dbkBane = res.getInt(10);
62                          a.koreliste = res.getString(11);                          a.koreliste = res.getString(11);
63                          a.rute = res.getString(12);                          a.rute = res.getString(12);
# Line 98  public class DatabaseLayer { Line 102  public class DatabaseLayer {
102                                    
103                  ResultSet res = stmt.executeQuery(sql);                  ResultSet res = stmt.executeQuery(sql);
104                                    
105                    DeduplicateHelper<String> transportTyper = new DeduplicateHelper<String>();
106                    
107                  List<ExtendedBean> list = new ArrayList<ExtendedBean>( 350000); //Initial capacity 350K                  List<ExtendedBean> list = new ArrayList<ExtendedBean>( 350000); //Initial capacity 350K
108                  while (res.next()) {                  while (res.next()) {
109                            
110                            String dbTransport = res.getString(4);                  
111                            String transport = transportTyper.getInstance(dbTransport);
112                            
113                          ExtendedBean eb = new ExtendedBean();                          ExtendedBean eb = new ExtendedBean();
114                          eb.orgId = res.getInt(1);                          eb.orgId = res.getInt(1);
115                          eb.targetId = res.getInt(2);                          eb.targetId = res.getInt(2);
116                          eb.afstand = res.getDouble(3);                          eb.afstand = res.getDouble(3);
117                          eb.transport = res.getString(4);                          eb.transport = transport;
118                                                                                                    
119                          list.add(eb);                          list.add(eb);
120                  }                  }
# Line 128  public class DatabaseLayer { Line 138  public class DatabaseLayer {
138    
139                  Map<Integer,HundredePctBean> map = new HashMap<Integer,HundredePctBean>();                  Map<Integer,HundredePctBean> map = new HashMap<Integer,HundredePctBean>();
140                                    
141                    DeduplicateHelper<String> distributorer = new DeduplicateHelper<String>();
142                    
143                  while (res.next()) {                  while (res.next()) {
144                                                    
145                            String dbDistributor = res.getString(2);                        
146                            String distributor = distributorer.getInstance(dbDistributor);
147                            
148                          HundredePctBean bean = new HundredePctBean();                          HundredePctBean bean = new HundredePctBean();
149                          bean.postnr = res.getInt(1);                          bean.postnr = res.getInt(1);
150                          bean.distributor = res.getString(2);                          bean.distributor = distributor;
151                          bean.rute = res.getString(3);                          bean.rute = res.getString(3);
152                          bean.koreliste = res.getString(4);                          bean.koreliste = res.getString(4);
153                          bean.dbkBane = res.getInt(5);                                            bean.dbkBane = res.getInt(5);                  

Legend:
Removed from v.2308  
changed lines
  Added in v.2318

  ViewVC Help
Powered by ViewVC 1.1.20