From dfeb251d16bb5417d6b39ad3c2785a2f42f0abbc Mon Sep 17 00:00:00 2001 From: Marcin Hutek Date: Tue, 12 Dec 2023 20:38:29 +0100 Subject: [PATCH] Main.java cleared and commented out --- .gitignore | 2 + results/.gitignore | 41 +++++++++++++++++ src/main/java/model/ConvertResultPdf.java | 41 ----------------- src/main/java/org/example/Main.java | 56 +++++++++-------------- temporary_file.txt | 6 +-- 5 files changed, 68 insertions(+), 78 deletions(-) create mode 100644 results/.gitignore delete mode 100644 src/main/java/model/ConvertResultPdf.java diff --git a/.gitignore b/.gitignore index af665ab..7997183 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,5 @@ build/ ### Mac OS ### .DS_Store + +temporary_file.txt \ No newline at end of file diff --git a/results/.gitignore b/results/.gitignore new file mode 100644 index 0000000..f7463f6 --- /dev/null +++ b/results/.gitignore @@ -0,0 +1,41 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store + +* +!.gitignore \ No newline at end of file diff --git a/src/main/java/model/ConvertResultPdf.java b/src/main/java/model/ConvertResultPdf.java deleted file mode 100644 index f370b30..0000000 --- a/src/main/java/model/ConvertResultPdf.java +++ /dev/null @@ -1,41 +0,0 @@ -//package model; -//import com.fasterxml.jackson.databind.ObjectMapper; -//import com.itextpdf.text.Document; -//import com.itextpdf.text.Paragraph; -//import com.itextpdf.text.pdf.PdfWriter; -// -//import java.io.BufferedReader; -//import java.io.FileOutputStream; -//import java.io.FileReader; -//import java.io.IOException; -//import java.util.List; -// -//public class ConvertResultPdf { -// private String inputFile; -// private String outputFile; -// -// -// public ConvertResultPdf(String inputFile, String outputFile) { -// this.inputFile = inputFile; -// this.outputFile = outputFile; -// } -// -// public void convertToPdf() { -// try (BufferedReader br = new BufferedReader(new FileReader(inputFile))) { -// Document document = new Document(); -// PdfWriter.getInstance(document, new FileOutputStream(outputFile)); -// document.open(); -// -// String line; -// while ((line = br.readLine()) != null) { -// document.add(new Paragraph(line)); -// } -// -// document.close(); -// } catch (IOException e) { -// e.printStackTrace(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -//} \ No newline at end of file diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index 3fb584e..16d1e3e 100644 --- a/src/main/java/org/example/Main.java +++ b/src/main/java/org/example/Main.java @@ -1,32 +1,15 @@ package org.example; -//import com.fasterxml.jackson.core.type.TypeReference; -//import com.fasterxml.jackson.databind.JsonNode; -//import com.fasterxml.jackson.databind.ObjectMapper; import model.*; -//import org.apache.http.client.ClientProtocolException; -//import org.apache.http.client.methods.CloseableHttpResponse; -//import org.apache.http.client.methods.HttpUriRequest; -//import org.apache.http.impl.client.CloseableHttpClient; -//import org.apache.http.impl.client.CookieSpecRegistries; import java.io.IOException; import java.util.*; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -//import java.io.File; -//import java.io.IOException; -//import java.sql.SQLOutput; -//import java.util.List; import java.util.Objects; import java.util.Scanner; -//import org.apache.http.Header; -//import org.apache.http.HttpEntity; -//import org.apache.http.HttpResponse; -//import org.apache.http.client.methods.HttpGet; -//import org.apache.http.impl.client.HttpClients; -//import org.apache.http.util.EntityUtils; + public class Main { public static void main(String[] args) throws IOException { @@ -34,6 +17,7 @@ public class Main { String API_key = "4c991761f17e10358c944a3c64a3e24c"; String fileCities = "cities.json"; + // utworzenie listy miast wraz z ich koordynatami JsonToMap jsonToMap = new JsonToMap(); Map> cityMap = jsonToMap.createCityMap(fileCities); @@ -45,67 +29,70 @@ public class Main { Scanner scanner = new Scanner(System.in); + // utworzenie pustego pliku tymczasowego przechowujacego wyniki zapytan TemporaryFile temporaryFile = new TemporaryFile(); temporaryFile.createEmptyFile(); - HttpClient httpClient = new HttpClient(); -// ForecastPreparation weatherString = new ForecastPreparation(); + ForecastPreparation forecastPreparation = new ForecastPreparation(); System.out.println("Program rozpoczal dzialanie."); + + // glowna petla programu while (true) { + System.out.println("Sprawdz pogode - y \n" + "Zakoncz i zapisz wynik - z\n" + "Wyjdz bez zapisywania - x"); String input = scanner.nextLine().toLowerCase(); + // wyswietlenie prognozy dla wskazanego miasta if (Objects.equals(input, "y")) { System.out.println("Podaj nazwe miasta: "); String inputCity = scanner.nextLine().toLowerCase(); if (cityMap.containsKey(inputCity)) { + Map specificCity = (Map) cityMap.get(inputCity); double latitude = (double) specificCity.get("latitude"); double longitude = (double) specificCity.get("longitude"); + // wygenerowanie odpowiedniego adresu url String urlString = "https://api.openweathermap.org/data/2.5/weather?lat=" + latitude + "&lon=" + longitude + "&appid=" + API_key; + String response = httpClient.executeGetRequest(urlString); -// System.out.println(response);] weatherForecast weatherForecast = forecastPreparation.fetchForecastData(inputCity, response); - String forecastString = weatherForecast.prepareForecastString(); System.out.println(forecastString); -// String forecastString = weatherString.prepareForecast(inputCity, response); -// System.out.println(forecastString); + + // zapisanie prognozy do pliku tymczasowego temporaryFile.addToFile(forecastString); } else { System.out.println("Podanego miasta nie ma na liscie."); } + // zapis wynikow } else if (Objects.equals(input, "z")) { + System.out.println("W jakim formacie chcesz zapisac wyniki?\n pdf/json/xml"); String whichFormat = scanner.nextLine().toLowerCase(); + + // odczyt czasu na potrzeby wygenerowania nazwy pliku DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HHmmss"); String sformatowanyCzas = czas.format(formatter); - if (Objects.equals(whichFormat, "pdf")) { -// ConvertResultPdf convertResult = new ConvertResultPdf(temporaryFile.FILE_NAME, -// "results.pdf"); -// convertResult.convertToPdf(); + // zapis do pdf + if (Objects.equals(whichFormat, "pdf")) { String outputFile = "results/results" + sformatowanyCzas + ".pdf" ; -// System.out.println(sformatowanyCzas); -// System.out.println(outputFile); weatherForecast.saveToPdf(temporaryFile.FILE_NAME, outputFile); + //zapis do json } else if (Objects.equals(whichFormat, "json")) { -// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HHmmss"); -// String sformatowanyCzas = czas.format(formatter); String outputFile = "results/results" + sformatowanyCzas + ".json"; weatherForecast.saveToJson(outputFile); + // zapis do xml } else if (Objects.equals(whichFormat, "xml")) { -// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HHmmss"); -// String sformatowanyCzas = czas.format(formatter); String outputFile = "results/results" + sformatowanyCzas + ".xml"; weatherForecast.saveToXml(outputFile); } else { @@ -114,6 +101,7 @@ public class Main { } System.out.println("Program zakonczyl dzialanie."); break; + // wyjscie z programu } else if (Objects.equals(input,"x")) { System.out.println("Program zakonczyl dzialanie."); break; diff --git a/temporary_file.txt b/temporary_file.txt index 57b9aac..4812477 100644 --- a/temporary_file.txt +++ b/temporary_file.txt @@ -1,6 +1,6 @@ city: warsaw description: broken clouds -temperature[K]: 272,49 -pressure[hPa]: 1006 -humidity[%]: 87 +temperature[K]: 276,80 +pressure[hPa]: 1005 +humidity[%]: 95 --------------------