Browse Source

Merge remote-tracking branch 'origin/master'

master
taschi 10 years ago
parent
commit
8c47602bac
1 changed files with 49 additions and 14 deletions
  1. +49
    -14
      src/main/java/de/uniluebeck/mi/projmi6/controller/SettingsController.java

+ 49
- 14
src/main/java/de/uniluebeck/mi/projmi6/controller/SettingsController.java View File

@@ -5,10 +5,18 @@ package de.uniluebeck.mi.projmi6.controller;
*/

import de.uniluebeck.mi.projmi6.Main;
import javafx.beans.binding.Bindings;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.control.TextFormatter;

import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.regex.Pattern;

public class SettingsController {

@@ -19,12 +27,35 @@ public class SettingsController {

}

@FXML
private Button opsServerSave;


@FXML
private TextField opsServerIp, opsServerPort;



@FXML
private void initialize(){
opsServerIp.setText(Main.OPS_IP);
opsServerPort.setText(Integer.toString(Main.OPS_PORT));
opsServerSave.setOnAction(event -> {
if(validateData(opsServerIp.getText(), opsServerPort.getText())){
Main.OPS_IP = opsServerIp.getText();
Main.OPS_PORT = Integer.parseInt(opsServerPort.getText());

}
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
alert.setTitle("Speichern erfolgreich");
alert.setHeaderText("Die OPS-Server-Daten wurden erfolgreich ge\u00e4ndert!");
alert.setContentText(null);

alert.showAndWait();
}
});


}
private void showMessage(String title, String message) {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Ung\u00fcltige Daten!");
@@ -33,33 +64,37 @@ public class SettingsController {

alert.showAndWait();
}


private boolean validateData(String server, String portStr){
int port = -1;
try{
port = Integer.parseInt(portStr);
}catch (Exception e){
showMessage("Portnummer ist nicht valide", "Die Portnummer muss eine Zahl zwischen 1024 und 65535 sein!");
showMessage("Portnummer ist nicht valide!", "Die Portnummer muss eine Zahl zwischen 1024 und 65535 sein!");
return false;
}
if(!(port >= 1024 && port <= 65535)){
showMessage("Portnummer ist nicht valide", "Die Portnummer muss eine Zahl zwischen 1024 und 65535 sein!");
showMessage("Portnummer ist nicht valide!", "Die Portnummer muss eine Zahl zwischen 1024 und 65535 sein!");
return false;
}
if(!validate(server)){
showMessage("IP-Adresse nicht valide!", "Die IP-Adresse ist nicht g\u00fcltig!");
return false;
}
return true;


return true;
}

@FXML
private Button opsServerSave;


@FXML
private TextField opsServerIp;

@FXML
private TextField opsServerPort;
private static final Pattern PATTERN = Pattern.compile(
"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$");

public static boolean validate(final String ip) {
return PATTERN.matcher(ip).matches();
}

}


Loading…
Cancel
Save