Add metadata listeners to components.
[sonitus.git] / src / main / java / net / pterodactylus / sonitus / data / filter / DummyFilter.java
index 4e19683..4b23c06 100644 (file)
@@ -27,9 +27,11 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
+import net.pterodactylus.sonitus.data.AbstractControlledComponent;
 import net.pterodactylus.sonitus.data.Controller;
 import net.pterodactylus.sonitus.data.Filter;
 import net.pterodactylus.sonitus.data.Metadata;
+import net.pterodactylus.sonitus.data.event.MetadataUpdated;
 
 import com.google.common.eventbus.EventBus;
 import com.google.common.io.Closeables;
@@ -39,7 +41,7 @@ import com.google.common.io.Closeables;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public class DummyFilter implements Filter {
+public class DummyFilter extends AbstractControlledComponent implements Filter {
 
        /** The name of this filter. */
        private final String name;
@@ -89,7 +91,7 @@ public class DummyFilter implements Filter {
 
        @Override
        public void open(Metadata metadata) throws IOException {
-               this.metadata = metadata;
+               metadataUpdated(metadata);
                inputStream = createInputStream();
                outputStream = createOutputStream();
        }
@@ -112,6 +114,8 @@ public class DummyFilter implements Filter {
        @Override
        public void metadataUpdated(Metadata metadata) {
                this.metadata = metadata;
+               fireMetadataUpdated(metadata);
+               eventBus.post(new MetadataUpdated(this, metadata));
        }
 
        @Override