Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package controllers;
- import helpers.InputHelper;
- import java.util.List;
- import model.City;
- import model.YearData;
- import repositories.Repository;
- import daos.DAOTextImpl;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.HashSet;
- import java.util.LinkedList;
- import java.util.Set;
- import java.util.TreeSet;
- import model.YearData;
- public class WeatherDataController {
- private final Repository repository;
- List<City> cities;
- City city=new City();
- public WeatherDataController() {
- InputHelper inputHelper = new InputHelper();
- cities = new LinkedList<>();
- char c = inputHelper.readCharacter("Load an existing File (Y/N)?");
- if (c == 'Y' || c == 'y') {
- String fileName = inputHelper.readString("Enter filename")+".txt";
- this.repository = new Repository(fileName);
- }
- else {
- this.repository = new Repository();
- }
- }
- public void run() {
- boolean finished = false;
- do {
- // System.out.println(repository); //if no filename is entered, then repository will return []
- char choice = displayMenu();
- switch (choice) {
- case 'A':
- addCity();
- break;
- case 'B':
- addYearData();
- break;
- case 'C':
- listCountryCityWeatherDataInCityNameOrder();
- break;
- case 'D':
- listCityAverages();
- break;
- case 'E':
- listCityWeatherDataInCityIdOrder();
- break;
- case 'Q':
- InputHelper inputHelper = new InputHelper();
- String fileName = inputHelper.readString("Enter filename");
- fileName+=".txt";
- repository.store(fileName); //used to store/save the file
- finished = true;
- }
- } while (!finished);
- }
- private char displayMenu() {
- InputHelper inputHelper = new InputHelper();
- System.out.print("\nA. Add City");
- System.out.print("\tB. Add new year data");
- System.out.print("\tC. List Country Data In City Name Order");
- System.out.print("\tD. List City Average Data");
- System.out.print("\tE. List City Weather Data In City ID Order");
- System.out.print("\tQ. Quit\n");
- return inputHelper.readCharacter("Enter choice", "ABCDEQ");
- }
- private void addCity() {
- InputHelper inputHelper = new InputHelper();
- boolean validCityId = false;
- City requiredCity=null;
- char c=inputHelper.readCharacter("Do you wish to add a new city? y to continue, t to terminate:");
- if (c=='y'||c=='Y')
- {
- int newCityId=inputHelper.readInt("Enter New City Id:");
- String newCityName=inputHelper.readString("Enter new city name:");
- String newCityCountry=inputHelper.readString("enter country in which the city is based:");
- City newCity= new City(newCityId, newCityName, newCityCountry);
- cities.add(new City(newCityId, newCityName, newCityCountry));
- repository.add(newCity);
- }
- else if (c=='T'||c=='t')
- {
- System.exit(0);
- }
- }
- private void addYearData() {
- System.out.format("\033[31m%s\033[0m%n", "Add Year Data");
- System.out.format("\033[31m%s\033[0m%n", "=============");
- InputHelper inputHelper = new InputHelper();
- char c=inputHelper.readCharacter("Do you wish to add new year data for a city? y to continue, t to terminate:");
- if (c=='y'||c=='Y')
- {
- String year=inputHelper.readString("Enter year:");
- float precip=inputHelper.readFloat("enter precipitation value:");
- int max=inputHelper.readInt("enter max temp");
- int min=inputHelper.readInt("enter min temp");
- int speed=inputHelper.readInt("enter wind speed");
- String direction=inputHelper.readString("enter wind direction");
- City newCity= new City();
- YearData yd= new YearData(year, precip, max, min, speed, direction);
- char cz = inputHelper.readCharacter("Do you wish to add to an existing city?");
- int id =inputHelper.readInt("Please enter the ID of the city you wish to add the yeardata to");
- city.getId();
- city.getyearDataCollection();
- city.addYearData(yd);
- repository.add(city);
- }
- else if (c=='T'||c=='t')
- {
- System.exit(0);
- }
- }
- private void listCountryCityWeatherDataInCityNameOrder() {
- InputHelper inputHelper = new InputHelper();
- System.out.format("\033[31m%s\033[0m%n", "City Name Order");
- System.out.format("\033[31m%s\033[0m%n", "===============");
- System.out.println("Sort By Name");
- System.out.println("------------");
- Set<City> newSet = new TreeSet(City.CityNameComparator);
- newSet.addAll(cities);
- System.out.println(newSet);
- }
- private void listCityAverages() {
- InputHelper inputHelper = new InputHelper();
- System.out.format("\033[31m%s\033[0m%n", "City Average Data");
- System.out.format("\033[31m%s\033[0m%n", "=================");
- Float cityAverages=inputHelper.readFloat("Please enter city average here:");
- YearData yeardata=new YearData();
- int a= yeardata.getMaxTemp();
- int b=yeardata.getMinTemp();
- }
- private void listCityWeatherDataInCityIdOrder() {
- InputHelper inputHelper = new InputHelper();
- System.out.format("\033[31m%s\033[0m%n", "City Id Order");
- System.out.format("\033[31m%s\033[0m%n", "=============");
- char cityID=inputHelper.readCharacter("Please enter city ID value here:");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement