/[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 2153 by torben, Wed May 7 16:07:46 2014 UTC revision 2157 by torben, Sat May 10 08:24:55 2014 UTC
# Line 17  public class Lookup { Line 17  public class Lookup {
17          static int max_workers;          static int max_workers;
18          static boolean verbose;          static boolean verbose;
19                    
20          static Properties conf;          static SafeProperties conf;
21          static Logger logger = Logger.getLogger( Lookup.class.toString() );          static Logger logger = Logger.getLogger( Lookup.class.toString() );
22                    
23          int postnr;          int postnr;
# Line 28  public class Lookup { Line 28  public class Lookup {
28                    
29          Map<Integer, LookupWorker> workers = new ConcurrentHashMap<Integer, LookupWorker>();          Map<Integer, LookupWorker> workers = new ConcurrentHashMap<Integer, LookupWorker>();
30    
         static int flestDaekkedeAntal = 0;  
         static int flestDaekkedePostnr;  
31                    
32          static int flestIkkeDaekkedeAntal = 0;          static Statistik flestDaekkede = new Statistik();
33          static int flestIkkeDaekkedePostnr;          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) {
# Line 40  public class Lookup { Line 50  public class Lookup {
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 63  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                          if (daekkedeAdresser.size() > flestDaekkedeAntal) {                          stat.postnr = postnr;
85                                  flestDaekkedeAntal = daekkedeAdresser.size();                          stat.antalDaekkede = daekkedeAdresser.size();
86                                  flestDaekkedePostnr = postnr;                          stat.antalIkkeDaekkede = queue.size();
                         }  
                           
                         if (queueSize > flestIkkeDaekkedeAntal) {  
                                 flestIkkeDaekkedeAntal = queueSize;  
                                 flestIkkeDaekkedePostnr = postnr;  
                         }  
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 103  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() + "  postnr=" + postnr);  
119                  logger.info("Antal ikke-daekkede:" + queueSize + "  postnr=" + postnr);                  logger.info( stat.toString() );
                   
120                  logger.info("Done! elapsed=" + (now-start1) + "/" +  (now-start2) + "  postnr=" + postnr);                  logger.info("Done! elapsed=" + (now-start1) + "/" +  (now-start2) + "  postnr=" + postnr);
121          }          }
122                    
# Line 150  public class Lookup { Line 161  public class Lookup {
161                          System.exit(1);                          System.exit(1);
162                  }                  }
163                                                                    
164                  conf = new Properties();                  conf = new SafeProperties();
165                  conf.load( new FileReader(confFile) );                  conf.load( new FileReader(confFile) );
166                                    
167                  max_workers = Integer.parseInt( conf.getProperty("MAX_WORKERS") );                  max_workers = Integer.parseInt( conf.getSafeProperty("MAX_WORKERS") );
168                  logger.info("Starting with MAX_WORKERS:" + max_workers);                  logger.info("Starting with MAX_WORKERS:" + max_workers);
169                                    
170                  verbose = Boolean.parseBoolean( conf.getProperty("VERBOSE") );                  verbose = Boolean.parseBoolean( conf.getSafeProperty("VERBOSE") );
171                  logger.info("Starting with VERBOSE:" + verbose);                  logger.info("Starting with VERBOSE:" + verbose);
172                                    
173                  Database db = new Database(conf);                  Database db = new Database(conf);
# Line 178  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                  logger.info("Flest Ikke-dækkede, " + flestIkkeDaekkedePostnr + ": " + flestIkkeDaekkedeAntal);  
                 logger.info("Flest Dækkede, " + flestDaekkedePostnr + ": " + flestDaekkedeAntal);  
197                                    
198                                    
199                  //Lookup lookup = new Lookup(7400, db);                  //Lookup lookup = new Lookup(7400, db);

Legend:
Removed from v.2153  
changed lines
  Added in v.2157

  ViewVC Help
Powered by ViewVC 1.1.20