--- dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/osrm/OSRMHelper.java 2015/09/29 08:01:22 2729 +++ dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/osrm/OSRMHelper.java 2015/09/29 09:17:03 2730 @@ -6,6 +6,19 @@ import java.util.logging.Level; import java.util.logging.Logger; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.Future; + +import org.apache.http.HttpHost; +import org.apache.http.HttpRequest; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.nio.client.CloseableHttpPipeliningClient; +import org.apache.http.impl.nio.client.HttpAsyncClients; +import org.apache.http.util.EntityUtils; + import com.google.gson.Gson; import dk.daoas.fulddaekning.Adresse; @@ -18,7 +31,10 @@ Gson gson = new Gson(); - final String base_url = "http://10.30.2.61:5000"; + + final String host = "10.30.2.61"; + final int port = 5000; + final String base_url = "http://" + host + ":" + port; public Adresse getNearestViaTable(Adresse a1, Collection haystack) { @@ -64,6 +80,70 @@ return bedsteAdresse; } + + public Adresse getNearestPipeline(Adresse a1, Collection haystack) { + + int bedsteAfstand = Integer.MAX_VALUE; + Adresse bedsteAdresse = null; + + Adresse hayArray[] = new Adresse[ haystack.size() ]; + haystack.toArray(hayArray); + + + try (CloseableHttpPipeliningClient httpclient = HttpAsyncClients.createPipelining(); ) { + httpclient.start(); + + HttpHost targetHost = new HttpHost(host, port); + + System.out.println("1>" + targetHost.toString() ); + System.out.println("2>" + targetHost.toURI() ); + + List requests = new ArrayList(); + + String loc1 = a1.latitude + "," + a1.longitude; + + //for (int i=0; i> future = httpclient.execute(targetHost, requests, null); + List responses = future.get(); + + HttpResponse respArr[] = new HttpResponse[ responses.size() ]; + responses.toArray( respArr ); + + for (int i=0; i