animalclient.AnimalClient.java Source code

Java tutorial

Introduction

Here is the source code for animalclient.AnimalClient.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package animalclient;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import org.json.simple.parser.ParseException;

/**
 *
 * @author HTM_Campus
 */
public class AnimalClient {
    static String currency = "EUR";

    /**
     * @param args the command line arguments
     */
    public static void main(String[] arg) throws IOException, MalformedURLException, ParseException {
        // TODO code application logic here
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);

        String username;
        String password;

        System.out.println("Username:");
        username = br.readLine();
        System.out.println("Password:");
        password = br.readLine();

        AnimalJerseyClient client = new AnimalJerseyClient(username, password);

        System.out.println("");
        System.out.println(
                "Willkommen bei ihrer Tierhandlung fr exotische Tiere. Geben sie help ein fr weitere Informationen");

        String auswahl = br.readLine();

        if (auswahl.equals("help")) {
            System.out.println("Sie haben folgende Auswahlmglichkeiten:");
            System.out.println("1. Listen sie alle verfgbaren Tiere auf.");
            System.out.println("2. Kaufen sie ein Tier.");
            System.out.println("3. Suchen sie nach einem Tier.");
            System.out.println("4. Whrung ndern.");
            auswahl = br.readLine();
            makeDecision(client, auswahl);
        } else {
            makeDecision(client, auswahl);
        }

        System.out.print("End");
    }

    private static void makeDecision(AnimalJerseyClient client, String auswahl)
            throws IOException, MalformedURLException, ParseException {
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        System.out.println("Bite treffen sie ihre Entscheidung");
        if (auswahl.isEmpty())
            auswahl = br.readLine();
        switch (auswahl) {
        case "1":
            System.out.println("List all Tier");
            String allAnimals = client.listAnimals(currency);
            splitString(allAnimals);
            makeDecision(client, br.readLine());
            break;
        case "2":
            System.out.println("Geben Sie ein welches Tier sie kaufen wollen");
            String tierAuswahl = br.readLine();
            String checkTrue = client.searchAnimals(tierAuswahl, currency);
            if (checkTrue.contains("Tut mir Leid")) {
                System.out.println("Wir konnten ihr Tier leider nicht finden. Wir haben folgende Tiere fr sie:");
                splitString(client.listAnimals(currency));
            } else {
                System.out.println("Wir haben ihr Tier gefunden.");
                buyAnimal(client, tierAuswahl);
            }
            makeDecision(client, br.readLine());
            break;
        case "3":
            System.out.println("Geben Sie einen Tiernamen ein");
            splitString(client.searchAnimals(br.readLine(), currency));
            makeDecision(client, br.readLine());
            break;
        case "4":
            System.out.println("Geben Sie eine Waehurung ein (EUR, USD, GBP)");
            currency = br.readLine();
            makeDecision(client, br.readLine());
            break;
        case "help":
            System.out.println("Sie haben folgende Auswahlmglichkeiten:");
            System.out.println("1. Listen sie alle verfgbaren Tiere auf.");
            System.out.println("2. Kaufen sie ein Tier.");
            System.out.println("3. Suchen sie nach einem Tier.");
            System.out.println("4. Whrung ndern.");
            makeDecision(client, br.readLine());
        default:
            System.out.println("Geben Sie eine Zahl zwischen 1 und 4 ein.");
            makeDecision(client, br.readLine());
        }
    }

    private static String[] splitString(String allAnimals) {
        String[] parts = allAnimals.split("<br>");
        for (int i = 1; i < parts.length - 1; i++) {
            System.out.println(parts[i].toString() + "\n");
        }
        return parts;
    }

    private static void buyAnimal(AnimalJerseyClient client, String tierAuswahl)
            throws IOException, MalformedURLException, ParseException {
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);

        System.out.println("Wieviel Stck " + tierAuswahl + " wollen sie kaufen?");
        int stueckzahl = Integer.parseInt(br.readLine());
        System.out.println("Sie wollen " + stueckzahl + " Stck " + tierAuswahl
                + " kaufen. berprfen Sie nun die entfernung zu unserem Standort");
        System.out.println("Geben sie dazu ihre Wohnort ein");
        String wohnort = br.readLine();
        GoogleClient clientGoogle = new GoogleClient(wohnort);
        System.out.println("Die entfernung betrgt: " + clientGoogle.getDistance());
        System.out.println("Besttigen Sie bitte den Kauf von " + stueckzahl + " " + tierAuswahl
                + "an den Wohnort " + wohnort + "(y/n)");
        if (br.readLine().equals("y")) {
            System.out.println(client.buyAnimals(stueckzahl, tierAuswahl, currency));
            //            System.out.println("Ihr kauf wurder erfolgreich durchgefhrt. Welches Tier wollen sie als nchstes Kaufen?");
            //            makeDecision(client, "2");
        } else {
            System.out.println("Schade das Sie das Tier nicht kaufen wollen!");
            //            br.readLine();
            //  System.out.println("Wir danken ihnen trotzdem und hoffen das sie ein anderes Tier kaufen wollen?");
            // makeDecision(client, "2");
            //            System.err.println("Danke das sie sich entschieden haben ihr Tier doch noch zu kaufen.");
            //            makeDecision(client, "");
        }
    }

}