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

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

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

revision 2145 by torben, Wed Apr 30 08:15:48 2014 UTC revision 2155 by torben, Thu May 8 09:12:00 2014 UTC
# Line 2  package dk.daoas.fulddaekning; Line 2  package dk.daoas.fulddaekning;
2    
3  import java.io.File;  import java.io.File;
4  import java.io.FileReader;  import java.io.FileReader;
 import java.io.IOException;  
 import java.sql.Connection;  
 import java.sql.DriverManager;  
 import java.sql.SQLException;  
5  import java.util.ArrayList;  import java.util.ArrayList;
6  import java.util.List;  import java.util.List;
7  import java.util.Map;  import java.util.Map;
# Line 33  public class Lookup { Line 29  public class Lookup {
29          Map<Integer, LookupWorker> workers = new ConcurrentHashMap<Integer, LookupWorker>();          Map<Integer, LookupWorker> workers = new ConcurrentHashMap<Integer, LookupWorker>();
30    
31                    
32            static Statistik flestDaekkede = new Statistik();
33            static Statistik flestIkkeDaekkede = new Statistik();
34            
35            
36            static class Statistik {
37                    int postnr;
38                    int antalDaekkede = 0;
39                    int antalIkkeDaekkede = 0;
40                    
41                    @Override
42                    public String toString() {
43                            return "postnr=" + postnr + " antalIkkeDaekkede=" + antalIkkeDaekkede + " antalDaekkede="  + antalDaekkede;
44                    }
45            }
46            
47                    
48          public Lookup(int postnr, Database db) {          public Lookup(int postnr, Database db) {
49                  this.postnr = postnr;                  this.postnr = postnr;
50                  this.db = db;                  this.db = db;
51          }          }
52                    
53                    public static void saveStatistics(Statistik stat) {
54                    if (stat.antalDaekkede > flestDaekkede.antalDaekkede) {
55                            flestDaekkede = stat;
56                    }
57                    if (stat.antalIkkeDaekkede > flestIkkeDaekkede.antalIkkeDaekkede) {
58                            flestIkkeDaekkede = stat;
59                    }              
60            }
61                    
62          public void doLookup() throws BoundingBoxException {          public void doLookup() throws BoundingBoxException {
63                  logger.info("Starting for postnr=" + postnr);                  logger.info("Starting for postnr=" + postnr);
64                                    
65                  int queueSize=-1;                  Statistik stat = new Statistik();
66                                                    
67                  long start1 = System.currentTimeMillis();                                long start1 = System.currentTimeMillis();              
68                  long start2 = 0;                  long start2 = 0;
69                                    
# Line 62  public class Lookup { Line 80  public class Lookup {
80                                                    
81                          logger.info("Henter _ikke_ daekkede adresser i " + postnr);                          logger.info("Henter _ikke_ daekkede adresser i " + postnr);
82                          queue = db.hentIkkedaekkedeAdresser(postnr);                          queue = db.hentIkkedaekkedeAdresser(postnr);
                         queueSize = queue.size();  
83                                                    
84                            stat.postnr = postnr;
85                            stat.antalDaekkede = daekkedeAdresser.size();
86                            stat.antalIkkeDaekkede = queue.size();
87                            
88                            saveStatistics(stat);
89                                                    
90                                                    
91                          logger.info("Starter beregning for " + postnr);                          logger.info("Starter beregning for " + postnr);
92                          start2 = System.currentTimeMillis();                          start2 = System.currentTimeMillis();
# Line 92  public class Lookup { Line 115  public class Lookup {
115                  }                  }
116                  long now = System.currentTimeMillis();                  long now = System.currentTimeMillis();
117                                    
118                  logger.info("Antal daekkede:" + daekkedeAdresser.size() );  
119                  logger.info("Antal ikke-daekkede:" + queueSize );                  logger.info( stat.toString() );
120                                    logger.info("Done! elapsed=" + (now-start1) + "/" +  (now-start2) + "  postnr=" + postnr);
                 logger.info("Done! elapsed=" + (now-start1) + "/" +  (now-start2) );  
121          }          }
122                    
123          public void shutdownWorker(int workerid) {          public void shutdownWorker(int workerid) {
# Line 148  public class Lookup { Line 170  public class Lookup {
170                  verbose = Boolean.parseBoolean( conf.getProperty("VERBOSE") );                  verbose = Boolean.parseBoolean( conf.getProperty("VERBOSE") );
171                  logger.info("Starting with VERBOSE:" + verbose);                  logger.info("Starting with VERBOSE:" + verbose);
172                                    
173                  Connection conn = getConnection();                  Database db = new Database(conf);
174                  Database db = new Database(conn);                  
175                    db.resetResultTable();
176    
177                                    
178                                    
# Line 166  public class Lookup { Line 189  public class Lookup {
189                  }                  }
190                                    
191                  long now = System.currentTimeMillis();                  long now = System.currentTimeMillis();
192                    
193                    logger.info("Flest Ikke-dækkede, " + flestIkkeDaekkede);
194                    logger.info("Flest Dækkede, " + flestDaekkede);
195                  logger.info("Fuld load done : " + (now-start) );                  logger.info("Fuld load done : " + (now-start) );
196    
197                                    
198                                    
199                  //Lookup lookup = new Lookup(7400, db);                  //Lookup lookup = new Lookup(7400, db);
200                  //lookup.doLookup();                              //lookup.doLookup();            
201          }          }
           
         public static Connection getConnection() throws SQLException, IOException {  
                                   
                 String db_host = conf.getProperty("DB_HOST");  
                 String db_user = conf.getProperty("DB_USER");  
                 String db_pass = conf.getProperty("DB_PASS");  
   
                   
202                                    
   
             Connection conn = null;  
             Properties connectionProps = new Properties();  
             connectionProps.put("user", db_user);  
             connectionProps.put("password", db_pass);  
   
                 conn = DriverManager.getConnection(  
                            "jdbc:mysql://" +  
                            db_host +  
                            ":3306/",  
                            connectionProps);  
             logger.info("Connected to database");  
             return conn;  
         }  
           
203  }  }

Legend:
Removed from v.2145  
changed lines
  Added in v.2155

  ViewVC Help
Powered by ViewVC 1.1.20