DB -> Log get, add, edit, del
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,5 @@
 | 
				
			|||||||
out/
 | 
					out/
 | 
				
			||||||
conf.ini
 | 
					conf.ini
 | 
				
			||||||
log/log4j/log.out/
 | 
					log/
 | 
				
			||||||
reports/
 | 
					reports/
 | 
				
			||||||
 | 
					.idea/dataSources*
 | 
				
			||||||
@@ -11,5 +11,6 @@
 | 
				
			|||||||
    <orderEntry type="library" name="org.ini4j:ini4j:0.5.4" level="project" />
 | 
					    <orderEntry type="library" name="org.ini4j:ini4j:0.5.4" level="project" />
 | 
				
			||||||
    <orderEntry type="library" name="log4j:log4j:1.2.17" level="project" />
 | 
					    <orderEntry type="library" name="log4j:log4j:1.2.17" level="project" />
 | 
				
			||||||
    <orderEntry type="library" name="org.apache.pdfbox:pdfbox:1.8.9" level="project" />
 | 
					    <orderEntry type="library" name="org.apache.pdfbox:pdfbox:1.8.9" level="project" />
 | 
				
			||||||
 | 
					    <orderEntry type="library" name="org.postgresql:postgresql:42.2.19" level="project" />
 | 
				
			||||||
  </component>
 | 
					  </component>
 | 
				
			||||||
</module>
 | 
					</module>
 | 
				
			||||||
@@ -1,10 +1,13 @@
 | 
				
			|||||||
package tourplaner.business;
 | 
					package tourplaner.business;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.apache.log4j.Logger;
 | 
					import org.apache.log4j.Logger;
 | 
				
			||||||
 | 
					import org.apache.pdfbox.exceptions.COSVisitorException;
 | 
				
			||||||
import tourplaner.data.DbConnect;
 | 
					import tourplaner.data.DbConnect;
 | 
				
			||||||
import tourplaner.data.PostgresHelper;
 | 
					import tourplaner.data.PostgresHelper;
 | 
				
			||||||
 | 
					import tourplaner.object.Log;
 | 
				
			||||||
