Commit 88156cb1 by Adi Amir

Merge remote-tracking branch 'origin/develop' into develop

parents 85706d84 d0e45843
Showing with 44 additions and 12 deletions
...@@ -8,24 +8,27 @@ import http.simpleHttpClient.SimpleHttpClient; ...@@ -8,24 +8,27 @@ import http.simpleHttpClient.SimpleHttpClient;
import http.simpleHttpClient.SimpleHttpRequest; import http.simpleHttpClient.SimpleHttpRequest;
import http.simpleHttpClient.SimpleHttpResponse; import http.simpleHttpClient.SimpleHttpResponse;
import microservice.RequestContext; import microservice.RequestContext;
import microservice.io.iface.ILogger;
import microservice.types.BaseRestResponse; import microservice.types.BaseRestResponse;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Deque; import java.util.Deque;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* Created by gil on 01/03/17. * Created by gil on 01/03/17.
*/ */
public class GEManager { public class GEManager {
public static String baseUrl = "ie-cities-metadata.run.asv-pr-pub.ice.predix.io"; public static String AUTH = "Basic aXBnYWxsZXJ5OjFQR2FsbDNyeQ==";
public static String assetListUrl = "v2/assets/search"; public static String AUTH_URL = "8553482c-1d32-4d38-8597-2e56ab642dd3.predix-uaa.run.asv-pr.ice.predix.io";
public static String token = "eyJhbGciOiJSUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiJlOTc5MTUyNjE5MjE0NDBhOGE3NWQ5YzQ3NGM0ODNjYSIsInN1YiI6ImlwZ2FsbGVyeSIsInNjb3BlIjpbImllLWN1cnJlbnQuaWNzLUlFLVBVQkxJQy1TQUZFVFkuSUUtUFVCTElDLVNBRkVUWS5MSU1JVEVELkRFVkVMT1AiLCJ1YWEucmVzb3VyY2UiLCJpZS1jdXJyZW50Lmljcy1JRS1FTlZJUk9OTUVOVEFMLklFLUVOVklST05NRU5UQUwuRlJFRS5ERVZFTE9QIiwiaWUtY3VycmVudC5pY3MtSUUtUEFSS0lORy5JRS1QQVJLSU5HLkxJTUlURUQuREVWRUxPUCIsImllLWN1cnJlbnQuaWNzLUlFLVRSQUZGSUMuSUUtVFJBRkZJQy5MSU1JVEVELkRFVkVMT1AiLCJpZS1jdXJyZW50Lmljcy1JRS1QRURFU1RSSUFOLklFLVBFREVTVFJJQU4uTElNSVRFRC5ERVZFTE9QIl0sImNsaWVudF9pZCI6ImlwZ2FsbGVyeSIsImNpZCI6ImlwZ2FsbGVyeSIsImF6cCI6ImlwZ2FsbGVyeSIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJyZXZfc2lnIjoiZDBmMjJiMTciLCJpYXQiOjE0ODgyNzU5MDYsImV4cCI6MTQ4ODg4MDcwNiwiaXNzIjoiaHR0cHM6Ly84NTUzNDgyYy0xZDMyLTRkMzgtODU5Ny0yZTU2YWI2NDJkZDMucHJlZGl4LXVhYS5ydW4uYXN2LXByLmljZS5wcmVkaXguaW8vb2F1dGgvdG9rZW4iLCJ6aWQiOiI4NTUzNDgyYy0xZDMyLTRkMzgtODU5Ny0yZTU2YWI2NDJkZDMiLCJhdWQiOlsidWFhIiwiaWUtY3VycmVudC5pY3MtSUUtUEFSS0lORy5JRS1QQVJLSU5HLkxJTUlURUQiLCJpZS1jdXJyZW50Lmljcy1JRS1UUkFGRklDLklFLVRSQUZGSUMuTElNSVRFRCIsImllLWN1cnJlbnQuaWNzLUlFLVBFREVTVFJJQU4uSUUtUEVERVNUUklBTi5MSU1JVEVEIiwiaXBnYWxsZXJ5IiwiaWUtY3VycmVudC5pY3MtSUUtRU5WSVJPTk1FTlRBTC5JRS1FTlZJUk9OTUVOVEFMLkZSRUUiLCJpZS1jdXJyZW50Lmljcy1JRS1QVUJMSUMtU0FGRVRZLklFLVBVQkxJQy1TQUZFVFkuTElNSVRFRCJdfQ.GA1uQRPbNvZ0NDY246FlFIiM8oy34vY43TiWBqBcVpqDOCoWmxTvB25vokHzYy9g2_vWY3Bh_1xW6Abc_bYrmI140zflG6m0h1gbT7u3s-GLP7MPc2Ci4WiL6FK1q_YwsQkelh6nYIf9Aq9dSWRCA90HBgD2MJlBR2ww3xr-5eUMsu-pAeKfpEkm8gl1DGnHC1XQ7J27MdFTcNh0o-P0R5jAC4tsm9fQ1rFto8YBiK2Pk61UNP0SCQPyzKM-4tLI3WoidGl4yiqnI4tLocr1Wwkjjq0HrdNSWYlcr9Mf4ZCcdqTJBKmEusw2S-V45opmhA9fSFK1YH8F3hQq_WEG9w"; public static String AUTH_PATH = "oauth/token";
public static String parking_zone_id = "ics-IE-PARKING"; public static String AUTH_PARAMS = "grant_type=client_credentials&client_id=ipgallery";
public static String BASE_URL = "ie-cities-metadata.run.asv-pr-pub.ice.predix.io";
public static String ASSET_LIST_URL = "v2/assets/search";
// public static String TOKEN = "eyJhbGciOiJSUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiJlOTc5MTUyNjE5MjE0NDBhOGE3NWQ5YzQ3NGM0ODNjYSIsInN1YiI6ImlwZ2FsbGVyeSIsInNjb3BlIjpbImllLWN1cnJlbnQuaWNzLUlFLVBVQkxJQy1TQUZFVFkuSUUtUFVCTElDLVNBRkVUWS5MSU1JVEVELkRFVkVMT1AiLCJ1YWEucmVzb3VyY2UiLCJpZS1jdXJyZW50Lmljcy1JRS1FTlZJUk9OTUVOVEFMLklFLUVOVklST05NRU5UQUwuRlJFRS5ERVZFTE9QIiwiaWUtY3VycmVudC5pY3MtSUUtUEFSS0lORy5JRS1QQVJLSU5HLkxJTUlURUQuREVWRUxPUCIsImllLWN1cnJlbnQuaWNzLUlFLVRSQUZGSUMuSUUtVFJBRkZJQy5MSU1JVEVELkRFVkVMT1AiLCJpZS1jdXJyZW50Lmljcy1JRS1QRURFU1RSSUFOLklFLVBFREVTVFJJQU4uTElNSVRFRC5ERVZFTE9QIl0sImNsaWVudF9pZCI6ImlwZ2FsbGVyeSIsImNpZCI6ImlwZ2FsbGVyeSIsImF6cCI6ImlwZ2FsbGVyeSIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJyZXZfc2lnIjoiZDBmMjJiMTciLCJpYXQiOjE0ODgyNzU5MDYsImV4cCI6MTQ4ODg4MDcwNiwiaXNzIjoiaHR0cHM6Ly84NTUzNDgyYy0xZDMyLTRkMzgtODU5Ny0yZTU2YWI2NDJkZDMucHJlZGl4LXVhYS5ydW4uYXN2LXByLmljZS5wcmVkaXguaW8vb2F1dGgvdG9rZW4iLCJ6aWQiOiI4NTUzNDgyYy0xZDMyLTRkMzgtODU5Ny0yZTU2YWI2NDJkZDMiLCJhdWQiOlsidWFhIiwiaWUtY3VycmVudC5pY3MtSUUtUEFSS0lORy5JRS1QQVJLSU5HLkxJTUlURUQiLCJpZS1jdXJyZW50Lmljcy1JRS1UUkFGRklDLklFLVRSQUZGSUMuTElNSVRFRCIsImllLWN1cnJlbnQuaWNzLUlFLVBFREVTVFJJQU4uSUUtUEVERVNUUklBTi5MSU1JVEVEIiwiaXBnYWxsZXJ5IiwiaWUtY3VycmVudC5pY3MtSUUtRU5WSVJPTk1FTlRBTC5JRS1FTlZJUk9OTUVOVEFMLkZSRUUiLCJpZS1jdXJyZW50Lmljcy1JRS1QVUJMSUMtU0FGRVRZLklFLVBVQkxJQy1TQUZFVFkuTElNSVRFRCJdfQ.GA1uQRPbNvZ0NDY246FlFIiM8oy34vY43TiWBqBcVpqDOCoWmxTvB25vokHzYy9g2_vWY3Bh_1xW6Abc_bYrmI140zflG6m0h1gbT7u3s-GLP7MPc2Ci4WiL6FK1q_YwsQkelh6nYIf9Aq9dSWRCA90HBgD2MJlBR2ww3xr-5eUMsu-pAeKfpEkm8gl1DGnHC1XQ7J27MdFTcNh0o-P0R5jAC4tsm9fQ1rFto8YBiK2Pk61UNP0SCQPyzKM-4tLI3WoidGl4yiqnI4tLocr1Wwkjjq0HrdNSWYlcr9Mf4ZCcdqTJBKmEusw2S-V45opmhA9fSFK1YH8F3hQq_WEG9w";
public static String PARKING_ZONE_ID = "ics-IE-PARKING";
public static String TOKEN = "1111";
private SimpleHttpClient httpClient = null; private SimpleHttpClient httpClient = null;
public GEManager() throws Exception { public GEManager() throws Exception {
...@@ -52,7 +55,24 @@ public class GEManager { ...@@ -52,7 +55,24 @@ public class GEManager {
} }
if(resp.getStatusCode() == 200) if(resp.getStatusCode() == 200)
return buildResp(resp); return buildResp(resp);
else else if (resp.getStatusCode() == 403 || resp.getStatusCode() == 401) {
req = buildGetTokenRequest();
try {
resp = httpClient.processRequest(req);
String cont = resp.getContent();
ObjectMapper mapper = new ObjectMapper();
try {
JsonNode contObj = mapper.readTree(cont);
TOKEN = contObj.get("access_token").asText();
} catch (IOException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return new BaseRestResponse(false,String.valueOf(resp.getStatusCode())); return new BaseRestResponse(false,String.valueOf(resp.getStatusCode()));
} }
...@@ -99,12 +119,12 @@ public class GEManager { ...@@ -99,12 +119,12 @@ public class GEManager {
private SimpleHttpRequest buildCameraHttpRequest(RequestContext requestContext,JsonNode content) { private SimpleHttpRequest buildCameraHttpRequest(RequestContext requestContext,JsonNode content) {
SimpleHttpRequest request = new SimpleHttpRequest(); SimpleHttpRequest request = new SimpleHttpRequest();
request.setProtocol("https"); request.setProtocol("https");
request.setDomain(baseUrl); request.setDomain(BASE_URL);
request.setPort(443); request.setPort(443);
request.setMethod(SimpleHttpRequest.Method.GET); request.setMethod(SimpleHttpRequest.Method.GET);
request.setPath(assetListUrl); request.setPath(ASSET_LIST_URL);
request.addHeader("Authorization", "Bearer " + token); request.addHeader("Authorization", "Bearer " + TOKEN);
request.addHeader("Predix-Zone-Id",parking_zone_id); request.addHeader("Predix-Zone-Id", PARKING_ZONE_ID);
Map<String, Deque<String>> queryParams = requestContext.queryParameters; Map<String, Deque<String>> queryParams = requestContext.queryParameters;
if(queryParams != null && !queryParams.isEmpty()) { if(queryParams != null && !queryParams.isEmpty()) {
String bbox = "bbox=" + queryParams.get("bbox").pop() + "&page=0&size=500&q=assetType:CAMERA"; String bbox = "bbox=" + queryParams.get("bbox").pop() + "&page=0&size=500&q=assetType:CAMERA";
...@@ -114,4 +134,16 @@ public class GEManager { ...@@ -114,4 +134,16 @@ public class GEManager {
request.setContent(content.toString()); request.setContent(content.toString());
return request; return request;
} }
private SimpleHttpRequest buildGetTokenRequest() {
SimpleHttpRequest request = new SimpleHttpRequest();
request.setProtocol("https");
request.setDomain(AUTH_URL);
request.setPort(443);
request.setMethod(SimpleHttpRequest.Method.GET);
request.setPath(AUTH_PATH);
request.setQueryString(AUTH_PARAMS);
request.addHeader("Authorization", AUTH);
return request;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment