aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorMatt Kohls <mattkohls13@gmail.com>2018-11-12 16:43:25 -0500
committerMatt Kohls <mattkohls13@gmail.com>2018-11-12 16:43:25 -0500
commitede0d1d78371f7980b98beaf94d2dd642077a762 (patch)
tree606320979e4289a1f062ad63cd2634b2f125687c /src/main/java
parent4db359db8fa95424446f5789a1af3fac7e800bda (diff)
downloadSoundChan-ede0d1d78371f7980b98beaf94d2dd642077a762.tar.gz
SoundChan-ede0d1d78371f7980b98beaf94d2dd642077a762.tar.bz2
SoundChan-ede0d1d78371f7980b98beaf94d2dd642077a762.zip
Cleaning up watcher stuff
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/soundchan/BotListener/DirectoryWatcher.java62
-rw-r--r--src/main/java/soundchan/BotListener/MediaWatcher.java2
-rw-r--r--src/main/java/soundchan/BotListener/UserSoundWatcher.java69
3 files changed, 1 insertions, 132 deletions
diff --git a/src/main/java/soundchan/BotListener/DirectoryWatcher.java b/src/main/java/soundchan/BotListener/DirectoryWatcher.java
deleted file mode 100644
index 7d63bd1..0000000
--- a/src/main/java/soundchan/BotListener/DirectoryWatcher.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package soundchan.BotListener;
-
-import soundchan.LocalAudioManager;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.*;
-
-import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
-import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
-import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;
-
-public class DirectoryWatcher implements Runnable {
-
- private LocalAudioManager localAudioManager;
- private Path soundDir;
- private WatchService watchService;
- private WatchKey watchKey;
-
- @SuppressWarnings("unchecked")
- static <T> WatchEvent<T> cast(WatchEvent<?> event) {
- return (WatchEvent<T>) event;
- }
-
- public DirectoryWatcher(LocalAudioManager audioManager, String filepath) {
- this.localAudioManager = audioManager;
- this.soundDir = new File(filepath).toPath();
- try {
- this.watchService = FileSystems.getDefault().newWatchService();
- this.watchKey = soundDir.register(watchService, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
- } catch(IOException e) {
- System.out.println("Error setting up watcher for " + filepath);
- }
- }
-
- /**
- * Called by an executor, checks for changes in the directory
- */
- public void run() {
- try {
- while(true) {
- WatchKey key = watchService.take();
- if(this.watchKey != key) {
- System.out.println("Error with WatchKey");
- continue;
- }
-
- for(WatchEvent<?> event : key.pollEvents()) {
- WatchEvent<Path> pathEvent = cast(event);
- //System.out.format("%s: %s\n", pathEvent.kind(), soundDir.resolve(pathEvent.context()));
- localAudioManager.UpdateFiles();
- }
-
- if(!key.reset()) {
- break;
- }
- }
- } catch(InterruptedException e) {
- return;
- }
- }
-}
diff --git a/src/main/java/soundchan/BotListener/MediaWatcher.java b/src/main/java/soundchan/BotListener/MediaWatcher.java
index 1f15cc1..20f6ee8 100644
--- a/src/main/java/soundchan/BotListener/MediaWatcher.java
+++ b/src/main/java/soundchan/BotListener/MediaWatcher.java
@@ -56,7 +56,7 @@ public class MediaWatcher implements Runnable {
}
/**
- * Called by an executor, checks for changes in the directory
+ * Called by an executor, checks for changes to file(s)
*/
public void run() {
try {
diff --git a/src/main/java/soundchan/BotListener/UserSoundWatcher.java b/src/main/java/soundchan/BotListener/UserSoundWatcher.java
deleted file mode 100644
index 4c10cef..0000000
--- a/src/main/java/soundchan/BotListener/UserSoundWatcher.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package soundchan.BotListener;
-
-import soundchan.LocalAudioManager;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.*;
-
-import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;
-
-public class UserSoundWatcher implements Runnable {
-
- private LocalAudioManager localAudioManager;
- private String userSoundFile;
- private Path soundFileDirectory;
- private WatchService watchService;
- private WatchKey watchKey;
-
- @SuppressWarnings("unchecked")
- static <T> WatchEvent<T> cast(WatchEvent<?> event) {
- return (WatchEvent<T>) event;
- }
-
- public UserSoundWatcher(LocalAudioManager audioManager, String filepath) {
- this.localAudioManager = audioManager;
- File soundFile = new File(filepath);
- this.userSoundFile = soundFile.getName();
- try {
- this.soundFileDirectory = soundFile.getCanonicalFile().getParentFile().toPath();
- } catch(IOException e) {
- System.out.println("Error getting parent path of " + userSoundFile);
- }
- try {
- this.watchService = FileSystems.getDefault().newWatchService();
- this.watchKey = soundFileDirectory.register(watchService, ENTRY_MODIFY);
- } catch(IOException e) {
- System.out.println(e.getMessage());
- System.out.println("Error setting up watcher for " + filepath);
- }
- }
-
- /**
- * Called by an executor, checks for changes of the userSoundFile
- */
- public void run() {
- try {
- while(true) {
- WatchKey key = watchService.take();
- if(this.watchKey != key) {
- System.out.println("Error with WatchKey");
- continue;
- }
-
- for(WatchEvent<?> event : key.pollEvents()) {
- WatchEvent<Path> pathEvent = cast(event);
- if(pathEvent.context().endsWith(userSoundFile)) {
- localAudioManager.UpdateUserAudio();
- }
- }
-
- if(!key.reset()) {
- break;
- }
- }
- } catch(InterruptedException e) {
- return;
- }
- }
-}