/[projects]/dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/dawa/DawaWebservice.java
ViewVC logotype

Annotation of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/dawa/DawaWebservice.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3003 - (hide annotations) (download)
Tue Apr 19 12:36:31 2016 UTC (8 years, 1 month ago) by torben
File size: 2668 byte(s)
First working edition of a dawa version
1 torben 3003 package dk.daoas.adressevedligehold.dawa;
2    
3     import java.io.IOException;
4     import java.util.ArrayList;
5     import java.util.List;
6    
7     import org.json.JSONArray;
8     import org.json.JSONObject;
9    
10     import dk.daoas.adressevedligehold.beans.Address;
11     import dk.daoas.adressevedligehold.tasks.TaskLogger;
12     import dk.daoas.adressevedligehold.util.DeduplicateHelper;
13     import dk.daoas.adressevedligehold.util.HttpUtil;
14     import dk.daoas.adressevedligehold.util.TimingHelper;
15     /**
16     *
17     * Vi bruger org.json her istedet for fuld de-serialization via f.eks. Gson da vi kun skal bruge nogle ganske få felter fra resultatet
18     *
19     */
20     /**
21     *
22     * Vi bruger org.json her istedet for fuld de-serialization via f.eks. Gson da vi kun skal bruge nogle ganske få felter fra resultatet
23     *
24     */
25     public class DawaWebservice {
26    
27     private TaskLogger logger = TaskLogger.getInstance();
28    
29     int page = 0;
30    
31     DeduplicateHelper<String> dedup = new DeduplicateHelper<>();
32    
33    
34     public List<Address> lookup(int kommunekode) throws IOException {
35    
36    
37    
38     List<Address> result = new ArrayList<>();
39    
40     final String url = "http://dawa.aws.dk/adgangsadresser?kommunekode=" + kommunekode;
41    
42     TimingHelper timer = new TimingHelper();
43    
44     String jsonStr = HttpUtil.getContentString(url, 1000);
45    
46     logger.info("Loaded data elapsed:" + timer.getElapsed());
47     timer = new TimingHelper();
48    
49     JSONArray root = new JSONArray( jsonStr) ;
50    
51     for (int i=0; i<root.length(); i++) {
52     Address a = new Address();
53    
54     JSONObject current = root.getJSONObject(i);
55    
56    
57     JSONObject vejStykke = current.getJSONObject("vejstykke");
58     String vejNavn = vejStykke.getString("navn");
59     a.vejnavn = dedup.getInstance(vejNavn);
60     a.vejkode = (short) vejStykke.getInt("kode");
61    
62    
63     JSONObject kommune = current.getJSONObject("kommune");
64     a.kommunekode = (short) kommune.getInt("kode");
65    
66    
67     JSONObject postnummer = current.getJSONObject("postnummer");
68     a.postnr = (short) postnummer.getInt("nr");
69    
70    
71     String husnrStr = current.getString("husnr");
72    
73     a.husnr = Short.parseShort( husnrStr.replaceAll("[^\\d]","") );
74     a.husnrbogstav = dedup.getInstance( husnrStr.replaceAll("\\d", "") );
75    
76    
77     JSONObject adgangspunkt = current.getJSONObject("adgangspunkt");
78     JSONArray koordinater = adgangspunkt.getJSONArray("koordinater");
79     a.latitude = (float) koordinater.getDouble(1); // Dawa sender i longitude,latitude
80     a.longitude = (float) koordinater.getDouble(0);
81    
82     result.add(a);
83     }
84    
85     logger.info("AdressCount:" + result.size() + " - " + timer.getElapsed() + "ms");
86    
87     page++;
88    
89     return result;
90     }
91     }

  ViewVC Help
Powered by ViewVC 1.1.20