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;
/**
*
* @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;
+ /** The event bus. */
+ private final EventBus eventBus;
+
/** The input stream from which to read. */
private InputStream inputStream;
/**
* Creates a new dummy filter with the given name.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
*/
- public DummyFilter(String name) {
+ public DummyFilter(EventBus eventBus, String name) {
+ this.eventBus = eventBus;
this.name = name;
}
@Override
public void open(Metadata metadata) throws IOException {
- this.metadata = metadata;
+ metadataUpdated(metadata);
inputStream = createInputStream();
outputStream = createOutputStream();
}
@Override
public void metadataUpdated(Metadata metadata) {
this.metadata = metadata;
+ fireMetadataUpdated(metadata);
+ eventBus.post(new MetadataUpdated(this, metadata));
}
@Override