Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
a4da3d3d55 | |||
d9adebc934 | |||
a6bc7f7e01 | |||
bb8a796bd4 |
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*
|
12
.idea/dataSources.xml
generated
12
.idea/dataSources.xml
generated
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
|
||||||
<data-source source="LOCAL" name="postgres@postgres.dergeorg.at" uuid="304c5f90-6427-4696-beb2-a9a4e6b29a05">
|
|
||||||
<driver-ref>postgresql</driver-ref>
|
|
||||||
<synchronize>true</synchronize>
|
|
||||||
<jdbc-driver>org.postgresql.Driver</jdbc-driver>
|
|
||||||
<jdbc-url>jdbc:postgresql://postgres.dergeorg.at:5432/postgres</jdbc-url>
|
|
||||||
<working-dir>$ProjectFileDir$</working-dir>
|
|
||||||
</data-source>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
@ -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>
|
@ -8,6 +8,7 @@ import javafx.scene.image.Image;
|
|||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
import tourplaner.business.ConfigHelper;
|
import tourplaner.business.ConfigHelper;
|
||||||
|
import tourplaner.business.TourPlaner;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -23,6 +24,7 @@ public class Main extends Application {
|
|||||||
Parent root = FXMLLoader.load(Main.class.getResource("tourplaner.fxml"));
|
Parent root = FXMLLoader.load(Main.class.getResource("tourplaner.fxml"));
|
||||||
primaryStage.setTitle(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "apptitle"));
|
primaryStage.setTitle(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "apptitle"));
|
||||||
primaryStage.getIcons().add(new Image("file:"+ ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "logo")));
|
primaryStage.getIcons().add(new Image("file:"+ ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "logo")));
|
||||||
|
TourPlaner.init();
|
||||||
primaryStage.setScene(new Scene(root, 1500, 1000));
|
primaryStage.setScene(new Scene(root, 1500, 1000));
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -13,20 +16,76 @@ import java.util.ArrayList;
|
|||||||
public class TourPlaner{
|
public class TourPlaner{
|
||||||
private Logger logger;
|
private Logger logger;
|
||||||
|
|
||||||
public TourPlaner(){
|
/**
|
||||||
// LogHelper.info(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "message"),
|
* Erstellt alle DB Tabellen falls nötig
|
||||||
// ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "app"));
|
*/
|
||||||
|
public static void init(){
|
||||||
new DbConnect().init();
|
new DbConnect().init();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Tour> getAllTours(){
|
/**
|
||||||
DbConnect dbConnect = new DbConnect();
|
* Holt alle touren aus der DB
|
||||||
ArrayList<Tour> touren = dbConnect.getAllTouren();
|
* @return Alle touren als ArrayList
|
||||||
return touren;
|
*/
|
||||||
|
public static ArrayList<Tour> getAllTours(){
|
||||||
|
return new DbConnect().getAllTouren();
|
||||||
}
|
}
|
||||||
|
|
||||||
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){
|
||||||
|
return new DbConnect().editTour(oldname, tour);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean delTour(String tourname){
|
||||||
|
return new DbConnect().delTour(tourname);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fügt eine Tour hinzu
|
||||||
|
* @param newTour Neue Tour
|
||||||
|
* @return false bei error
|
||||||
|
*/
|
||||||
|
public static boolean addTour(Tour newTour){
|
||||||
|
return new 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){
|
||||||
|
// TODO: 14.04.2021 Map Quest
|
||||||
return start + " " + ziel;
|
return start + " " + ziel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -38,6 +42,108 @@ 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) {
|
||||||
|
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
|
||||||
|
* @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){
|
||||||
|
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+"'");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holt alle Touren aus der Datenbank
|
* Holt alle Touren aus der Datenbank
|
||||||
* @return Null bei fehler, sonst eine List aus den IDs
|
* @return Null bei fehler, sonst eine List aus den IDs
|
||||||
@ -50,7 +156,7 @@ public class DbConnect {
|
|||||||
ArrayList<Tour> touren = new ArrayList<>();
|
ArrayList<Tour> touren = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
stmt = this.c.createStatement();
|
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()) {
|
while (rs.next()) {
|
||||||
tourname = rs.getString("tourname");
|
tourname = rs.getString("tourname");
|
||||||
mapjson = rs.getString("mapjson");
|
mapjson = rs.getString("mapjson");
|
||||||
|
@ -21,6 +21,16 @@ public class Tour {
|
|||||||
this.log = new ArrayList<>();
|
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
|
* Holt einen einzigen Log Eintrag anhand der Id
|
||||||
* @param id Id des Eintrags der zu besorgen ist
|
* @param id Id des Eintrags der zu besorgen ist
|
||||||
|
@ -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,11 +50,13 @@ public class TourplanerController implements Initializable {
|
|||||||
@FXML
|
@FXML
|
||||||
private void editTourBtn(){
|
private void editTourBtn(){
|
||||||
this.viewModel.editTour();
|
this.viewModel.editTour();
|
||||||
|
syncTour(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
|
||||||
@ -82,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());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -93,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"));
|
||||||
@ -103,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"));
|
||||||
@ -161,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();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -188,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"));
|
||||||
|
@ -60,8 +60,11 @@ public class ViewModel {
|
|||||||
|
|
||||||
this.tourData.removeIf(tour -> tour.getName().equals(this.selectedTour.getName()));
|
this.tourData.removeIf(tour -> tour.getName().equals(this.selectedTour.getName()));
|
||||||
this.tourNamen.removeIf(tour -> tour.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);
|
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 false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -152,8 +155,10 @@ public class ViewModel {
|
|||||||
tourStartInput("");
|
tourStartInput("");
|
||||||
tourZielInput("");
|
tourZielInput("");
|
||||||
if (getTour(this.neueTourName) == null) {
|
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);
|
tourNamen.add(this.neueTourName);
|
||||||
|
TourPlaner.addTour(newTour);
|
||||||
}
|
}
|
||||||
this.neueTourStart = null;
|
this.neueTourStart = null;
|
||||||
this.neueTourZiel = null;
|
this.neueTourZiel = null;
|
||||||
@ -207,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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -322,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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -343,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"),
|
||||||
@ -401,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -483,7 +475,7 @@ public class ViewModel {
|
|||||||
public ObservableList<Tour> getTourData() {
|
public ObservableList<Tour> getTourData() {
|
||||||
tourData.removeAll();
|
tourData.removeAll();
|
||||||
// ObservableList<Tour> data = ;
|
// ObservableList<Tour> data = ;
|
||||||
tourData.addAll(new TourPlaner().getAllTours());
|
tourData.addAll(TourPlaner.getAllTours());
|
||||||
return tourData;
|
return tourData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -497,6 +489,7 @@ public class ViewModel {
|
|||||||
tourNamen.removeIf(s -> s.equals(tourname));
|
tourNamen.removeIf(s -> s.equals(tourname));
|
||||||
logData.removeIf(s -> true);
|
logData.removeIf(s -> true);
|
||||||
setSelectedTour(null);
|
setSelectedTour(null);
|
||||||
|
TourPlaner.delTour(tourname);
|
||||||
}catch (NullPointerException e){
|
}catch (NullPointerException e){
|
||||||
LogHelper.error(ConfigHelper.getLangIniString("keinetourselected"),
|
LogHelper.error(ConfigHelper.getLangIniString("keinetourselected"),
|
||||||
ConfigHelper.getLangIniString("deltournoselect"));
|
ConfigHelper.getLangIniString("deltournoselect"));
|
||||||
@ -580,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