You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by se...@apache.org on 2021/06/24 12:25:31 UTC

[incubator-nlpcraft] branch NLPCRAFT-345 created (now 7b6667c)

This is an automated email from the ASF dual-hosted git repository.

sergeykamov pushed a change to branch NLPCRAFT-345
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git.


      at 7b6667c  WIP.

This branch includes the following new commits:

     new 7b6667c  WIP.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[incubator-nlpcraft] 01/01: WIP.

Posted by se...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sergeykamov pushed a commit to branch NLPCRAFT-345
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git

commit 7b6667cac5d45ed64807fecd9b11046335e1cde5
Author: Sergey Kamov <sk...@gmail.com>
AuthorDate: Thu Jun 24 15:25:19 2021 +0300

    WIP.
---
 .../openweathermap/OpenWeatherMapService.java      | 23 +++++++++++-----------
 .../examples/weather/NCModelValidationSpec.scala   | 13 ++++++++++++
 .../src/test/resources/openweathermap/api_key.txt  |  1 +
 3 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/nlpcraft-examples/weather/src/main/java/org/apache/nlpcraft/examples/weather/openweathermap/OpenWeatherMapService.java b/nlpcraft-examples/weather/src/main/java/org/apache/nlpcraft/examples/weather/openweathermap/OpenWeatherMapService.java
index 2faa068..1d43507 100644
--- a/nlpcraft-examples/weather/src/main/java/org/apache/nlpcraft/examples/weather/openweathermap/OpenWeatherMapService.java
+++ b/nlpcraft-examples/weather/src/main/java/org/apache/nlpcraft/examples/weather/openweathermap/OpenWeatherMapService.java
@@ -50,7 +50,8 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
  */
 public class OpenWeatherMapService {
     // GSON response type.
-    private static final Type TYPE_RESP = new TypeToken<HashMap<String, Object>>() {}.getType();
+    private static final Type TYPE_RESP = new TypeToken<HashMap<String, Object>>() {
+    }.getType();
 
     // Access key.
     private final String key;
@@ -69,8 +70,8 @@ public class OpenWeatherMapService {
 
     // Can be configured.
     private final ExecutorService pool = NCUtils.mkThreadPool(
-    "openweather",
-    Runtime.getRuntime().availableProcessors() * 8
+        "openweather",
+        Runtime.getRuntime().availableProcessors() * 8
     );
 
     /**
@@ -98,8 +99,8 @@ public class OpenWeatherMapService {
     /**
      * Constructor.
      *
-     * @param key  Service key.
-     * @param maxDaysBack Max days (looking back) configuration value.
+     * @param key            Service key.
+     * @param maxDaysBack    Max days (looking back) configuration value.
      * @param maxDaysForward Max days (looking forward) configuration value.
      */
     public OpenWeatherMapService(String key, int maxDaysBack, int maxDaysForward) {
@@ -125,10 +126,9 @@ public class OpenWeatherMapService {
     }
 
     /**
-     *
      * @param lat Latitude.
      * @param lon Longitude.
-     * @param d Date.
+     * @param d   Date.
      * @return REST call result.
      */
     private Map<String, Object> get(double lat, double lon, long d) {
@@ -141,7 +141,6 @@ public class OpenWeatherMapService {
     }
 
     /**
-     *
      * @param url REST endpoint URL.
      * @return REST call result.
      */
@@ -167,10 +166,10 @@ public class OpenWeatherMapService {
     /**
      * See https://openweathermap.org/api/one-call-api#hist_parameter to extract fields.
      *
-     * @param lat Latitude.
-     * @param lon Longitude.
+     * @param lat  Latitude.
+     * @param lon  Longitude.
      * @param from From date.
-     * @param to To date.
+     * @param to   To date.
      * @return List of REST call results.
      * @throws OpenWeatherMapException Thrown in case of any provider errors.
      */
@@ -218,6 +217,6 @@ public class OpenWeatherMapService {
      * @throws OpenWeatherMapException Thrown in case of any provider errors.
      */
     public Map<String, Object> getCurrent(double lat, double lon) throws OpenWeatherMapException {
-        return get("https://api.openweathermap.org/data/2.5/forecast?lat=" + lat + "&lon=" + lon +"&appid="+ key);
+        return get("https://api.openweathermap.org/data/2.5/forecast?lat=" + lat + "&lon=" + lon + "&appid=" + key);
     }
 }
diff --git a/nlpcraft-examples/weather/src/test/java/org/apache/nlpcraft/examples/weather/NCModelValidationSpec.scala b/nlpcraft-examples/weather/src/test/java/org/apache/nlpcraft/examples/weather/NCModelValidationSpec.scala
index 6258fe6..465120f 100644
--- a/nlpcraft-examples/weather/src/test/java/org/apache/nlpcraft/examples/weather/NCModelValidationSpec.scala
+++ b/nlpcraft-examples/weather/src/test/java/org/apache/nlpcraft/examples/weather/NCModelValidationSpec.scala
@@ -17,6 +17,7 @@
 
 package org.apache.nlpcraft.examples.weather
 
+import org.apache.nlpcraft.common.U
 import org.apache.nlpcraft.model.tools.test.NCTestAutoModelValidator
 import org.junit.jupiter.api.{Assertions, Test}
 
@@ -24,8 +25,20 @@ import org.junit.jupiter.api.{Assertions, Test}
   * JUnit model validation.
   */
 class NCModelValidationSpec {
+    private final val PROP_NAME = "OWM_API_KEY"
+
     @Test
     def test(): Unit = {
+        // Set your own API key here.
+        var apiKey: String = System.getProperty(PROP_NAME)
+
+        if (apiKey == null)
+            apiKey = System.getenv(PROP_NAME)
+
+        // Default value, used for tests.
+        if (apiKey == null)
+            System.setProperty(PROP_NAME, U.readResource("openweathermap/api_key.txt").mkString.strip)
+
         // Instruct auto-validator what models to test.
         System.setProperty("NLPCRAFT_TEST_MODELS", "org.apache.nlpcraft.examples.weather.WeatherModel")
 
diff --git a/nlpcraft-examples/weather/src/test/resources/openweathermap/api_key.txt b/nlpcraft-examples/weather/src/test/resources/openweathermap/api_key.txt
new file mode 100644
index 0000000..0a4af6e
--- /dev/null
+++ b/nlpcraft-examples/weather/src/test/resources/openweathermap/api_key.txt
@@ -0,0 +1 @@
+20cb4ca5715a699436af8fab11d234e6
\ No newline at end of file