Skip to content

Commit d4fc6e0

Browse files
committed
Code cleanup
1 parent c0d3556 commit d4fc6e0

14 files changed

Lines changed: 190 additions & 194 deletions

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
target
22
target/classes/com/funkylogclient/Message.class
33
pom.xml
4-
4+
logs846

src/main/java/com/funkylogclient/FunkyLogSorter.java

Lines changed: 75 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
import java.io.File;
44
import java.io.FileWriter;
55
import java.io.IOException;
6-
import java.time.LocalDate;
76
import java.time.LocalDateTime;
87
import java.time.format.DateTimeFormatter;
9-
import java.util.ArrayList;
10-
import java.util.Comparator;
11-
import java.util.LinkedHashSet;
128
import java.util.LinkedList;
139

10+
import javafx.animation.PauseTransition;
11+
import javafx.scene.control.Alert;
12+
import javafx.scene.control.Alert.AlertType;
1413
import javafx.stage.FileChooser;
1514
import javafx.stage.Stage;
15+
import javafx.util.Duration;
1616

1717
public class FunkyLogSorter {
1818
private static int MAX_LEN = 1200;
@@ -26,6 +26,11 @@ public class FunkyLogSorter {
2626
public static LinkedList<Message> messages = new LinkedList<>();
2727
public static LinkedList<Message> filtered = new LinkedList<>();
2828

29+
public static int num_open_alerts = 0;
30+
31+
public static String log_file_directory = System.getProperty("user.dir") + "/logs846";
32+
public static FileWriter log_file;
33+
2934
public static void clear() {
3035
messages.clear();
3136
filtered.clear();
@@ -35,7 +40,7 @@ public static void reFilter() {
3540
filtered.clear();
3641

3742
for (Message m : messages) {
38-
if (!checkMessageBySearch(m)) {
43+
if (!checkMessageBySearch(m)) {
3944
continue;
4045
} else if (allowLogs && m.isLog()) {
4146
filtered.add(m);
@@ -48,7 +53,8 @@ public static void reFilter() {
4853
}
4954

5055
private static boolean checkMessageBySearch(Message msg) {
51-
if (searchTerm.equals("")) return true;
56+
if (searchTerm.equals(""))
57+
return true;
5258

5359
return msg.getSender().contains(searchTerm) || msg.getContent().contains(searchTerm);
5460
}
@@ -73,7 +79,39 @@ public static void addMessage(Message m) {
7379

7480
messages.add(m);
7581

76-
if (!checkMessageBySearch(m)) {
82+
if (log_file != null) {
83+
try {
84+
log_file.write(m.toString() + "\n");
85+
} catch (IOException exc) {
86+
exc.printStackTrace();
87+
}
88+
}
89+
90+
if (m.isError()) {
91+
if (num_open_alerts < 5) {
92+
Alert alert = new Alert(AlertType.ERROR);
93+
alert.setTitle("FunkyLogs Error Notification");
94+
alert.setHeaderText(m.getSender());
95+
alert.setContentText(m.getContent());
96+
97+
alert.setX(alert.getX() + (num_open_alerts * 70));
98+
alert.setY(alert.getY() + (num_open_alerts * 70));
99+
100+
alert.show();
101+
102+
PauseTransition delay = new PauseTransition(Duration.seconds(5));
103+
104+
delay.setOnFinished(event -> {
105+
alert.close();
106+
FunkyLogSorter.num_open_alerts--;
107+
});
108+
109+
delay.play();
110+
111+
}
112+
}
113+
114+
if (!checkMessageBySearch(m)) {
77115

78116
} else if (allowLogs && m.isLog()) {
79117
filtered.add(m);
@@ -114,6 +152,31 @@ public static void logAllMessages() {
114152
System.out.println("END\n");
115153
}
116154

155+
public static String makeLogFileName() {
156+
LocalDateTime dateTime = LocalDateTime.now();
157+
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss");
158+
String dateString = dateTime.format(formatter);
159+
return dateString + ".log846";
160+
}
161+
162+
public static String getLogFileDirectory() {
163+
return log_file_directory;
164+
}
165+
166+
public static void makeNewLogFile() {
167+
try {
168+
File directory = new File(log_file_directory);
169+
if (!directory.exists()) {
170+
directory.mkdir();
171+
}
172+
if (log_file != null)
173+
log_file.close();
174+
log_file = new FileWriter(log_file_directory + "/" + makeLogFileName());
175+
} catch (IOException exc) {
176+
exc.printStackTrace();
177+
}
178+
}
179+
117180
public static String stringifyAllMessages() {
118181
StringBuilder result = new StringBuilder();
119182
for (Message m : messages) {
@@ -127,14 +190,14 @@ public static void saveToFile(Stage pstage) {
127190
FileChooser fileChooser = new FileChooser();
128191
fileChooser.setTitle("Save Log File");
129192

193+
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("FunkyLogs File", ".log846");
194+
fileChooser.getExtensionFilters().add(extFilter);
195+
130196
LocalDateTime dateTime = LocalDateTime.now();
131197
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss");
132198
String dateString = dateTime.format(formatter);
133199

134-
fileChooser.setInitialFileName(dateString + ".txt");
135-
136-
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("Text documents", ".txt");
137-
fileChooser.getExtensionFilters().add(extFilter);
200+
fileChooser.setInitialFileName(dateString + ".log846");
138201

139202
File file = fileChooser.showSaveDialog(pstage);
140203

@@ -159,7 +222,7 @@ public static void createTestWarning(Stage pstage) {
159222
}
160223

161224
public static void createTestError(Stage pstage) {
162-
addMessage(new Message("2;TestSender;This is an Error;0.0;0;0.0"));
225+
addMessage(new Message("2;TestSender;This is an Error;0.0;0;0.0"));
163226
logAllMessages();
164227
}
165228

src/main/java/com/funkylogclient/FunkyLogs.java

Lines changed: 18 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@
1818
import javafx.scene.Cursor;
1919
import javafx.scene.text.*;
2020

21-
import javafx.scene.control.Button;
22-
import javafx.stage.Popup;
23-
import javafx.event.ActionEvent;
24-
import javafx.event.EventHandler;
25-
26-
2721
public class FunkyLogs extends Application {
2822

2923
private BorderPane root;
@@ -32,11 +26,6 @@ public class FunkyLogs extends Application {
3226
private double xr = 1100;
3327
private double yu = 70;
3428
private double yd = 650;
35-
private static int count = 0;
36-
private static int x = 50, y = 500;
37-
38-
private static LinkedList<Popup> popups = new LinkedList<Popup>();
39-
private static LinkedList<Button> buttons = new LinkedList<Button>();
4029

4130
private static VBox messageZone;
4231

@@ -47,6 +36,7 @@ public class FunkyLogs extends Application {
4736

4837
@Override
4938
public void start(Stage primaryStage) {
39+
FunkyLogSorter.makeNewLogFile();
5040
primaryStage.setTitle("FunkyLogs v1.0.0");
5141

5242
root = new BorderPane();
@@ -83,22 +73,29 @@ public void start(Stage primaryStage) {
8373
mScrollPane.setFitToWidth(true);
8474
mScrollPane.setFitToHeight(true);
8575
messageZone.heightProperty().addListener((observable, oldValue, newValue) -> {
86-
if (FunkyLogs.auto_scroll) mScrollPane.setVvalue(1.0);
76+
if (FunkyLogs.auto_scroll)
77+
mScrollPane.setVvalue(1.0);
8778
});
8879
mScrollPane.setStyle(Styles.SCROLL_PANE_STYLE);
8980

9081
center.getChildren().add(mScrollPane);
9182

9283
root.setCenter(center);
9384

94-
root.setRight(RightSidebar.getRightSidebar(getClass().getResource("logo.png"),
95-
getClass().getResource("exit.png"), primaryStage,
96-
(observable, prev, value) -> { FunkyLogs.auto_scroll = value; },
97-
(observable, prev, value) -> { FunkyLogs.serverIP = value; },
98-
(observable, prev, value) -> { FunkyLogs.port = Integer.parseInt(value); },
99-
(ev) -> {
100-
UDPClient.setConnectionAddress(FunkyLogs.serverIP, FunkyLogs.port);
101-
}));
85+
root.setRight(RightSidebar.getRightSidebar(getClass().getResource("logo.png"),
86+
getClass().getResource("exit.png"), primaryStage,
87+
(observable, prev, value) -> {
88+
FunkyLogs.auto_scroll = value;
89+
},
90+
(observable, prev, value) -> {
91+
FunkyLogs.serverIP = value;
92+
},
93+
(observable, prev, value) -> {
94+
FunkyLogs.port = Integer.parseInt(value);
95+
},
96+
(ev) -> {
97+
UDPClient.setConnectionAddress(FunkyLogs.serverIP, FunkyLogs.port);
98+
}));
10299

103100
Scene scene = new Scene(root, Color.TRANSPARENT);
104101
primaryStage.initStyle(StageStyle.TRANSPARENT);
@@ -110,7 +107,7 @@ public void start(Stage primaryStage) {
110107
enableResizing(primaryStage, root);
111108

112109
root.setStyle("-fx-background-radius: 10; -fx-background-color: #1E1E1E;");
113-
110+
114111
Task<Void> updateTask = new Task<Void>() {
115112
@Override
116113
protected Void call() throws Exception {
@@ -139,50 +136,12 @@ private static void updateMessageZone(Stage stage) {
139136
FunkyLogs.messageZone.getChildren().clear();
140137
@SuppressWarnings("unchecked")
141138
LinkedList<Message> fmessages_copy = (LinkedList<Message>) FunkyLogSorter.filtered.clone();
142-
int a = 0;
143139
for (Message msg : fmessages_copy) {
144140
FunkyLogs.messageZone.getChildren().add(msg.getComponent());
145-
if (msg.isError()) a++;
146-
if (msg.isError() && count < a && popups.size() < 5) {
147-
count++;
148-
Button close = new Button("x");
149-
close.setLayoutX(480);
150-
close.setLayoutY(10);
151-
Popup p = new Popup();
152-
p.setX(x);
153-
p.setY(y);
154-
EventHandler<ActionEvent> closeHandler = event -> {
155-
close.setOnAction(null);
156-
p.hide();
157-
System.gc();
158-
};
159-
close.setOnAction(closeHandler);
160-
161-
p.getContent().add(msg.getComponent());
162-
p.getContent().add(close);
163-
p.show(stage);
164-
y -= 60;
165-
popups.add(p);
166-
buttons.add(close);
167-
}
168141
}
169142
});
170143
}
171144

172-
public static void resetCount() {
173-
count = 0;
174-
y = 500;
175-
for (Popup i : popups) {
176-
i.hide();
177-
}
178-
for (Button b : buttons) {
179-
b.setOnAction(null);
180-
}
181-
popups.clear();
182-
buttons.clear();
183-
System.gc();
184-
}
185-
186145
private void setStageSize(Stage stage) {
187146
stage.setX(xl);
188147
stage.setY(yu);

src/main/java/com/funkylogclient/LogFileProcesser.java

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@ public class LogFileProcesser {
1313
private static Scanner input;
1414
private static File file;
1515

16-
17-
public static void selectFile(Stage stage)
18-
{
16+
public static void selectFile(Stage stage) {
1917
try {
20-
FileChooser fil_chooser = new FileChooser();
21-
// get the file selected
22-
file = fil_chooser.showOpenDialog(stage);
23-
readFile(file);
24-
}
25-
catch (Exception e) {
18+
FileChooser fileChooser = new FileChooser();
19+
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("FunkyLogs File", "*.log846");
20+
fileChooser.getExtensionFilters().add(extFilter);
21+
fileChooser.setTitle("Open Log File");
22+
23+
fileChooser.setInitialDirectory(new File(FunkyLogSorter.getLogFileDirectory()));
24+
25+
file = fileChooser.showOpenDialog(stage);
26+
readFile(file, stage);
27+
} catch (Exception e) {
2628
System.out.println(e.getMessage());
2729
}
2830

@@ -33,30 +35,26 @@ public void setFile(String pathname) {
3335
}
3436

3537
public File getFile() {
36-
if (file != null) System.out.println(file.getAbsolutePath());
38+
if (file != null)
39+
System.out.println(file.getAbsolutePath());
3740
return file;
3841
}
3942

40-
public static void readFile(File file) {
43+
public static void readFile(File file, Stage primaryStage) {
4144
try {
4245
input = new Scanner(file);
43-
}
44-
catch ( FileNotFoundException ex) {
45-
System.out.println("could not find file"); //testing
46+
} catch (FileNotFoundException ex) {
47+
System.out.println("File not found");
4648
System.exit(1);
4749
}
4850
LinkedList<Message> messages = new LinkedList<Message>();
4951
while (input.hasNextLine()) {
50-
Message log = new Message(input.nextLine(), true);
52+
Message log = new Message(input.nextLine());
5153
if (log.getValid()) {
5254
messages.add(log);
5355
}
5456
}
55-
for (Message m : messages) { //testing
56-
System.out.println(m);
57-
}
58-
SavedFunkyLogs.displaySavedLogs(messages);
57+
SavedFunkyLogs.displaySavedLogs(messages, primaryStage, file.getName());
5958
}
6059

6160
}
62-

0 commit comments

Comments
 (0)