import tourplaner.object.Tour;
 | 
					import tourplaner.object.Tour;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.io.IOException;
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@@ -25,9 +28,7 @@ public class TourPlaner{
 | 
				
			|||||||
     * @return Alle touren als ArrayList
 | 
					     * @return Alle touren als ArrayList
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static ArrayList<Tour> getAllTours(){
 | 
					    public static ArrayList<Tour> getAllTours(){
 | 
				
			||||||
        DbConnect dbConnect = new DbConnect();
 | 
					        return new DbConnect().getAllTouren();
 | 
				
			||||||
        ArrayList<Tour> touren = dbConnect.getAllTouren();
 | 
					 | 
				
			||||||
        return touren;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -37,13 +38,11 @@ public class TourPlaner{
 | 
				
			|||||||
     * @return false bei error
 | 
					     * @return false bei error
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static boolean editTour(String oldname, Tour tour){
 | 
					    public static boolean editTour(String oldname, Tour tour){
 | 
				
			||||||
        DbConnect dbConnect = new DbConnect();
 | 
					        return new DbConnect().editTour(oldname, tour);
 | 
				
			||||||
        return dbConnect.editTour(oldname, tour);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static boolean delTour(String tourname){
 | 
					    public static boolean delTour(String tourname){
 | 
				
			||||||
        DbConnect dbConnect = new DbConnect();
 | 
					        return new DbConnect().delTour(tourname);
 | 
				
			||||||
        return dbConnect.delTour(tourname);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -52,11 +51,38 @@ public class TourPlaner{
 | 
				
			|||||||
     * @return false bei error
 | 
					     * @return false bei error
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static boolean addTour(Tour newTour){
 | 
					    public static boolean addTour(Tour newTour){
 | 
				
			||||||
        DbConnect dbConnect = new DbConnect();
 | 
					        return new DbConnect().addTour(newTour);
 | 
				
			||||||
        return dbConnect.addTour(newTour);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static ArrayList<Log> getLogs(String tourname){
 | 
				
			||||||
 | 
					        return new DbConnect().getLogs(tourname);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static void doReport(String tourname){
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            Reporter.createTourReport(tourname);
 | 
				
			||||||
 | 
					        } catch (IOException e) {
 | 
				
			||||||
 | 
					            LogHelper.error(e.getMessage(), e.getClass().getName());
 | 
				
			||||||
 | 
					        } catch (COSVisitorException e) {
 | 
				
			||||||
 | 
					            LogHelper.error(e.getMessage(), e.getClass().getName());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static boolean addLog(String tourname, Log log){
 | 
				
			||||||
 | 
					        if(Double.isInfinite(log.getAvgspeed())) log.setAvgspeed(-1.0);
 | 
				
			||||||
 | 
					        return new DbConnect().addLog(tourname, log);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static boolean delLog(String tourname, String id){
 | 
				
			||||||
 | 
					        return new DbConnect().delLog(tourname, id);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static boolean editLog(String tourname, Log log){
 | 
				
			||||||
 | 
					        if(Double.isInfinite(log.getAvgspeed())) log.setAvgspeed(-1.0);
 | 
				
			||||||
 | 
					        return new DbConnect().editLog(tourname, log);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static String getMapJson(String start, String ziel){
 | 
					    public static String getMapJson(String start, String ziel){
 | 
				
			||||||
        // TODO: 14.04.2021 Map Quest
 | 
					        // TODO: 14.04.2021 Map Quest
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,14 @@
 | 
				
			|||||||
package tourplaner.data;
 | 
					package tourplaner.data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javafx.geometry.Pos;
 | 
				
			||||||
 | 
					import tourplaner.object.Log;
 | 
				
			||||||
import tourplaner.object.Tour;
 | 
					import tourplaner.object.Tour;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.sql.Connection;
 | 
					import java.sql.Connection;
 | 
				
			||||||
 | 
					import java.sql.Date;
 | 
				
			||||||
import java.sql.ResultSet;
 | 
					import java.sql.ResultSet;
 | 
				
			||||||
import java.sql.Statement;
 | 
					import java.sql.Statement;
 | 
				
			||||||
 | 
					import java.time.LocalDate;
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@@ -45,9 +49,20 @@ public class DbConnect {
 | 
				
			|||||||
     * @return false bei error
 | 
					     * @return false bei error
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public boolean editTour(String oldname, Tour tour) {
 | 
					    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 + "';");
 | 
					        String tourname = tour.getName();
 | 
				
			||||||
 | 
					        ArrayList<Boolean> result = new ArrayList<>();
 | 
				
			||||||
 | 
					        ArrayList<Log> logs = getLogs(oldname);
 | 
				
			||||||
 | 
					        result.add(delLogs(oldname));
 | 
				
			||||||
 | 
					        result.add(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 + "';"));
 | 
				
			||||||
 | 
					        logs.forEach(log -> {
 | 
				
			||||||
 | 
					            result.add(addLog(tourname, log));
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        return !result.contains(false);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private boolean delLogs(String tourname){
 | 
				
			||||||
 | 
					        return PostgresHelper.executeUpdate("DELETE FROM public.log WHERE tourname = '"+tourname+"'");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Fügt eine Tour hinzu
 | 
					     * Fügt eine Tour hinzu
 | 
				
			||||||
     * @param tour Neue Tour
 | 
					     * @param tour Neue Tour
 | 
				
			||||||
@@ -63,7 +78,70 @@ public class DbConnect {
 | 
				
			|||||||
     * @return false bei error
 | 
					     * @return false bei error
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public boolean delTour(String tourname){
 | 
					    public boolean delTour(String tourname){
 | 
				
			||||||
        return  PostgresHelper.executeUpdate("DELETE FROM public.tour WHERE tourname = '"+tourname+"'");
 | 
					        ArrayList<Boolean> result = new ArrayList<>();
 | 
				
			||||||
 | 
					        result.add(delLogs(tourname));
 | 
				
			||||||
 | 
					        result.add(PostgresHelper.executeUpdate("DELETE FROM public.tour WHERE tourname = '"+tourname+"'"));
 | 
				
			||||||
 | 
					        return !result.contains(false);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public ArrayList<Log> getLogs(String tourname){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.c = PostgresHelper.con();
 | 
				
			||||||
 | 
					        String id, bemerkung ;
 | 
				
			||||||
 | 
					        double dauer, strecke, pause, gegangen, avg, hightmeter;
 | 
				
			||||||
 | 
					        Date datum;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ArrayList<Log> logs = new ArrayList<>();
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            stmt = this.c.createStatement();
 | 
				
			||||||
 | 
					            ResultSet rs = stmt.executeQuery("SELECT * FROM public.log where tourname = '"+ tourname +"'");
 | 
				
			||||||
 | 
					            while (rs.next()) {
 | 
				
			||||||
 | 
					                id = rs.getString("id");
 | 
				
			||||||
 | 
					                bemerkung = rs.getString("bemerkung");
 | 
				
			||||||
 | 
					                datum = rs.getDate("datum");
 | 
				
			||||||
 | 
					                dauer = rs.getDouble("dauer");
 | 
				
			||||||
 | 
					//                avg = rs.getDouble("avg");
 | 
				
			||||||
 | 
					                hightmeter = rs.getDouble("hightmeter");
 | 
				
			||||||
 | 
					                pause = rs.getDouble("pause");
 | 
				
			||||||
 | 
					//                gegangen = rs.getDouble("gegangen");
 | 
				
			||||||
 | 
					                strecke = rs.getDouble("strecke");
 | 
				
			||||||
 | 
					                if (!tourname.isEmpty()) {
 | 
				
			||||||
 | 
					                    logs.add(new Log(id, dauer, datum.toLocalDate(), strecke, bemerkung,hightmeter, pause));
 | 
				
			||||||
 | 
					                }else {
 | 
				
			||||||
 | 
					                    return null;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            rs.close();
 | 
				
			||||||
 | 
					            stmt.close();
 | 
				
			||||||
 | 
					            this.c.close();
 | 
				
			||||||
 | 
					            return logs;
 | 
				
			||||||
 | 
					        } catch (Exception e) {
 | 
				
			||||||
 | 
					            System.err.println(e.getClass().getName() + ": " + e.getMessage());
 | 
				
			||||||
 | 
					            return null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Füght einen Logeintrag ein
 | 
				
			||||||
 | 
					     * @param tourname Zu welcher Tour der Logeintrag gehört
 | 
				
			||||||
 | 
					     * @param log Der Logeintrag
 | 
				
			||||||
 | 
					     * @return false bei error
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public boolean addLog(String tourname, Log log){
 | 
				
			||||||
 | 
					        if(Double.isInfinite(log.getAvgspeed())) log.setAvgspeed(-1.0);
 | 
				
			||||||
 | 
					        return PostgresHelper.executeUpdate("INSERT INTO public.log (tourname, id, bemerkung, datum, strecke, avg, hightmeter, pause, gegangen, dauer) VALUES ('"+tourname+"', '"+log.getId()+"', '"+log.getBemerkung()+"', '"+log.getDatum()+"', "
 | 
				
			||||||
 | 
					                +log.getStrecke()+", "+log.getAvgspeed()+", "+log.getHightmeter()+", "+log.getPause()+", "+log.getGegangen()+", "+log.getDauer()+")");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean editLog(String tourname, Log log){
 | 
				
			||||||
 | 
					        return PostgresHelper.executeUpdate("UPDATE public.log SET bemerkung = '"+log.getBemerkung()+"', datum = '"+log.getDatum()+"', strecke = "+log.getStrecke()+", avg = "+log.getAvgspeed()+", hightmeter = "+
 | 
				
			||||||
 | 
					                log.getHightmeter()+", pause = "+log.getPause()+", gegangen = "+log.getGegangen()+", dauer = "+log.getDauer()+" WHERE tourname = '"+tourname+"' and id = '"+log.getId()+"'");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean delLog(String tourname, String id){
 | 
				
			||||||
 | 
					        System.out.println("DELETE FROM public.log WHERE tourname = '"+tourname+"' and id = '"+id+"'");
 | 
				
			||||||
 | 
					        return PostgresHelper.executeUpdate("DELETE FROM public.log WHERE tourname = '"+tourname+"' and id = '"+id+"'");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,7 @@ import javafx.scene.control.cell.PropertyValueFactory;
 | 
				
			|||||||
import javafx.scene.input.MouseEvent;
 | 
					import javafx.scene.input.MouseEvent;
 | 
				
			||||||
import tourplaner.business.ConfigHelper;
 | 
					import tourplaner.business.ConfigHelper;
 | 
				
			||||||
import tourplaner.business.LogHelper;
 | 
					import tourplaner.business.LogHelper;
 | 
				
			||||||
 | 
					import tourplaner.business.TourPlaner;
 | 
				
			||||||
import tourplaner.object.Log;
 | 
					import tourplaner.object.Log;
 | 
				
			||||||
import tourplaner.object.Tour;
 | 
					import tourplaner.object.Tour;
 | 
				
			||||||
import tourplaner.viewmodels.ViewModel;
 | 
					import tourplaner.viewmodels.ViewModel;
 | 
				
			||||||
@@ -49,13 +50,13 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
    @FXML
 | 
					    @FXML
 | 
				
			||||||
    private void editTourBtn(){
 | 
					    private void editTourBtn(){
 | 
				
			||||||
        this.viewModel.editTour();
 | 
					        this.viewModel.editTour();
 | 
				
			||||||
        beschreibungTableView.getItems().removeIf(s -> true); //Leert die Table View komplett
 | 
					        syncTour(this.viewModel.getSelectedTour().getName());
 | 
				
			||||||
        beschreibungTableView.getItems().add(this.viewModel.getTour(this.viewModel.getSelectedTour().getName()));
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @FXML
 | 
					    @FXML
 | 
				
			||||||
    private void editLogBtn(){
 | 
					    private void editLogBtn(){
 | 
				
			||||||
        this.viewModel.editLog();
 | 
					        this.viewModel.editLog();
 | 
				
			||||||
 | 
					        syncLogs();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Öffnet github im standart browser
 | 
					     * Öffnet github im standart browser
 | 
				
			||||||
@@ -84,6 +85,19 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
        this.viewModel.doxygenDocBrowser();
 | 
					        this.viewModel.doxygenDocBrowser();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void syncTour(String selectedItem){
 | 
				
			||||||
 | 
					        beschreibungTableView.getItems().removeIf(s -> true); //Leert die Table View komplett
 | 
				
			||||||
 | 
					        beschreibungTableView.getItems().add(this.viewModel.getTour(selectedItem));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void syncTourNamen(){
 | 
				
			||||||
 | 
					        TourListView.setItems(this.viewModel.getTourNamen());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void syncLogs(){
 | 
				
			||||||
 | 
					        logTableView.getItems().removeIf(s -> true);
 | 
				
			||||||
 | 
					        logTableView.setItems(this.viewModel.getLogData());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -95,8 +109,7 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
        String selectedItem = TourListView.getSelectionModel().getSelectedItem();
 | 
					        String selectedItem = TourListView.getSelectionModel().getSelectedItem();
 | 
				
			||||||
        this.viewModel.selectTour(selectedItem);
 | 
					        this.viewModel.selectTour(selectedItem);
 | 
				
			||||||
        titleTextView.setText(selectedItem);
 | 
					        titleTextView.setText(selectedItem);
 | 
				
			||||||
        beschreibungTableView.getItems().removeIf(s -> true); //Leert die Table View komplett
 | 
					        syncTour(selectedItem);
 | 
				
			||||||
        beschreibungTableView.getItems().add(this.viewModel.getTour(selectedItem));
 | 
					 | 
				
			||||||
        startCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("start"));
 | 
					        startCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("start"));
 | 
				
			||||||
        zielCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("ziel"));
 | 
					        zielCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("ziel"));
 | 
				
			||||||
        dauerCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("dauer"));
 | 
					        dauerCol.setCellValueFactory(new PropertyValueFactory<Tour, String>("dauer"));
 | 
				
			||||||
@@ -105,6 +118,7 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        //Log anzeigen
 | 
					        //Log anzeigen
 | 
				
			||||||
        logTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinelogsvorhanden")));
 | 
					        logTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinelogsvorhanden")));
 | 
				
			||||||
 | 
					        logTableView.getItems().removeIf(s -> true);
 | 
				
			||||||
        logTableView.setItems(this.viewModel.getLogData());
 | 
					        logTableView.setItems(this.viewModel.getLogData());
 | 
				
			||||||
        logDauerCol.setCellValueFactory(new PropertyValueFactory<Log, String>("dauer"));
 | 
					        logDauerCol.setCellValueFactory(new PropertyValueFactory<Log, String>("dauer"));
 | 
				
			||||||
        logStreckeCol.setCellValueFactory(new PropertyValueFactory<Log, String>("strecke"));
 | 
					        logStreckeCol.setCellValueFactory(new PropertyValueFactory<Log, String>("strecke"));
 | 
				
			||||||
@@ -163,12 +177,13 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
    @FXML
 | 
					    @FXML
 | 
				
			||||||
    private void addLog(){
 | 
					    private void addLog(){
 | 
				
			||||||
        this.viewModel.addLog();
 | 
					        this.viewModel.addLog();
 | 
				
			||||||
 | 
					        syncLogs();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @FXML
 | 
					    @FXML
 | 
				
			||||||
    private void delLog(){
 | 
					    private void delLog(){
 | 
				
			||||||
        this.viewModel.delLog();
 | 
					        this.viewModel.delLog();
 | 
				
			||||||
 | 
					        syncLogs();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -190,7 +205,7 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
        //Tour list -> links
 | 
					        //Tour list -> links
 | 
				
			||||||
        TourListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
 | 
					        TourListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
 | 
				
			||||||
        TourListView.setOrientation(Orientation.VERTICAL);
 | 
					        TourListView.setOrientation(Orientation.VERTICAL);
 | 
				
			||||||
        TourListView.setItems(this.viewModel.getTourNamen());
 | 
					        syncTourNamen();
 | 
				
			||||||
        //Tabs zu Tour -> rechts oben
 | 
					        //Tabs zu Tour -> rechts oben
 | 
				
			||||||
        beschreibungTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinetourselected")));
 | 
					        beschreibungTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinetourselected")));
 | 
				
			||||||
        titleTextView.setText( ConfigHelper.getLangIniString("keinetourselected"));
 | 
					        titleTextView.setText( ConfigHelper.getLangIniString("keinetourselected"));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -212,10 +212,11 @@ public class ViewModel {
 | 
				
			|||||||
                                Log newLog = new Log(this.selectedLog.getId(), dauer, datum, strecke, this.neueBemerkung, hightmeter, pause);
 | 
					                                Log newLog = new Log(this.selectedLog.getId(), dauer, datum, strecke, this.neueBemerkung, hightmeter, pause);
 | 
				
			||||||
                                this.logData.removeIf(ld -> ld.getId().equals(this.selectedLog.getId()));
 | 
					                                this.logData.removeIf(ld -> ld.getId().equals(this.selectedLog.getId()));
 | 
				
			||||||
                                this.logData.add(newLog);
 | 
					                                this.logData.add(newLog);
 | 
				
			||||||
                                tourAkt.get().delLog(this.selectedLog.getId());
 | 
					//                                tourAkt.get().delLog(this.selectedLog.getId());
 | 
				
			||||||
                                tourAkt.get().addLog(newLog);
 | 
					//                                tourAkt.get().addLog(newLog);
 | 
				
			||||||
                                this.tourData.removeIf(td -> td.getName().equals(this.selectedTour.getName()));
 | 
					                                this.tourData.removeIf(td -> td.getName().equals(this.selectedTour.getName()));
 | 
				
			||||||
                                this.tourData.add(tourAkt.get());
 | 
					                                this.tourData.add(tourAkt.get());
 | 
				
			||||||
 | 
					                                TourPlaner.editLog(this.selectedTour.getName(), newLog);
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
@@ -327,6 +328,7 @@ public class ViewModel {
 | 
				
			|||||||
                                        if (date != null) {
 | 
					                                        if (date != null) {
 | 
				
			||||||
                                            Log newLog = new Log(newId.get(), dauer, date, strecke, this.neueBemerkung, hightmeter, pause);
 | 
					                                            Log newLog = new Log(newId.get(), dauer, date, strecke, this.neueBemerkung, hightmeter, pause);
 | 
				
			||||||
                                            this.logData.add(newLog);
 | 
					                                            this.logData.add(newLog);
 | 
				
			||||||
 | 
					                                            TourPlaner.addLog(this.selectedTour.getName(), newLog);
 | 
				
			||||||
                                            s.addLog(newLog);
 | 
					                                            s.addLog(newLog);
 | 
				
			||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
@@ -348,25 +350,8 @@ public class ViewModel {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public void delLog(){
 | 
					    public void delLog(){
 | 
				
			||||||
        if(this.selectedLog != null) {
 | 
					        if(this.selectedLog != null) {
 | 
				
			||||||
            this.logData.removeIf(s -> s.getId().equals(this.selectedLog.getId()));
 | 
					                TourPlaner.delLog(this.selectedTour.getName(), this.selectedLog.getId());
 | 
				
			||||||
            AtomicReference<Tour> tourToEdit = new AtomicReference<>();
 | 
					 | 
				
			||||||
            this.tourData.forEach(s -> {
 | 
					 | 
				
			||||||
                if (s.getLogs() != null) {
 | 
					 | 
				
			||||||
                    s.getLogs().forEach(ss -> {
 | 
					 | 
				
			||||||
                        if (ss.getId().equals(this.selectedLog.getId())) {
 | 
					 | 
				
			||||||
                            tourToEdit.set(s);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    });
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (tourToEdit.get() != null){
 | 
					 | 
				
			||||||
                Tour toEdit = tourToEdit.get();
 | 
					 | 
				
			||||||
                toEdit.delLog(this.selectedLog.getId());
 | 
					 | 
				
			||||||
                this.tourData.removeIf(s -> s.getName().equals(toEdit.getName()));
 | 
					 | 
				
			||||||
                this.tourData.add(toEdit);
 | 
					 | 
				
			||||||
                this.selectedLog = null;
 | 
					                this.selectedLog = null;
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }else{
 | 
					        }else{
 | 
				
			||||||
            AlertHelper.warn(ConfigHelper.getLangIniString("achtung"),
 | 
					            AlertHelper.warn(ConfigHelper.getLangIniString("achtung"),
 | 
				
			||||||
                    ConfigHelper.getLangIniString("keinetourselected"),
 | 
					                    ConfigHelper.getLangIniString("keinetourselected"),
 | 
				
			||||||
@@ -406,6 +391,8 @@ public class ViewModel {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public ObservableList<Log> getLogData() {
 | 
					    public ObservableList<Log> getLogData() {
 | 
				
			||||||
 | 
					        logData.removeAll();
 | 
				
			||||||
 | 
					        logData.addAll(TourPlaner.getLogs(this.selectedTour.getName()));
 | 
				
			||||||
        return logData;
 | 
					        return logData;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -586,14 +573,7 @@ public class ViewModel {
 | 
				
			|||||||
                    ConfigHelper.getLangIniString("keinetourselected"),
 | 
					                    ConfigHelper.getLangIniString("keinetourselected"),
 | 
				
			||||||
                    ConfigHelper.getLangIniString("logtournotselectedmsg"));
 | 
					                    ConfigHelper.getLangIniString("logtournotselectedmsg"));
 | 
				
			||||||
        }else {
 | 
					        }else {
 | 
				
			||||||
            try {
 | 
					           TourPlaner.doReport(this.selectedTour.getName());
 | 
				
			||||||
                Reporter.createTourReport(this.selectedTour.getName());
 | 
					 | 
				
			||||||
            } catch (IOException e) {
 | 
					 | 
				
			||||||
                LogHelper.error(e.getMessage(), e.getClass().getName());
 | 
					 | 
				
			||||||
            } catch (COSVisitorException e) {
 | 
					 | 
				
			||||||
                LogHelper.error(e.getMessage(), e.getClass().getName());
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user