From 9631eeb818f189cc9a37b22b725328037131c47a Mon Sep 17 00:00:00 2001
From: Haug Michael <mh306@hdm-stuttgart.de>
Date: Mon, 18 Jun 2018 00:06:27 +0200
Subject: [PATCH] added FormatOutput with method to print coords. output can
 now be changed in style/format to our needs

---
 .../mi/sd1/weather/Forecast.java              |  4 +-
 .../mi/sd1/weather/model/FormatOutput.java    | 52 +++++++++++++++++++
 .../weather/model/SearchingAndComparing.java  |  4 +-
 .../mi/sd1/weather/model/WeatherOutput.java   |  4 ++
 4 files changed, 61 insertions(+), 3 deletions(-)
 create mode 100644 src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/FormatOutput.java

diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/Forecast.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/Forecast.java
index 49cf6c5..e3f3c18 100755
--- a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/Forecast.java
+++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/Forecast.java
@@ -19,16 +19,18 @@ public class Forecast {
      */
     public static void main(String[] args) {
 
+
         SearchingAndComparing.MethodSearchingAndComparing();
 
 
 
+/*
         CopyToFile.CopyURLToFile("weatherCache\\" + SearchingAndComparing.GetID() + ".json");
 
         CopyToFile.CopyFileToWeather();
 
         WeatherOutput.PrintWeather();
 
-
+*/
     }
 }
diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/FormatOutput.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/FormatOutput.java
new file mode 100644
index 0000000..8b58913
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/FormatOutput.java
@@ -0,0 +1,52 @@
+package de.hdm_stuttgart.mi.sd1.weather.model;
+
+
+public class FormatOutput {
+
+    public static String cleanCoordOutput(String additionalProperties) {
+
+        int controllDigit = 0;
+        int firstIndexLon = 0;
+        int lastIndexLon = 0;
+        int firstIndexLat = 0;
+        int lastIndexLat = 0;
+        char[] coordsInArray = additionalProperties.toCharArray();
+
+
+        for (int i = 0; controllDigit != 2; i++) {
+            if (coordsInArray[i] == '=') {
+                controllDigit++;
+                firstIndexLon = i + 1;
+            }
+        }
+
+        controllDigit = 0;
+
+        for (int i = 0; i < coordsInArray.length; i++) {
+            if (coordsInArray[i] == ',') {
+                lastIndexLon = i;
+            }
+        }
+
+        for (int i = 0; controllDigit != 3; i++) {
+            if (coordsInArray[i] == '=') {
+                controllDigit++;
+                firstIndexLat = i + 1;
+            }
+        }
+
+        controllDigit = 0;
+
+        for (int i = 0; controllDigit != 1; i++) {
+            if (coordsInArray[i] == '}') {
+                lastIndexLat = i;
+                controllDigit++;
+            }
+        }
+
+        String coordsLon = additionalProperties.substring(firstIndexLon, lastIndexLon);
+        String coordsLat = additionalProperties.substring(firstIndexLat, lastIndexLat);
+
+        return coordsLon + ", " + coordsLat;
+    }
+}
diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/SearchingAndComparing.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/SearchingAndComparing.java
index fad6594..802a916 100755
--- a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/SearchingAndComparing.java
+++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/SearchingAndComparing.java
@@ -4,6 +4,7 @@ import de.hdm_stuttgart.mi.sd1.weather.cities.Cities;
 import de.hdm_stuttgart.mi.sd1.weather.cities.City;
 
 import java.util.Arrays;
+import java.util.Map;
 import java.util.Scanner;
 
 public class SearchingAndComparing {
@@ -46,7 +47,7 @@ public class SearchingAndComparing {
             City[] multipleResults = Arrays.copyOf(citySelector, k);
 
             for (int i = 0; i < multipleResults.length; i++) {
-                System.out.println(i + 1 + ". " + multipleResults[i].getName() + " \n country: " + multipleResults[i].getCountry() + " | coordinates: " + citySelector[i].getAdditionalProperties());
+                System.out.println(i + 1 + ". " + multipleResults[i].getName() + " \n country: " + multipleResults[i].getCountry() + " | coordinates: " + FormatOutput.cleanCoordOutput(citySelector[i].getAdditionalProperties().toString()));
             }
             System.out.println("Please enter the number of the city you want weatherdata for: ");
             Scanner scanCityChoice = new Scanner(System.in);
@@ -76,7 +77,6 @@ public class SearchingAndComparing {
     }
 
     public static int GetID() {
-
         return idToSearch;
     }
 
diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/WeatherOutput.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/WeatherOutput.java
index caaa480..94b110f 100755
--- a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/WeatherOutput.java
+++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/WeatherOutput.java
@@ -16,6 +16,10 @@ public class WeatherOutput {
         for (int i = 0; i < weatherObject.getList().length - 1; i++) {
 
             System.out.print(weatherObject.getList()[i].getDtTxt() + ": "); // output nicht wie bei Goik
+            double timeStamp = weatherObject.getList()[i].getDt();
+            timeStamp = timeStamp;
+            System.out.println(timeStamp);
+            // January 1, 1970 00:00:00.000 GMT
 
             Main MainWeatherData = weatherObject.getList()[i].getMain();
             System.out.print(Math.round(MainWeatherData.getTemp()) + "°C");
-- 
GitLab