DB -> Tour add, edit, del
This commit is contained in:
		@@ -8,6 +8,7 @@ import javafx.scene.image.Image;
 | 
			
		||||
import javafx.stage.Stage;
 | 
			
		||||
 | 
			
		||||
import tourplaner.business.ConfigHelper;
 | 
			
		||||
import tourplaner.business.TourPlaner;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
@@ -23,6 +24,7 @@ public class Main extends Application {
 | 
			
		||||
        Parent root  = FXMLLoader.load(Main.class.getResource("tourplaner.fxml"));
 | 
			
		||||
        primaryStage.setTitle(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "apptitle"));
 | 
			
		||||
        primaryStage.getIcons().add(new Image("file:"+ ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "logo")));
 | 
			
		||||
        TourPlaner.init();
 | 
			
		||||
        primaryStage.setScene(new Scene(root, 1500, 1000));
 | 
			
		||||
        primaryStage.show();
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -13,20 +13,53 @@ import java.util.ArrayList;
 | 
			
		||||
public class TourPlaner{
 | 
			
		||||
    private Logger logger;
 | 
			
		||||
 | 
			
		||||
    public TourPlaner(){
 | 
			
		||||
//        LogHelper.info(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "message"),
 | 
			
		||||
//                ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "app"));
 | 
			
		||||
    /**
 | 
			
		||||
     * Erstellt alle DB Tabellen falls nötig
 | 
			
		||||
     */
 | 
			
		||||
    public static void init(){
 | 
			
		||||
        new DbConnect().init();
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public ArrayList<Tour> getAllTours(){
 | 
			
		||||
    /**
 | 
			
		||||
     * Holt alle touren aus der DB 
 | 
			
		||||
     * @return Alle touren als ArrayList
 | 
			
		||||
     */
 | 
			
		||||
    public static ArrayList<Tour> getAllTours(){
 | 
			
		||||
        DbConnect dbConnect = new DbConnect();
 | 
			
		||||
        ArrayList<Tour> touren = dbConnect.getAllTouren();
 | 
			
		||||
        return touren;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getMapJson(String start, String ziel){
 | 
			
		||||
    /**
 | 
			
		||||
     * Bearbeitet eine Tour
 | 
			
		||||
     * @param oldname Alter Tourname
 | 
			
		||||
     * @param tour Neuer Tourname
 | 
			
		||||
     * @return false bei error
 | 
			
		||||
     */
 | 
			
		||||
    public static boolean editTour(String oldname, Tour tour){
 | 
			
		||||
        DbConnect dbConnect = new DbConnect();
 | 
			
		||||
        return dbConnect.editTour(oldname, tour);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static boolean delTour(String tourname){
 | 
			
		||||
        DbConnect dbConnect = new DbConnect();
 | 
			
		||||
        return dbConnect.delTour(tourname);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Fügt eine Tour hinzu
 | 
			
		||||
     * @param newTour Neue Tour
 | 
			
		||||
     * @return false bei error
 | 
			
		||||
     */
 | 
			
		||||
    public static boolean addTour(Tour newTour){
 | 
			
		||||
        DbConnect dbConnect = new DbConnect();
 | 
			
		||||
        return dbConnect.addTour(newTour);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public static String getMapJson(String start, String ziel){
 | 
			
		||||
        // TODO: 14.04.2021 Map Quest
 | 
			
		||||
        return start + " " + ziel;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,34 @@ public class DbConnect {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Bearbeitet eine Tour
 | 
			
		||||
     * @param oldname Alter Tour name
 | 
			
		||||
     * @param tour Neues Tour Object
 | 
			
		||||
     * @return false bei error
 | 
			
		||||
     */
 | 
			
		||||
    public boolean editTour(String oldname, Tour tour) {
 | 
			
		||||
        return PostgresHelper.executeUpdate("UPDATE public.tour SET tourname = '"+tour.getName()+"', dauer = 1, mapjson = '"+tour.getMapJson()+"', start = '"+tour.getStart()+"', ziel = '"+tour.getZiel()+"', strecke = "+tour.getStrecke()+" WHERE tourname ='" + oldname + "';");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Fügt eine Tour hinzu
 | 
			
		||||
     * @param tour Neue Tour
 | 
			
		||||
     * @return false bei error
 | 
			
		||||
     */
 | 
			
		||||
    public boolean addTour(Tour tour){
 | 
			
		||||
        return PostgresHelper.executeUpdate("INSERT INTO public.tour (tourname, dauer, mapjson, start, ziel, strecke) VALUES ('"+tour.getName()+"', "+tour.getDauer()+", '"+tour.getMapJson()+"', '"+tour.getStart()+"', '"+tour.getZiel()+"', "+tour.getStrecke()+")");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Löscht eine Tour anhand des Tournamens
 | 
			
		||||
     * @param tourname Tourname der zu löschen ist
 | 
			
		||||
     * @return false bei error
 | 
			
		||||
     */
 | 
			
		||||
    public boolean delTour(String tourname){
 | 
			
		||||
        return  PostgresHelper.executeUpdate("DELETE FROM public.tour WHERE tourname = '"+tourname+"'");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Holt alle Touren aus der Datenbank
 | 
			
		||||
     * @return Null bei fehler, sonst eine List aus den IDs
 | 
			
		||||
@@ -50,7 +78,7 @@ public class DbConnect {
 | 
			
		||||
        ArrayList<Tour> touren = new ArrayList<>();
 | 
			
		||||
        try {
 | 
			
		||||
            stmt = this.c.createStatement();
 | 
			
		||||
            ResultSet rs = stmt.executeQuery("select tourname, dauer, mapjson, start, ziel, strecke from tour;");
 | 
			
		||||
            ResultSet rs = stmt.executeQuery("select * from tour;");
 | 
			
		||||
            while (rs.next()) {
 | 
			
		||||
                tourname = rs.getString("tourname");
 | 
			
		||||
                mapjson = rs.getString("mapjson");
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,16 @@ public class Tour {
 | 
			
		||||
        this.log = new ArrayList<>();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setTour(Tour tour){
 | 
			
		||||
        this.dauer = tour.getDauer();
 | 
			
		||||
        this.mapJson = tour.getMapJson();
 | 
			
		||||
        this.strecke = tour.getStrecke();
 | 
			
		||||
        this.name = tour.getName();
 | 
			
		||||
        this.start = tour.getStart();
 | 
			
		||||
        this.ziel = tour.getZiel();
 | 
			
		||||
        this.log = tour.getLogs();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Holt einen einzigen Log Eintrag anhand der Id
 | 
			
		||||
     * @param id Id des Eintrags der zu besorgen ist
 | 
			
		||||
 
 | 
			
		||||
@@ -49,6 +49,8 @@ public class TourplanerController implements Initializable {
 | 
			
		||||
    @FXML
 | 
			
		||||
    private void editTourBtn(){
 | 
			
		||||
        this.viewModel.editTour();
 | 
			
		||||
        beschreibungTableView.getItems().removeIf(s -> true); //Leert die Table View komplett
 | 
			
		||||
        beschreibungTableView.getItems().add(this.viewModel.getTour(this.viewModel.getSelectedTour().getName()));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @FXML
 | 
			
		||||
 
 | 
			
		||||
@@ -60,8 +60,11 @@ public class ViewModel {
 | 
			
		||||
 | 
			
		||||
                            this.tourData.removeIf(tour -> tour.getName().equals(this.selectedTour.getName()));
 | 
			
		||||
                            this.tourNamen.removeIf(tour -> tour.equals(this.selectedTour.getName()));
 | 
			
		||||
                            this.tourData.add(new Tour(this.neueTourName, "TBD", "TBD", 0, this.neueTourStart, this.neueTourZiel));
 | 
			
		||||
                            Tour newTour = new Tour(this.neueTourName, "TBD", "TBD", 0, this.neueTourStart, this.neueTourZiel);
 | 
			
		||||
                            this.tourData.add(newTour);
 | 
			
		||||
                            this.tourNamen.add(this.neueTourName);
 | 
			
		||||
                            LogHelper.info("Edit Tour: " + this.neueTourName + " upload zu Postgres war: " + TourPlaner.editTour(this.selectedTour.getName(), newTour), "ViewModel - EditTour");
 | 
			
		||||
                            selectTour(this.neueTourName);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
@@ -140,7 +143,7 @@ public class ViewModel {
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return false;
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -152,8 +155,10 @@ public class ViewModel {
 | 
			
		||||
        tourStartInput("");
 | 
			
		||||
        tourZielInput("");
 | 
			
		||||
        if (getTour(this.neueTourName) == null) {
 | 
			
		||||
            tourData.add(new Tour(this.neueTourName, "TBD", "TBD", 0, this.neueTourStart, this.neueTourZiel));
 | 
			
		||||
            Tour newTour = new Tour(this.neueTourName, "1", "1", 0, this.neueTourStart, this.neueTourZiel);
 | 
			
		||||
            tourData.add(newTour);
 | 
			
		||||
            tourNamen.add(this.neueTourName);
 | 
			
		||||
            TourPlaner.addTour(newTour);
 | 
			
		||||
        }
 | 
			
		||||
        this.neueTourStart = null;
 | 
			
		||||
        this.neueTourZiel = null;
 | 
			
		||||
@@ -483,7 +488,7 @@ public class ViewModel {
 | 
			
		||||
    public ObservableList<Tour> getTourData() {
 | 
			
		||||
        tourData.removeAll();
 | 
			
		||||
//        ObservableList<Tour> data = ;
 | 
			
		||||
        tourData.addAll(new TourPlaner().getAllTours());
 | 
			
		||||
        tourData.addAll(TourPlaner.getAllTours());
 | 
			
		||||
        return tourData;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -497,6 +502,7 @@ public class ViewModel {
 | 
			
		||||
            tourNamen.removeIf(s -> s.equals(tourname));
 | 
			
		||||
            logData.removeIf(s -> true);
 | 
			
		||||
            setSelectedTour(null);
 | 
			
		||||
            TourPlaner.delTour(tourname);
 | 
			
		||||
        }catch (NullPointerException e){
 | 
			
		||||
            LogHelper.error(ConfigHelper.getLangIniString("keinetourselected"),
 | 
			
		||||
                    ConfigHelper.getLangIniString("deltournoselect"));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user