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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3003 - (show annotations) (download)
Tue Apr 19 12:36:31 2016 UTC (8 years ago) by torben
File size: 2668 byte(s)
First working edition of a dawa version
1 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