Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package DogHouse;
- import java.net.URL;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.time.LocalDate;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashSet;
- import java.util.Optional;
- import java.util.Properties;
- import javax.mail.Message;
- import javax.mail.MessagingException;
- import javax.mail.PasswordAuthentication;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- import javafx.animation.Animation;
- import javafx.animation.KeyFrame;
- import javafx.animation.Timeline;
- import javafx.application.Application;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.geometry.Insets;
- import javafx.geometry.Pos;
- import javafx.scene.Group;
- import javafx.scene.Scene;
- import javafx.scene.control.Alert;
- import javafx.scene.control.Alert.AlertType;
- import javafx.scene.control.Button;
- import javafx.scene.control.ChoiceBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.TableColumn;
- import javafx.scene.control.TableView;
- import javafx.scene.control.TextField;
- import javafx.scene.control.TextInputDialog;
- import javafx.scene.control.cell.PropertyValueFactory;
- import javafx.scene.effect.Glow;
- import javafx.scene.effect.Lighting;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- import javafx.scene.layout.BorderPane;
- import javafx.scene.layout.GridPane;
- import javafx.scene.layout.HBox;
- import javafx.scene.layout.StackPane;
- import javafx.scene.layout.VBox;
- import javafx.scene.media.Media;
- import javafx.scene.media.MediaPlayer;
- import javafx.scene.paint.Color;
- import javafx.scene.shape.Rectangle;
- import javafx.scene.text.Font;
- import javafx.scene.text.FontWeight;
- import javafx.scene.text.Text;
- import javafx.stage.Stage;
- import javafx.util.Duration;
- public class javaFXPane extends Application {
- private static MediaPlayer mediaPlayer;
- private static MediaPlayer cuteBarking;
- private static MediaPlayer dogPanting;
- private static MediaPlayer mediaPlayerHeater;
- private static MediaPlayer mediaPlayerHeaterNext;
- private static MediaPlayer tooHotWarning;
- private static MediaPlayer tooColdWarning;
- private static MediaPlayer properTemp;
- private static MediaPlayer busyStreet;
- private TableView<Dog> table = new TableView<Dog>();
- private TableView<AlertMessage> alertTable = new TableView<AlertMessage>();
- private ObservableList<Dog> data = FXCollections.observableArrayList();
- public ObservableList<AlertMessage> history = FXCollections.observableArrayList();
- public Button backToUser = new Button("Main Menu");
- int x = 0; //variable to track pet x position
- int y = 0;//variable to track pet's y position
- int a = 250;//pet size
- int b = 250;//pet size
- int hour = 0; int min = 0; int hours = 0; int mins = 0;
- public Lighting lighting = new Lighting();
- Glow gl = new Glow();
- @Override
- public void start(Stage stage) throws Exception {
- /*line 378
- *line 521
- *line 620
- *line 754
- *line 846
- *line 853 The dogHappySound.mp3 doesn't work on my computer so I convert it to .wav format and it works
- *line 971
- *line 1096 The cuteDogBarking.mp3 doesn't work on my computer so I convert it to .wav format and it works
- */
- //class to register dog position
- DistanceFromHouse dog = new DistanceFromHouse();
- ImageView pet = new ImageView();
- ImageView pet2 = new ImageView();
- ImageView dogHouse = new ImageView();
- ImageView tennisBall = new ImageView();
- FetchBall TBall = new FetchBall();
- ImageView light = new ImageView();
- Button viewInfor = new Button("Database");
- viewInfor.setStyle("-fx-background-color: Black");
- viewInfor.setTextFill(Color.WHITE);
- backToUser.setStyle("-fx-background-color: Black");
- backToUser.setTextFill(Color.WHITE);
- backToUser.setOnAction(event->{
- UserInputPane us = new UserInputPane();
- Stage userStage = new Stage();
- try {
- us.start(userStage);
- stage.close();
- mediaPlayer.stop();
- cuteBarking.stop();
- }catch (Exception e3) {
- // TODO Auto-generated catch block
- e3.printStackTrace();
- }
- });
- viewInfor.setOnAction(e->{
- data.clear();
- String url = "jdbc:mysql://localhost/cs3220stu55?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
- String username = "cs3220stu55";
- String password = "zWpa0NxR";
- try {
- Connection c = DriverManager
- .getConnection( url, username, password );
- Statement stmt = c.createStatement();
- ResultSet rs = stmt.executeQuery( "select * from pet" );
- while( rs.next() )
- {
- LocalDate today = rs.getDate("birthday").toLocalDate();
- LocalDate tomorrow = today.plusDays(1);
- data.add(new Dog(rs.getString("name"),rs.getString("breed"),
- rs.getString("gender"),rs.getString("furColor"),rs.getInt("weight"),rs.getInt("height"),
- tomorrow,rs.getBoolean("neutorSpay"),rs.getBoolean("microchipped"),rs.getString("phoneNumber"),rs.getString("provider")));
- }
- c.close();
- } catch (Exception exception) {
- exception.printStackTrace();
- //System.out.println("Error on Building Data");
- }
- table.getColumns().clear();
- Stage fifthStage = new Stage();
- Scene scene = new Scene(new Group());
- final Label label = new Label("Dog Information");
- label.setFont(new Font("Arial", 20));
- table.setEditable(true);
- TableColumn NameCol = new TableColumn("name");
- NameCol.setMaxWidth(100);
- NameCol.setCellValueFactory(
- new PropertyValueFactory<Dog, String>("name"));
- TableColumn breedCol = new TableColumn("breed");
- breedCol.setMaxWidth(200);
- breedCol.setCellValueFactory(
- new PropertyValueFactory<Dog, String>("breed"));
- TableColumn genderCol = new TableColumn("gender");
- genderCol.setMaxWidth(100);
- genderCol.setCellValueFactory(
- new PropertyValueFactory<Dog, String>("gender"));
- TableColumn furColorCol = new TableColumn("furColor");
- furColorCol.setMaxWidth(100);
- furColorCol.setCellValueFactory(
- new PropertyValueFactory<Dog, String>("furColor"));
- TableColumn weightCol = new TableColumn("weight");
- weightCol.setMaxWidth(100);
- weightCol.setCellValueFactory(
- new PropertyValueFactory<Dog, Integer>("weight"));
- TableColumn heightCol = new TableColumn("height");
- heightCol.setMaxWidth(100);
- heightCol.setCellValueFactory(
- new PropertyValueFactory<Dog, Integer>("height"));
- TableColumn birthdayCol = new TableColumn("birthday");
- birthdayCol.setMaxWidth(100);
- birthdayCol.setCellValueFactory(
- new PropertyValueFactory<Dog, String>("birthday"));
- TableColumn spayCol = new TableColumn("neuterSpay");
- spayCol.setMaxWidth(100);
- spayCol.setCellValueFactory(
- new PropertyValueFactory<Dog, Boolean>("neuterSpay"));
- TableColumn microchippedCol = new TableColumn("microchip");
- microchippedCol.setMaxWidth(100);
- microchippedCol.setCellValueFactory(
- new PropertyValueFactory<Dog, Boolean>("microchip"));
- TableColumn phoneNumberCol = new TableColumn("phone number");
- phoneNumberCol.setMaxWidth(150);
- phoneNumberCol.setCellValueFactory(
- new PropertyValueFactory<Dog, String>("phoneNumber"));
- TableColumn providerCol = new TableColumn("provider");
- providerCol.setMaxWidth(150);
- providerCol.setCellValueFactory(
- new PropertyValueFactory<Dog, String>("provider"));
- // ObservableList<Dog> list = FXCollections.observableArrayList(dogInformation);
- ObservableList<Dog> list = removeDuplicates(data);
- table.setItems(list);
- table.getColumns().addAll(NameCol, breedCol, genderCol,furColorCol, weightCol,
- heightCol, birthdayCol, spayCol, microchippedCol,phoneNumberCol, providerCol);
- Button clear = new Button("Clear");
- Button delete = new Button("Delete This");
- delete.setOnAction(ee->{
- Dog selectedItem = table.getSelectionModel().getSelectedItem();
- table.getItems().remove(selectedItem);
- Connection conn = null;
- try{
- Class.forName("com.mysql.cj.jdbc.Driver");
- conn = DriverManager.getConnection(url, username, password);
- String sql = "DELETE FROM pet where name = ?";
- PreparedStatement preparedStmt = conn.prepareStatement(sql);
- preparedStmt.setString(1,selectedItem.getName());
- preparedStmt.execute();
- conn.close();
- }catch(Exception exc) {
- exc.printStackTrace();
- }
- if(table.getItems().isEmpty()) {
- fifthStage.close();
- UserInputPane us = new UserInputPane();
- Stage userStage = new Stage();
- try {
- us.start(userStage);
- stage.close();
- mediaPlayer.stop();
- cuteBarking.stop();
- }catch (Exception e3) {
- // TODO Auto-generated catch block
- e3.printStackTrace();
- }
- }
- });
- clear.setOnAction(e1->{
- UserInputPane.dogInformation.clear();
- Connection conn = null;
- Statement stmte = null;
- try{
- Class.forName("com.mysql.cj.jdbc.Driver");
- conn = DriverManager.getConnection(url, username, password);
- stmte = conn.createStatement();
- String sql = "DELETE FROM pet;";
- stmte.executeUpdate(sql);
- }catch(Exception exc) {
- exc.printStackTrace();
- }
- refreshTable();
- fifthStage.close();
- UserInputPane us = new UserInputPane();
- Stage userStage = new Stage();
- try {
- us.start(userStage);
- stage.close();
- mediaPlayer.stop();
- cuteBarking.stop();
- }catch (Exception e3) {
- // TODO Auto-generated catch block
- e3.printStackTrace();
- }
- });
- final VBox vbox = new VBox();
- vbox.setSpacing(5);
- vbox.setPadding(new Insets(10, 0, 0, 10));
- vbox.getChildren().addAll(label, table,clear,delete);
- ((Group) scene.getRoot()).getChildren().addAll(vbox);
- fifthStage.setScene(scene);
- fifthStage.show();
- });
- //pet properties
- pet.setImage(new Image("dog.gif"));
- // pet.setEffect(lighting);
- pet.setFitHeight(a);
- pet.setFitWidth(b);
- //pet coordinates
- pet.setX(0);
- pet.setY(0);
- pet.setOnMouseDragged(e -> {
- pet.setX(e.getX());
- pet.setY(e.getY());
- });
- //pet2 properties
- pet2.setImage(new Image("dog.gif"));
- pet2.setFitHeight(a);
- pet2.setFitWidth(b);
- //pet2 coordinates
- pet2.setX(0);
- pet2.setY(0);
- pet2.setOnMouseDragged(e -> {
- pet2.setX(e.getX());
- pet2.setY(e.getY());
- });
- pet2.setVisible(false);
- //
- //dog house image
- dogHouse.setImage(new Image("dogHouse.png"));
- dogHouse.setEffect(gl);
- dogHouse.setFitHeight(280);
- dogHouse.setFitWidth(400);
- //tennis ball
- tennisBall.setImage(new Image("tennisBall.png"));
- Glow selectGlow = new Glow(1.7f);
- tennisBall.setEffect(selectGlow);
- TBall.setTennisBallDistance();
- tennisBall.setX( TBall.getTennisBallDistance() );
- tennisBall.setFitHeight(40);
- tennisBall.setFitWidth(40);
- //light
- light.setImage(new Image("light.png"));
- light.setFitHeight(40);
- light.setFitWidth(40);
- GridPane pane = new GridPane();
- pane.setHgap(10);
- pane.setVgap(10);
- pane.add(dogHouse, 0, 19);
- Button viewRecord = new Button("ViewRec");
- viewRecord.setStyle("-fx-background-color: Black");
- viewRecord.setTextFill(Color.WHITE);
- //buttons to move pet
- Button btCheckDistance = new Button("CheckDis");
- btCheckDistance.setStyle("-fx-background-color: Black");
- btCheckDistance.setTextFill(Color.WHITE);
- Button btMoveFordward = new Button("Forward");
- btMoveFordward.setStyle("-fx-background-color: Black");
- btMoveFordward.setTextFill(Color.WHITE);
- Button btMoveBackward = new Button("Backward");
- btMoveBackward.setStyle("-fx-background-color: Black");
- btMoveBackward.setTextFill(Color.WHITE);
- Button btUpward = new Button ("Upward");
- btUpward.setStyle("-fx-background-color: Black");
- btUpward.setTextFill(Color.WHITE);
- Button btDownward = new Button("Downward");
- btDownward.setStyle("-fx-background-color: Black");
- btDownward.setTextFill(Color.WHITE);
- Button throwBall = new Button("Throw Tennis Ball");
- throwBall.setStyle("-fx-background-color: Black");
- throwBall.setTextFill(Color.WHITE);
- /*Button btTotalDistance = new Button("Total Distance");*/
- throwBall.setDisable(true);
- throwBall.setOnAction(e->{
- TBall.setTennisBallDistance();
- tennisBall.setX( TBall.getTennisBallDistance() );
- tennisBall.setVisible(true);
- throwBall.setDisable(true);
- });
- /////////////////////////////////////////////////////Cell Phone Input/////////////////////////////////////
- TextField textfield = new TextField();//phone number
- textfield.setPromptText("Enter Phone Number");//adds title to textfield
- ChoiceBox choiceBox = new ChoiceBox();//company
- //Company choices
- choiceBox.getItems().add("Metropcs");
- choiceBox.getItems().add("ATT");
- choiceBox.getItems().add("TMobile");
- choiceBox.getItems().add("Sprint");
- choiceBox.getItems().add("Cricket");
- /********************************************UPDATE*********************************************/
- viewRecord.setOnAction(e->{
- history.clear();
- String url = "jdbc:mysql://localhost/cs3220stu55?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
- String username = "cs3220stu55";
- String password = "zWpa0NxR";
- Connection conn;
- try{
- //STEP 3: Open a connection
- conn = DriverManager.getConnection(url, username, password);
- Statement statement = conn.createStatement() ;
- ResultSet resultset = statement.executeQuery("SELECT * FROM Alert") ;
- while(resultset.next()) {
- history.add(new AlertMessage(resultset.getString("time"),resultset.getString("alerts")));
- }
- conn.close();
- }catch(Exception except) {
- except.printStackTrace();
- }
- alertTable.getColumns().clear();
- Button button = new Button("Back");
- GridPane recordPane = new GridPane();
- Stage recordStage = new Stage();
- alertTable.setEditable(true);
- final Label alertLabel = new Label("Alert History");
- alertLabel.setFont(new Font("Arial", 20));
- ObservableList<AlertMessage> historyNoDuplicate = removeDu(history);
- // TableColumn AlertCol = new TableColumn("alerts");
- TableColumn TimeCol = new TableColumn("Time");
- TimeCol.setMaxWidth(300);
- TimeCol.setCellValueFactory(
- new PropertyValueFactory<AlertMessage, String>("time"));
- TableColumn AlertCol = new TableColumn("Alert Message");
- AlertCol.setMaxWidth(300);
- AlertCol.setCellValueFactory(
- new PropertyValueFactory<AlertMessage, String>("alerts"));
- alertTable.getColumns().addAll(AlertCol,TimeCol);
- alertTable.getSortOrder().addAll(TimeCol);
- alertTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
- alertTable.prefHeightProperty().bind(recordStage.heightProperty());
- alertTable.prefWidthProperty().bind(recordStage.widthProperty());
- alertTable.setItems(historyNoDuplicate);
- // alertTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
- button.setOnAction(en->{
- recordStage.close();
- });
- Button clear = new Button("Clear");
- clear.setOnAction(e1->{
- history.clear();
- Statement statement = null;
- Connection c = null;
- try{
- Class.forName("com.mysql.cj.jdbc.Driver");
- c = DriverManager.getConnection(url, username, password);
- statement = c.createStatement();
- String sql = "DELETE FROM Alert;";
- statement.executeUpdate(sql);
- }catch(Exception exc) {
- exc.printStackTrace();
- }
- refreshTable();
- });
- recordPane.add(alertLabel, 0, 0);
- recordPane.add(alertTable, 0, 1);
- recordPane.add(button, 0, 21);
- recordPane.add(clear, 0, 22);
- recordStage.setScene(new Scene(recordPane,600,500));
- recordStage.show();
- });
- //buttons Action Event
- //check distance button
- btCheckDistance.setOnAction( e ->
- {
- ////////////////////////////////UPDATE///////////////////////////////////////////////
- dog.totalDistance();
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("pet's distance");
- alert.setHeaderText(null);
- if(dog.total>0)
- {
- alert.setContentText("The dog is now: "+dog.total +" feet from the dog house.");
- }
- else if(dog.total==0&&!(0<pet.getTranslateX()&&pet.getTranslateX()<dogHouse.getFitWidth()))
- {
- alert.setContentText("The dog is now: 0 feet from the dog house.");
- }
- else
- {
- double distance = dog.total*(-1);
- alert.setContentText("The dog is now: "+ distance +" feet from the dog house.");
- }
- alert.showAndWait();
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- });
- //forward button
- btMoveFordward.setOnAction((e) ->
- {
- pet.setScaleX(1);
- x -= 40;
- pet.setTranslateX(x);
- dog.moveForward();
- if(dog.distance == 0){
- /********************************************UPDATE*********************************************/
- //Date d = new Date();
- // saveAlertToDB(d.toString(),"Dog At Dog House");
- btMoveFordward.setDisable(true);
- if(TBall.doesDogHasBall()){
- TBall.setDogHasBall(false);
- TBall.setBallPresent(true);
- throwBall.setDisable(false);
- }
- }
- if(dog.distance < 45){
- btMoveBackward.setDisable(false);
- }
- if(dog.distance == TBall.getTennisBallDistance() && dog.distanceV == 0){
- tennisBall.setVisible(false);
- TBall.setDogHasBall(true);
- }
- ///////////////////////////////////////UPDATE////////////////////////////////////////////
- dog.totalDistance();
- }
- );
- //backward button
- btMoveBackward.setOnAction(e ->
- {
- pet.setScaleX(-1);
- x += 40;
- pet.setTranslateX(x);
- dog.moveBackward();
- if(dog.distance > 0){
- btMoveFordward.setDisable(false);
- }
- if(dog.distance > 45){
- btMoveBackward.setDisable(true);
- /********************************************UPDATE*********************************************/
- Date d = new Date();
- saveAlertToDB(d.toString(),"Dog Too Far");
- //history.add("Your dog is unusually far away! at " + new Date());
- stage.close();
- mediaPlayer.setMute(true);
- cuteBarking.setMute(true);
- Stage lostStage = new Stage();
- BorderPane bor = new BorderPane();
- Image i = new Image("lost.gif");
- ImageView iv = new ImageView();
- Button bt = new Button("Back");
- bt.setOnAction(value->{
- lostStage.close();
- busyStreet.stop();
- stage.show();
- mediaPlayer.setMute(false);
- cuteBarking.setMute(false);
- });
- iv.setImage(i);
- iv.setFitHeight(200);
- iv.setFitWidth(240);
- bor.setCenter(iv);
- bor.setLeft(bt);
- BorderPane.setAlignment(bt, Pos.TOP_LEFT);
- bor.setStyle( "-fx-background-image: url(" +
- "'busyStreet.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- final URL busyStreetResource = getClass().getResource("busyStreet.mp3");
- final Media busyStreetMedia = new Media(busyStreetResource.toString());
- busyStreet= new MediaPlayer(busyStreetMedia);
- busyStreet.setVolume(0.1);
- busyStreet.play();
- lostStage.setScene(new Scene(bor,925,1500));
- lostStage.show();
- }
- if(dog.distance == TBall.getTennisBallDistance() && dog.distanceV == 0){
- tennisBall.setVisible(false);
- TBall.setDogHasBall(true);
- }
- /////////////////////////////////UPDATE////////////////////////////////////
- dog.totalDistance();
- if(dog.total > 45)
- {
- String phone = null, value = null;
- final String username = "doghousemessage@gmail.com"; // enter your mail id
- final String password = "Victory5";// enter your password
- if(textfield.getText().trim().isEmpty()||textfield.getText()==null) {
- phone = readPhoneNumber();
- }
- if(choiceBox.getValue()==null) {
- value = readProvider();
- }
- if(!textfield.getText().trim().isEmpty()&&textfield.getText()!=null
- && choiceBox.getValue()!=null) {
- phone = textfield.getText();//phone number
- value = (String) choiceBox.getValue();
- }
- String extension = null;
- switch(value)
- {
- case "Metropcs" : extension = "@mymetropcs.com";
- break;
- case "ATT" : extension = "@mms.att.net";
- break;
- case "TMobile" : extension = "@tmomail.net";
- break;
- case "Sprint" : extension = "@messaging.sprintpcs.com";
- break;
- case "Cricket" : extension = "@mms.cricketwireless.net";
- }
- Properties props = new Properties();
- props.put("mail.smtp.auth", "true");
- props.put("mail.smtp.starttls.enable", "true");
- props.put("mail.smtp.host", "smtp.gmail.com");
- props.put("mail.smtp.port", "587");
- Session session = Session.getInstance(props,
- new javax.mail.Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(username, password);
- }
- });
- try {
- Message message = new MimeMessage(session);
- message.setFrom(new InternetAddress("doghousemessage@gmail.com")); // same email id
- message.setRecipients(Message.RecipientType.TO,
- InternetAddress.parse(phone + extension));// whom you have to send mails that person id
- message.setSubject("Alert");
- message.setText("Your dog is too far from the dog house!");
- Transport.send(message);
- //System.out.println("Done");
- } catch (MessagingException e1) {
- throw new RuntimeException(e1);
- }
- }
- });
- btUpward.setOnAction(e ->
- {
- y -= 40;
- pet.setTranslateY(y);
- a -= 25;
- b -= 25;
- pet.setFitHeight(a);
- pet.setFitWidth(b);
- dog.Upward();
- if(dog.distanceV > 0){btDownward.setDisable(false);}
- if(dog.distanceV > 22) {btUpward.setDisable(true);}
- });
- btDownward.setDisable(true);
- btDownward.setOnAction(e ->
- {
- y += 40;
- pet.setTranslateY(y);
- a += 25;
- b += 25;
- pet.setFitHeight(a);
- pet.setFitWidth(b);
- dog.Downward();
- if(dog.distanceV == 0) {btDownward.setDisable(true);} //////////UPDATE/////////////////////////////
- if(dog.distanceV < 22) {btUpward.setDisable(false);} ///////////UPDATE///////////////////////////
- });
- ////////////////////////////Temperature buttons and property//////////////////////////////////////////////////////////
- Temperature temp = new Temperature();
- Text label = new Text("The current temperature: " + temp.GetTemperature());
- /****** UPDATES ******/
- label.setFont(Font.font("Arial", FontWeight.BOLD, 15));
- label.setFill(Color.BLACK);
- label.setStyle("-fx-background-color: coral;");
- /****** UPDATES ******/
- Button tempUp = new Button("Up");
- tempUp.setStyle("-fx-background-color: Black");
- tempUp.setTextFill(Color.WHITE);
- Button tempDown = new Button("Down");
- tempDown.setStyle("-fx-background-color: Black");
- tempDown.setTextFill(Color.WHITE);
- Button setOptimalTemperature = new Button("Optimal");
- setOptimalTemperature.setStyle("-fx-background-color: Black");
- setOptimalTemperature.setTextFill(Color.WHITE);
- /*********************************UPDATES 11/28/18*********************************/
- tempUp.setOnAction(e ->{
- temp.SetTemperatureUp();
- label.setText("The current temperature: " + temp.GetTemp());
- //
- if(temp.GetTemp() >= temp.GetOptimalTemp() + 10) {
- /********************************************UPDATE*********************************************/
- Date d = new Date();
- saveAlertToDB(d.toString(),"AC Turned ON");
- final URL dogPantingResource = getClass().getResource("dogPanting.mp3");
- final Media dogPantingMedia = new Media(dogPantingResource.toString());
- dogPanting = new MediaPlayer(dogPantingMedia);
- dogPanting.setVolume(0.1);
- dogPanting.setOnEndOfMedia(new Runnable() {
- public void run() {
- dogPanting.seek(Duration.ZERO);
- }
- });
- final URL toohotAlert = getClass().getResource("TooHotAlert.mp3");
- final Media tooHotAlert = new Media(toohotAlert.toString());
- tooHotWarning = new MediaPlayer(tooHotAlert);
- tooHotWarning.setVolume(0.2);
- tooHotWarning.play();
- mediaPlayer.setVolume(mediaPlayer.getVolume()/30);
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("AC is on for your pet!");
- alert.setHeaderText(null);
- alert.setContentText("The air conditioning is on for your pet!");
- alert.showAndWait();
- tooHotWarning.stop();
- cuteBarking.stop();
- mediaPlayer.setVolume(mediaPlayer.getVolume()*30);
- temp.SetCurrentTemp(temp.GetOptimalTemp());
- Button button = new Button("Back");
- button.setStyle("-fx-background-color: YELLOW");
- GridPane pane1 = new GridPane();
- Stage stage1 = new Stage();
- pane1.setStyle( "-fx-background-image: url(" +
- "'room.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- if(dog.distance==0) {
- ImageView ima = new ImageView();
- ima.setImage(new Image("dog hot.gif"));
- ima.setEffect(lighting);
- ima.setFitHeight(350);
- ima.setFitWidth(350);
- pane1.add(ima, 7, 20);
- dogPanting.play();
- }
- final URL resource1 = getClass().getResource("Calming-harp-music.mp3");
- final Media media2 = new Media(resource1.toString());
- mediaPlayerHeaterNext = new MediaPlayer(media2);
- mediaPlayerHeaterNext.setVolume(0.1);
- mediaPlayerHeaterNext.play();
- ImageView AC = new ImageView();
- AC.setImage(new Image("AC.gif"));
- AC.setFitHeight(100);
- AC.setFitWidth(150);
- button.setOnAction(en->{
- mediaPlayerHeaterNext.stop();
- stage1.close();
- if(dog.distance==0) {
- dogPanting.stop();}
- label.setText("The current temperature: " + temp.GetTemp());
- stage.show();
- mediaPlayer.play();
- });
- pane1.setVgap(10);
- pane1.setHgap(10);
- pane1.add(button, 1, 1);
- pane1.add(AC, 0, 1);
- stage1.setScene(new Scene(pane1,800,800));
- stage1.show();
- mediaPlayer.stop();
- stage.close();
- // history.add("It's too hot! Turning on the AC" + new Date());
- }
- });
- /*********************************UPDATES 11/28/18*********************************/
- tempDown.setOnAction(e->{
- temp.SetTemperatureDown();
- label.setText("The current temperature: " + temp.GetTemp());
- if(temp.GetTemp()<= temp.GetOptimalTemp()-10) {
- /********************************************UPDATE*********************************************/
- Date d = new Date();
- saveAlertToDB(d.toString(),"Heater Turned On");
- /********************************************UPDATE*********************************************/
- final URL resource = getClass().getResource("dogHappySound.wav");
- final Media media1 = new Media(resource.toString());
- final URL resource1 = getClass().getResource("Calming-harp-music.mp3");
- final Media media2 = new Media(resource1.toString());
- mediaPlayerHeaterNext = new MediaPlayer(media2);
- mediaPlayerHeaterNext.setVolume(0.1);
- mediaPlayerHeater = new MediaPlayer(media1);
- mediaPlayerHeater.setVolume(0.1);
- final URL toocoldAlert = getClass().getResource("TooColdAlert.mp3");
- final Media tooColdAlert = new Media(toocoldAlert.toString());
- tooColdWarning = new MediaPlayer(tooColdAlert);
- tooColdWarning.play();
- tooColdWarning.setVolume(0.2);
- mediaPlayer.setVolume(mediaPlayer.getVolume()/30);
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("heater is on for your pet!");
- alert.setHeaderText(null);
- alert.setContentText("The heater is on for your pet!");
- alert.showAndWait();
- tooColdWarning.stop();
- cuteBarking.stop();
- mediaPlayer.setVolume(mediaPlayer.getVolume()*30);
- Button button1 = new Button("Back");
- GridPane pane2 = new GridPane();
- Stage stage2 = new Stage();
- pane2.setStyle( "-fx-background-image: url(" +
- "'room.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- if(dog.distance==0) {
- ImageView imCold = new ImageView();
- imCold.setEffect(lighting);
- imCold.setImage(new Image("dogHappy.gif"));
- imCold.setFitHeight(350);
- imCold.setFitWidth(350);
- pane2.add(imCold, 7, 30);
- mediaPlayerHeater.play();
- mediaPlayerHeater.setVolume(0.2);
- }
- ImageView heater = new ImageView();
- heater.setImage(new Image("heater.gif"));
- heater.setFitHeight(100);
- heater.setFitWidth(150);
- button1.setOnAction(en->{
- temp.SetCurrentTemp(temp.GetOptimalTemp());
- stage2.close();
- mediaPlayerHeaterNext.stop();
- label.setText("The current temperature: " + temp.GetTemp());
- stage.show();
- mediaPlayer.play();
- // cuteBarking.play();
- });
- pane2.setVgap(10);
- pane2.setHgap(10);
- pane2.add(button1, 1, 1);
- pane2.add(heater, 0, 1);
- stage2.setScene(new Scene(pane2,800,800));
- stage2.show();
- mediaPlayer.stop();
- // mediaPlayerHeater.setVolume(0.2);
- mediaPlayerHeaterNext.play();
- mediaPlayerHeaterNext.setVolume(0.1);
- stage.close();
- // history.add("It's too cold! Turning on the heater" + new Date());
- }
- });
- setOptimalTemperature.setOnAction(e ->{
- TextInputDialog dialog = new TextInputDialog("70");
- dialog.setTitle("Optimal Temperature");
- dialog.setHeaderText("What is your optimal temperature?");
- dialog.setContentText("Enter Optimal Temperature:");
- // Traditional way to get the response value.
- Optional<String> temperature = dialog.showAndWait();
- if (temperature.isPresent()){
- if(isValidOptimalTmp(temperature.get())) {
- Temperature.SetOptimalTemp(Integer.parseInt(temperature.get()));
- }else {
- final URL properTempAlert = getClass().getResource("properTemp.mp3");
- final Media propertempAlert = new Media(properTempAlert.toString());
- properTemp = new MediaPlayer(propertempAlert);
- properTemp.setVolume(0.2);
- mediaPlayer.setVolume(mediaPlayer.getVolume()/30);
- properTemp.play();
- Alert alert = new Alert(AlertType.ERROR);
- alert.setHeaderText(null);
- alert.setContentText("Please enter proper temperature for your dog!");
- alert.showAndWait();
- properTemp.stop();
- cuteBarking.stop();
- mediaPlayer.setVolume(mediaPlayer.getVolume()*30);
- }
- }
- });
- String dogFood = "dogFood.jpeg";
- String dogWater = "15-154507_cartoon-dog-water-bowl.png";
- ImageView imFood = new ImageView();
- ImageView imWater = new ImageView();
- DateFormat df = new SimpleDateFormat("EEE,MMM d yyyy - h:mm:ss a");
- Date date = new Date();
- String stringDate = df.format(date);
- Text timing = new Text(10, 60, stringDate);
- /****** UPDATES ******/
- timing.setFont(Font.font ("Arial",FontWeight.BOLD, 15));
- timing.setFill(Color.BLACK);
- Button timeUp = new Button("Up");
- timeUp.setStyle("-fx-background-color: Black");
- timeUp.setTextFill(Color.WHITE);
- Button timeDo = new Button("Down");
- timeDo.setStyle("-fx-background-color: Black");
- timeDo.setTextFill(Color.WHITE);
- /********************************************UPDATE*********************************************/
- Button setFeed = new Button("FeedTime 1");
- setFeed.setStyle("-fx-background-color: Black");
- setFeed.setTextFill(Color.WHITE);
- setFeed.setWrapText(true);
- /********************************************UPDATE*********************************************/
- Button setFeed2 = new Button("FeedTime 2");
- setFeed2.setStyle("-fx-background-color: Black");
- setFeed2.setTextFill(Color.WHITE);
- setFeed2.setWrapText(true);
- Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(0),
- new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent actionEvent) {
- Date update = new Date();
- String stringNewDate = df.format(update);
- timing.setText(stringNewDate);
- }
- }
- ), new KeyFrame(Duration.seconds(1)));
- timeline.setCycleCount(Animation.INDEFINITE);
- timeline.play();
- GridPane lightPane = new GridPane();
- Stage lightStage = new Stage();
- lightPane.add(light, 0, 0);
- lightStage.setScene(new Scene(lightPane, 40, 40));
- lightStage.setX(0);//////////////////////////////Horizontal location
- lightStage.setY(0);/////////////////////////Vertical location
- setFeed.setOnAction(e ->{
- TextInputDialog dialog = new TextInputDialog("\"Hour:Minute\"");
- dialog.setTitle("Feeding Time");
- dialog.setHeaderText("What the best feeding time?");
- dialog.setContentText("Enter Time in the format of (HH:MM):");
- // Traditional way to get the response value.
- Optional<String> timez = dialog.showAndWait();
- if (timez.isPresent())
- {
- hours = FeedDog.timeSplitHours(timez.get());
- mins = FeedDog.timeSplitMinutes(timez.get());
- if(hours < 10)
- {
- FeedDog.setFeedTime(0 + hours + ":" + mins);
- }
- else
- FeedDog.setFeedTime(hours + ":" + mins);
- System.out.println("Your time: " + timez.get());
- }
- // The Java 8 way to get the response value (with lambda expression).
- timez.ifPresent(name -> System.out.println("Your time: " + name));
- });
- setFeed2.setOnAction(e ->{
- TextInputDialog dialog = new TextInputDialog("\"Hour:Minute\"");
- dialog.setTitle("Feeding Time");
- dialog.setHeaderText("What the best feeding time?");
- dialog.setContentText("Enter Time in the format of (HH:MM):");
- // Traditional way to get the response value.
- Optional<String> timez = dialog.showAndWait();
- if (timez.isPresent())
- {
- hours = FeedDog.timeSplitHours(timez.get());
- mins = FeedDog.timeSplitMinutes(timez.get());
- if(hours < 10)
- {
- FeedDog.setFeedTime(0 + hours + ":" + mins);
- }
- else
- FeedDog.setFeedTime(hours + ":" + mins);
- System.out.println("Your time: " + timez.get());
- }
- // The Java 8 way to get the response value (with lambda expression).
- timez.ifPresent(name -> System.out.println("Your time: " + name));
- });
- timeUp.setOnAction(e->{
- timeline.stop();
- int minutes = date.getMinutes();
- date.setMinutes(minutes+=15);
- DateFormat df1 = new SimpleDateFormat("EEE,MMM d yyyy - h:mm a");
- String newDate = df1.format(date);
- timing.setText(newDate);
- //ORIGINAL
- if(hour == 0 && min == 0)
- {
- hour = 7;
- min = 30;
- }
- if(hours == 0 && mins == 0)
- {
- hours = 15;
- mins = 30;
- }
- if(date.getHours() <= 7 || date.getHours() >= 20) {//Light
- if(!lightStage.isShowing()) {
- lightStage.show();
- }
- }
- else{
- lightStage.close();
- }
- if(date.getHours() == hour && (date.getMinutes()> min && date.getMinutes() <= min + 15))
- {
- /********************************************UPDATE*********************************************/
- saveAlertToDB(hour + ":" + min + ":" + date.getSeconds()+ " " + date.getMonth() + "/" + date.getDate() + "/" +(date.getYear() + 1900),"Feeding Time!");
- /********************************************UPDATE*********************************************/
- final URL resource = getClass().getResource("dogHappySound.wav");
- final Media media1 = new Media(resource.toString());
- mediaPlayerHeater = new MediaPlayer(media1);
- mediaPlayer.setVolume(mediaPlayer.getVolume()/30);
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("Your dog has just recieved food!");
- alert.setHeaderText(null);
- alert.setContentText("Your dog has just recieved food!");
- alert.showAndWait();
- cuteBarking.stop();
- mediaPlayer.setVolume(mediaPlayer.getVolume()*30);
- Button button1 = new Button("Back");
- GridPane pane2 = new GridPane();
- Stage stage2 = new Stage();
- pane2.setStyle( "-fx-background-image: url(" +
- "'room.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- ImageView dogEating = new ImageView();
- dogEating.setImage(new Image("dogFood.gif"));
- dogEating.setFitHeight(200);
- dogEating.setFitWidth(200);
- if(dog.distance==0) {
- ImageView happyDog = new ImageView();
- happyDog.setImage(new Image("dogEating.gif"));
- happyDog.setFitHeight(200);
- happyDog.setFitWidth(200);
- pane2.getChildren().remove(dogEating);
- pane2.add(happyDog, 7, 50);
- }
- ImageView dogDrinking = new ImageView();
- dogDrinking.setImage(new Image("dogDrinking.gif"));
- dogDrinking.setFitHeight(200);
- dogDrinking.setFitWidth(200);
- button1.setOnAction(en->{
- temp.SetCurrentTemp(temp.GetOptimalTemp());
- stage2.close();
- stage.show();
- mediaPlayer.play();
- // cuteBarking.play();
- });
- // HBox feed = new HBox();
- // feed.setSpacing(5);
- // feed.getChildren().addAll(dogEating, dogDrinking);
- pane2.setVgap(10);
- pane2.setHgap(10);
- pane2.add(button1, 1, 1);
- pane2.add(dogEating, 10, 50);
- pane2.add(dogDrinking, 9, 50);
- // pane2.add(dogDrinking, 13, 40);
- stage2.setScene(new Scene(pane2,800,800));
- stage2.show();
- mediaPlayer.stop();
- stage.close();
- }
- if(date.getHours() == hours && (date.getMinutes() > mins && date.getMinutes() <= mins + 15))
- {
- /********************************************UPDATE*********************************************/
- saveAlertToDB(hours + ":" + mins + ":" + date.getSeconds() + " " + date.getMonth() + "/" + date.getDate() + "/" +(date.getYear() + 1900),"Feeding Time!");
- /********************************************UPDATE*********************************************/
- final URL resource = getClass().getResource("dogHappySound.wav");
- final Media media1 = new Media(resource.toString());
- mediaPlayerHeater = new MediaPlayer(media1);
- mediaPlayer.setVolume(mediaPlayer.getVolume()/30);
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("Your dog has just recieved food!");
- alert.setHeaderText(null);
- alert.setContentText("Your dog has just recieved food!");
- alert.showAndWait();
- cuteBarking.stop();
- mediaPlayer.setVolume(mediaPlayer.getVolume()*30);
- Button button1 = new Button("Back");
- GridPane pane2 = new GridPane();
- Stage stage2 = new Stage();
- pane2.setStyle( "-fx-background-image: url(" +
- "'room.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- ImageView dogEating = new ImageView();
- dogEating.setImage(new Image("dogFood.gif"));
- dogEating.setFitHeight(200);
- dogEating.setFitWidth(200);
- if(dog.distance==0) {
- ImageView happyDog = new ImageView();
- happyDog.setImage(new Image("dogEating.gif"));
- happyDog.setFitHeight(200);
- happyDog.setFitWidth(200);
- pane2.getChildren().remove(dogEating);
- pane2.add(happyDog, 7, 50);
- }
- ImageView dogDrinking = new ImageView();
- dogDrinking.setImage(new Image("dogDrinking.gif"));
- dogDrinking.setFitHeight(200);
- dogDrinking.setFitWidth(200);
- button1.setOnAction(en->{
- temp.SetCurrentTemp(temp.GetOptimalTemp());
- stage2.close();
- stage.show();
- mediaPlayer.play();
- // cuteBarking.play();
- });
- pane2.setVgap(10);
- pane2.setHgap(10);
- pane2.add(button1, 1, 1);
- pane2.add(dogEating, 10, 50);
- pane2.add(dogDrinking, 9, 50);
- stage2.setScene(new Scene(pane2,800,800));
- stage2.show();
- mediaPlayer.stop();
- stage.close();
- }
- });
- timeDo.setOnAction(e->{
- timeline.stop();
- int minutes = date.getMinutes();
- date.setMinutes(minutes-=15);
- DateFormat df1 = new SimpleDateFormat("EEE,MMM d yyyy - h:mm a");
- String newDate = df1.format(date);
- timing.setText(newDate);
- //ORIGINAL
- if(hour == 0 && hours == 0 && mins == 0)
- {
- hour = 7;
- hours = 15;
- mins = 30;
- }
- if(date.getHours() <= 7 || date.getHours() >= 20) {//Light
- if(!lightStage.isShowing()) {
- lightStage.show();
- }
- }
- else{
- lightStage.close();
- }
- if((date.getHours() == hour||date.getHours() == hours )&& (date.getMinutes()> mins && date.getMinutes() <= mins + 15))
- {
- /********************************************UPDATE*********************************************/
- saveAlertToDB(date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() + " "+ date.getMonth() + "/" + date.getDate() + "/" +(date.getYear() + 1900),"Feeding Time!");
- /********************************************UPDATE*********************************************/
- final URL resource = getClass().getResource("dogHappySound.wav");
- final Media media1 = new Media(resource.toString());
- mediaPlayerHeater = new MediaPlayer(media1);
- mediaPlayer.setVolume(mediaPlayer.getVolume()/30);
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("Your dog has just recieved food!");
- alert.setHeaderText(null);
- alert.setContentText("Your dog has just recieved food!");
- alert.showAndWait();
- cuteBarking.stop();
- mediaPlayer.setVolume(mediaPlayer.getVolume()*30);
- Button button1 = new Button("Back");
- GridPane pane2 = new GridPane();
- Stage stage2 = new Stage();
- pane2.setStyle( "-fx-background-image: url(" +
- "'room.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- if(dog.distance==0) {
- ImageView happyDog = new ImageView();
- happyDog.setImage(new Image("dogEating.gif"));
- happyDog.setFitHeight(200);
- happyDog.setFitWidth(200);
- pane2.add(happyDog, 7, 50);
- }
- ImageView dogEating = new ImageView();
- dogEating.setImage(new Image("dogFood.gif"));
- dogEating.setFitHeight(200);
- dogEating.setFitWidth(200);
- ImageView dogDrinking = new ImageView();
- dogDrinking.setImage(new Image("dogDrinking.gif"));
- dogDrinking.setFitHeight(200);
- dogDrinking.setFitWidth(200);
- button1.setOnAction(en->{
- temp.SetCurrentTemp(temp.GetOptimalTemp());
- stage2.close();
- stage.show();
- mediaPlayer.play();
- // cuteBarking.play();
- });
- // HBox feed = new HBox();
- // feed.setSpacing(5);
- // feed.getChildren().addAll(dogEating, dogDrinking);
- pane2.setVgap(10);
- pane2.setHgap(10);
- pane2.add(button1, 1, 1);
- pane2.add(dogEating, 10, 50);
- pane2.add(dogDrinking, 9, 50);
- stage2.setScene(new Scene(pane2,800,800));
- stage2.show();
- mediaPlayer.stop();
- stage.close();
- }
- });
- Button unmute = new Button("unmute");
- Button mute = new Button("mute");
- unmute.setDisable(true);
- unmute.setStyle("-fx-background-color: Black");
- unmute.setTextFill(Color.WHITE);
- unmute.setOnAction(value->{
- mediaPlayer.setMute(false);
- unmute.setDisable(true);
- mute.setDisable(false);
- });
- mute.setStyle("-fx-background-color: Black");
- mute.setTextFill(Color.WHITE);
- mute.setOnAction(value->{
- mediaPlayer.setMute(true);
- unmute.setDisable(false);
- mute.setDisable(true);
- });
- //////////////////////////////objects added to pane//////////////////////////////////////////////////////////
- /****** UPDATES ******/
- HBox tem = new HBox();
- HBox tim = new HBox();
- HBox h = new HBox();
- h.setSpacing(5);
- StackPane stack = new StackPane();
- StackPane stackTime = new StackPane();
- Rectangle rec = new Rectangle();
- Rectangle rec1 = new Rectangle();
- rec.setFill(Color.WHITE);
- rec.setStroke(Color.BLACK);
- rec.setWidth(220);
- rec.setHeight(40);
- rec1.setFill(Color.WHITE);
- rec1.setStroke(Color.BLACK);
- rec1.setWidth(220);
- rec1.setHeight(40);
- stack.getChildren().add(rec);
- stack.getChildren().add(label);
- stackTime.getChildren().add(rec1);
- stackTime.getChildren().add(timing);
- tem.getChildren().addAll(tempUp,tempDown,setOptimalTemperature,stack);
- h.getChildren().addAll(viewInfor,throwBall,mute, unmute);
- //tem.setPadding(new Insets(10,10,10,10));
- tem.setSpacing(5);
- tim.setSpacing(5);
- tim.getChildren().addAll(timeUp,timeDo,setFeed, setFeed2,stackTime);
- //
- pane.add(tem, 0, 0);
- // pane.add(tempAll, 0, 1);
- pane.add(tim, 0, 1);
- pane.add(h, 0, 2);
- // pane.add(timing, 2, 2);
- pane.add(textfield, 3, 0);//////////////////////------>textfield for phone input
- pane.add(choiceBox, 3, 1);//////////////////////------>choicebox for company
- pane.add(btMoveBackward,0, 15);
- pane.add(btMoveFordward, 0, 16);
- pane.add(btCheckDistance, 0, 17);
- pane.add(viewRecord,0, 18);
- pane.add(btUpward,0,13);
- pane.add(pet2, 2, 19);
- pane.add(tennisBall, 5, 19);
- // pane.setGridLinesVisible(true);
- pane.add(btDownward,0,14);
- /*pane.add(btTotalDistance, 1, 18);*/
- pane.add(pet,2,19);
- /////////////////////////////////dog at pane:default (4,19)/////////////////////////////////////////////////
- pane.setStyle( "-fx-background-image: url(" +
- "'backyard.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- stage.setScene(new Scene(pane, 1020, 1500));/////////////////////////default(pane,900,1500)
- final URL resource = getClass().getResource("FunnyDay.mp3");
- final Media media = new Media(resource.toString());
- /********************************************UPDATE*********************************************/
- final URL cuteBarkingResource = getClass().getResource("dogCuteBarking.wav");
- final Media cuteBarkingMedia = new Media(cuteBarkingResource.toString());
- cuteBarking= new MediaPlayer(cuteBarkingMedia);
- cuteBarking.play();
- cuteBarking.setVolume(0.3);
- mediaPlayer = new MediaPlayer(media);
- mediaPlayer.setOnEndOfMedia(new Runnable() {
- public void run() {
- mediaPlayer.seek(Duration.ZERO);
- }
- });
- mediaPlayer.play();
- /*********************************UPDATES 11/28/18*********************************/
- mediaPlayer.setVolume(0.1);
- stage.show();
- }
- public static void main(String[] args) {
- launch(args);
- }
- public void refreshTable() {
- data.clear();
- String url = "jdbc:mysql://localhost/cs3220stu55?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
- String username = "cs3220stu55";
- String password = "zWpa0NxR";
- try {
- Connection c = DriverManager
- .getConnection( url, username, password );
- Statement stmt = c.createStatement();
- ResultSet rs = stmt.executeQuery( "select * from pet" );
- while( rs.next() )
- {
- LocalDate today = rs.getDate("birthday").toLocalDate();
- LocalDate tomorrow = today.plusDays(1);
- data.add(new Dog(rs.getString("name"),rs.getString("breed"),
- rs.getString("gender"),rs.getString("furColor"),rs.getInt("weight"),rs.getInt("height"),
- tomorrow,rs.getBoolean("neutorSpay"),rs.getBoolean("microchipped"),rs.getString("phoneNumber"),rs.getString("provider")));
- }
- c.close();
- } catch (Exception exception) {
- exception.printStackTrace();
- //System.out.println("Error on Building Data");
- }
- table.setItems(data);
- }
- static ObservableList<AlertMessage> removeDu(ObservableList<AlertMessage> list){
- HashSet <AlertMessage> h = new HashSet<AlertMessage>(list);
- list.clear();
- list.addAll(h);
- return list;
- }
- static ObservableList<Dog> removeDuplicates(ObservableList<Dog> list) {
- HashSet <Dog> h = new HashSet<Dog>(list);
- list.clear();
- list.addAll(h);
- return list;
- }
- public static String readPhoneNumber() {
- String number = "";
- ArrayList<String> list = new ArrayList<>();
- String url = "jdbc:mysql://localhost/cs3220stu55?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
- String username = "cs3220stu55";
- String password = "zWpa0NxR";
- try {
- Connection c = DriverManager
- .getConnection( url, username, password );
- Statement stmt = c.createStatement();
- ResultSet rs = stmt.executeQuery( "select * from pet" );
- while( rs.next() )
- {
- list.add(rs.getString("phoneNumber"));
- }
- c.close();
- } catch (Exception exception) {
- exception.printStackTrace();
- //System.out.println("Error on Building Data");
- }
- number = list.get(list.size()-1);
- return number;
- }
- public static String readProvider() {
- String provider = "";
- ArrayList<String> listP = new ArrayList<>();
- String url = "jdbc:mysql://localhost/cs3220stu55?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
- String username = "cs3220stu55";
- String password = "zWpa0NxR";
- try {
- Connection c = DriverManager
- .getConnection( url, username, password );
- Statement stmt = c.createStatement();
- ResultSet rs = stmt.executeQuery( "select * from pet" );
- while( rs.next() )
- {
- listP.add(rs.getString("provider"));
- }
- c.close();
- } catch (Exception exception) {
- exception.printStackTrace();
- //System.out.println("Error on Building Data");
- }
- provider = listP.get(listP.size()-1);
- return provider;
- }
- public static boolean isValidOptimalTmp(String temp) {
- int num;
- try
- {
- num = Integer.parseInt(temp);
- if(num<60)
- return false;
- if(num>80)
- return false;
- }
- catch(NumberFormatException ex)
- {
- return false;
- }
- return true;
- }
- public static void saveAlertToDB(String date,String str) {
- String url = "jdbc:mysql://localhost/cs3220stu55?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
- String username = "cs3220stu55";
- String password = "zWpa0NxR";
- try {
- Class.forName("com.mysql.cj.jdbc.Driver");
- Connection conn = DriverManager
- .getConnection( url, username, password );
- String query = " insert into Alert (time,alerts)"
- + " values (?,?)";
- PreparedStatement preparedStmt = conn.prepareStatement(query);
- preparedStmt.setString (1, date);
- preparedStmt.setString (2, str);
- preparedStmt.execute();
- conn.close();
- } catch (Exception exception) {
- exception.printStackTrace();
- //System.out.println("Error on Building Data");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement