From 8b63aec4d5d26c5df2072a36c9f911a36faa3f65 Mon Sep 17 00:00:00 2001 From: Johannes Date: Sat, 21 Nov 2015 12:54:40 +0100 Subject: [PATCH] MessageController + HL7Message --- .../mi/projmi6/controller/MainController.java | 10 +++- .../mi/projmi6/controller/MessageController.java | 44 ++++++++++++++ .../mi/projmi6/db/MySqlConnectionFactory.java | 2 +- .../de/uniluebeck/mi/projmi6/model/HL7Message.java | 65 +++++++++++++++++++++ .../de/uniluebeck/mi/projmi6/view/MessageIcon.java | 50 +++++++++++++++- src/main/resources/main.fxml | 3 + src/main/resources/message.fxml | 13 +++++ src/main/resources/message.png | Bin 0 -> 1937 bytes 8 files changed, 182 insertions(+), 5 deletions(-) create mode 100644 src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java create mode 100644 src/main/java/de/uniluebeck/mi/projmi6/model/HL7Message.java create mode 100644 src/main/resources/message.fxml create mode 100644 src/main/resources/message.png diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java index 7952009..3df6171 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java @@ -2,6 +2,7 @@ package de.uniluebeck.mi.projmi6.controller; import de.uniluebeck.mi.projmi6.db.DBHandler; import de.uniluebeck.mi.projmi6.model.*; +import de.uniluebeck.mi.projmi6.view.MessageIcon; import javafx.beans.binding.Bindings; import javafx.beans.property.ReadOnlyObjectProperty; import javafx.beans.property.SimpleObjectProperty; @@ -30,6 +31,8 @@ public class MainController { private StationsHistorieController stationsHistorieController; private UntersuchungenController untersuchungenController; private LogController logController; + private MessageController messageController; + private int parallelTaskCount = 0; @@ -73,8 +76,10 @@ public class MainController { return untersuchungenController; } else if (clazz.equals(StationsHistorieController.class)) { return stationsHistorieController; - } else if (clazz.equals(LogController.class)){ + } else if (clazz.equals(LogController.class)) { return logController; + }else if(clazz.equals(MessageController.class)){ + return messageController; } else { System.err.println("Keine Controller-Klasse des Typs " + clazz + " gefunden!!!"); return null; @@ -90,6 +95,7 @@ public class MainController { untersuchungenController = new UntersuchungenController(this); stationsHistorieController = new StationsHistorieController(this); logController = new LogController(this); + messageController = new MessageController(this); } @@ -250,7 +256,6 @@ public class MainController { } - private Task loadCaseData = null; @@ -296,7 +301,6 @@ public class MainController { protected void succeeded() { super.succeeded(); if (isCancelled()) { - System.out.println("Task wurde gecancelt"); return; } ObservableList diagnoses = FXCollections.observableArrayList(diagnoseList); diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java new file mode 100644 index 0000000..82c4c71 --- /dev/null +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java @@ -0,0 +1,44 @@ +package de.uniluebeck.mi.projmi6.controller; + +import de.uniluebeck.mi.projmi6.model.Fall; +import de.uniluebeck.mi.projmi6.model.HL7Message; +import de.uniluebeck.mi.projmi6.model.Patient; +import de.uniluebeck.mi.projmi6.view.MessageIcon; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; + +/** + * Created by Johannes on 21/11/2015. + */ +public class MessageController { + final MainController mainController; + + @FXML + private MessageIcon messageIcon; + + + + + public MessageController(MainController mainController){ + this.mainController = mainController; + } + + @FXML + private void initialize(){ + + + } + + @FXML + private void onMessageIconClicked(){ + + } + + + public void addMessage(HL7Message message){ + + } + +} + + diff --git a/src/main/java/de/uniluebeck/mi/projmi6/db/MySqlConnectionFactory.java b/src/main/java/de/uniluebeck/mi/projmi6/db/MySqlConnectionFactory.java index e680c1c..c8dfe6f 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/db/MySqlConnectionFactory.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/db/MySqlConnectionFactory.java @@ -8,7 +8,7 @@ import java.sql.SQLException; * MySQL Connection Factory. */ public class MySqlConnectionFactory { - public static final String URL = "jdbc:mysql://141.83.20.84:3306/pmiw15g06_v01"; + public static final String URL = "jdbc:mysql://localhost:3306/pmiw15g06_v01"; public static final String USER = "pmiw15g06"; public static final String PASS = "AX3yQSYJSH43PrSz"; public static final String DRIVER = "com.mysql.jdbc.Driver"; diff --git a/src/main/java/de/uniluebeck/mi/projmi6/model/HL7Message.java b/src/main/java/de/uniluebeck/mi/projmi6/model/HL7Message.java new file mode 100644 index 0000000..d0985e7 --- /dev/null +++ b/src/main/java/de/uniluebeck/mi/projmi6/model/HL7Message.java @@ -0,0 +1,65 @@ +package de.uniluebeck.mi.projmi6.model; + +import java.time.LocalDateTime; + +/** + * Created by Johannes on 21/11/2015. + */ +public class HL7Message { + private LocalDateTime dateTime; + private String messageContent; + + private boolean failed; + + private Patient patient; + private int fallId; + + public HL7Message(Patient patient, int fallId, LocalDateTime dateTime, String messageContent, boolean failed) { + this.patient = patient; + this.fallId = fallId; + this.dateTime = dateTime; + this.messageContent = messageContent; + this.failed = failed; + } + + public LocalDateTime getDateTime() { + + return dateTime; + } + + public void setDateTime(LocalDateTime dateTime) { + this.dateTime = dateTime; + } + + public String getMessageContent() { + return messageContent; + } + + public void setMessageContent(String messageContent) { + this.messageContent = messageContent; + } + + public boolean isFailed() { + return failed; + } + + public void setFailed(boolean failed) { + this.failed = failed; + } + + public Patient getPatient() { + return patient; + } + + public void setPatient(Patient patient) { + this.patient = patient; + } + + public int getFallId() { + return fallId; + } + + public void setFallId(int fallId) { + this.fallId = fallId; + } +} diff --git a/src/main/java/de/uniluebeck/mi/projmi6/view/MessageIcon.java b/src/main/java/de/uniluebeck/mi/projmi6/view/MessageIcon.java index f762ab5..9ae96a6 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/view/MessageIcon.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/view/MessageIcon.java @@ -1,11 +1,18 @@ package de.uniluebeck.mi.projmi6.view; +import javafx.animation.FadeTransition; +import javafx.animation.Timeline; +import javafx.animation.Transition; +import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleIntegerProperty; +import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.StackPane; +import javafx.scene.paint.Color; +import javafx.util.Duration; /** * Created by Johannes on 21/11/2015. @@ -18,16 +25,57 @@ public class MessageIcon extends Button { private final SimpleIntegerProperty messageCount = new SimpleIntegerProperty(this, "messageCount", 0); + FadeTransition transition; + public MessageIcon(){ - imageView = new ImageView(new Image("")); + imageView = new ImageView(new Image("message.png")); + imageView.setFitHeight(30); + imageView.setFitWidth(30); + /* imageView.opacityProperty().bind(Bindings.createDoubleBinding( + ()->messageCount.get()>0? 1.0 : 0.5, messageCount));*/ + + messageCountLabel = new Label(); + messageCountLabel.textProperty().bind(messageCount.asString()); + StackPane.setAlignment(messageCountLabel, Pos.BOTTOM_RIGHT); + messageCountLabel.setTextFill(Color.BLACK); + this.disableProperty().bind(messageCount.lessThanOrEqualTo(0)); StackPane graphic = new StackPane(imageView, messageCountLabel); this.setGraphic(graphic); + + initTransition(); + + } + + private void initTransition(){ + transition = new FadeTransition(Duration.millis(500), imageView); + transition.setFromValue(0.5); + transition.setToValue(1.0); + transition.setCycleCount(Timeline.INDEFINITE); + transition.setAutoReverse(true); + messageCount.addListener((observable, oldValue, newValue) -> { + if(messageCount.get()>0){ + transition.play(); + }else{ + transition.stop(); + + } + }); + } + + public int getMessageCount() { + return messageCount.get(); } + public SimpleIntegerProperty messageCountProperty() { + return messageCount; + } + public void setMessageCount(int messageCount) { + this.messageCount.set(messageCount); + } diff --git a/src/main/resources/main.fxml b/src/main/resources/main.fxml index 7feeee6..8cdcbb3 100644 --- a/src/main/resources/main.fxml +++ b/src/main/resources/main.fxml @@ -5,8 +5,10 @@ + + @@ -82,6 +84,7 @@ + diff --git a/src/main/resources/message.fxml b/src/main/resources/message.fxml new file mode 100644 index 0000000..8770a6f --- /dev/null +++ b/src/main/resources/message.fxml @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/message.png b/src/main/resources/message.png new file mode 100644 index 0000000000000000000000000000000000000000..28fe88d4da6fc4334224d4feac1c48e61ba219d0 GIT binary patch literal 1937 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