diff --git a/examples/onesky-helloworld/build.gradle b/examples/onesky-helloworld/build.gradle index 52c0745..498d24a 100644 --- a/examples/onesky-helloworld/build.gradle +++ b/examples/onesky-helloworld/build.gradle @@ -9,7 +9,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.1.0' - classpath 'app.onesky.android:onesky-conductor:0.0.1' + classpath 'app.onesky.android:onesky-conductor:0.0.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -30,7 +30,7 @@ task clean(type: Delete) { apply plugin: 'app.onesky' OneSky { - appId = "94a3ecf8-0134-4c3b-a3a8-b6c90f14d57a" - apiKey = "1234" + appId = "aa339d82-7365-406b-af92-f3d1f4c77651" + apiKey = "06f7f71f85040b3ca951ecfb2e53b340" resourceDirectoryRelativePath = "app/src/main/res/" } diff --git a/onesky-conductor/build.gradle b/onesky-conductor/build.gradle index 784370a..9375094 100644 --- a/onesky-conductor/build.gradle +++ b/onesky-conductor/build.gradle @@ -1,5 +1,5 @@ group 'app.onesky.android' -version '0.0.1' +version '0.0.2' apply plugin: 'java' apply plugin: 'java-gradle-plugin' diff --git a/onesky-conductor/src/main/java/app/onesky/android/ApiConsumer.java b/onesky-conductor/src/main/java/app/onesky/android/ApiConsumer.java index 37cae04..07f82c3 100644 --- a/onesky-conductor/src/main/java/app/onesky/android/ApiConsumer.java +++ b/onesky-conductor/src/main/java/app/onesky/android/ApiConsumer.java @@ -1,5 +1,6 @@ package app.onesky.android; +import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; @@ -32,7 +33,7 @@ public ApiConsumer(String appId, String apiKey) { public String getAppConfigContent() throws Exception { - return getContent(INVOKE_URL + "apps/" + this.appId + "?platformId=android"); + return getContent(INVOKE_URL + "apps/" + this.appId); } public String getStringFileContent(String languageId) throws Exception { @@ -49,7 +50,7 @@ public boolean isTrusted(X509Certificate[] arg0, String arg1) throws Certificate return true; } }).build(); - b.setSslcontext( sslContext); + b.setSslcontext(sslContext); HostnameVerifier hostnameVerifier = SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER; @@ -59,12 +60,15 @@ public boolean isTrusted(X509Certificate[] arg0, String arg1) throws Certificate .register("https", sslSocketFactory) .build(); - PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager( socketFactoryRegistry); - b.setConnectionManager( connMgr); + PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager(socketFactoryRegistry); + b.setConnectionManager(connMgr); HttpClient httpClient = b.build(); - HttpResponse response = httpClient.execute(new HttpGet(uri)); + HttpGet request = new HttpGet(uri); + request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + this.apiKey); + request.setHeader("Platform", "android"); + HttpResponse response = httpClient.execute(request); return EntityUtils.toString(response.getEntity()); } diff --git a/onesky-conductor/src/main/java/app/onesky/android/LocalizationTask.java b/onesky-conductor/src/main/java/app/onesky/android/LocalizationTask.java index f0a5137..d2bc0bf 100644 --- a/onesky-conductor/src/main/java/app/onesky/android/LocalizationTask.java +++ b/onesky-conductor/src/main/java/app/onesky/android/LocalizationTask.java @@ -29,10 +29,12 @@ public void taskAction() throws Exception { ApiConsumer apiConsumer = new ApiConsumer(OneSkyPlugin.oneSkyPluginExtension.appId, OneSkyPlugin.oneSkyPluginExtension.apiKey); String appConfigContent = apiConsumer.getAppConfigContent(); + checkResponse(appConfigContent); writeStringFiles(appConfigContent); } private void writeStringFiles(String appConfigContent) throws Exception { + JsonParser jsonParser = new JsonParser(); JsonElement rootConfigElement = jsonParser.parse(appConfigContent); JsonArray selectors = rootConfigElement.getAsJsonObject().getAsJsonObject("app").getAsJsonArray("selectors"); @@ -77,4 +79,16 @@ private void writeStringFile(String stringFileContent, String filePath) throws E fileOutputStream.write(stringFileContent.getBytes()); fileOutputStream.close(); } + + private void checkResponse(String appConfigContent) throws Exception { + + JsonParser jsonParser = new JsonParser(); + JsonElement rootConfigElement = jsonParser.parse(appConfigContent); + JsonArray errors = rootConfigElement.getAsJsonObject().getAsJsonArray("errors"); + if (errors != null) { + for (JsonElement error : errors) { + throw new Exception(error.getAsJsonObject().get("message").getAsString()); + } + } + } } diff --git a/onesky-conductor/src/test/java/app/onesky/android/ApiConsumerTest.java b/onesky-conductor/src/test/java/app/onesky/android/ApiConsumerTest.java index 5c65c4e..ce25b74 100644 --- a/onesky-conductor/src/test/java/app/onesky/android/ApiConsumerTest.java +++ b/onesky-conductor/src/test/java/app/onesky/android/ApiConsumerTest.java @@ -4,8 +4,8 @@ public class ApiConsumerTest { - private String appId = "94a3ecf8-0134-4c3b-a3a8-b6c90f14d57a"; - private String apiKey = "1234"; + private String appId = "aa339d82-7365-406b-af92-f3d1f4c77651"; + private String apiKey = "06f7f71f85040b3ca951ecfb2e53b340"; @Test public void getAppConfig() throws Exception {