Pull all interfaces into a single interface: Filter.
[sonitus.git] / src / main / java / net / pterodactylus / sonitus / data / source / StreamSource.java
index a55654f..a66fb7a 100644 (file)
@@ -25,13 +25,13 @@ import java.net.URLConnection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
-import net.pterodactylus.sonitus.data.AbstractControlledComponent;
+import net.pterodactylus.sonitus.data.AbstractFilter;
 import net.pterodactylus.sonitus.data.ContentMetadata;
 import net.pterodactylus.sonitus.data.Controller;
 import net.pterodactylus.sonitus.data.FormatMetadata;
 import net.pterodactylus.sonitus.data.Metadata;
-import net.pterodactylus.sonitus.data.Source;
 import net.pterodactylus.sonitus.io.MetadataStream;
 
 import com.google.common.base.Optional;
@@ -46,7 +46,10 @@ import com.google.common.primitives.Ints;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public class StreamSource extends AbstractControlledComponent implements Source {
+public class StreamSource extends AbstractFilter {
+
+       /** The logger. */
+       private static final Logger logger = Logger.getLogger(StreamSource.class.getName());
 
        /** The URL of the stream. */
        private final String streamUrl;
@@ -83,6 +86,7 @@ public class StreamSource extends AbstractControlledComponent implements Source
                httpUrlConnection.setRequestProperty("ICY-Metadata", "1");
 
                /* connect. */
+               logger.info(String.format("Connecting to %s...", streamUrl));
                httpUrlConnection.connect();
 
                /* check content type. */
@@ -122,7 +126,7 @@ public class StreamSource extends AbstractControlledComponent implements Source
        }
 
        //
-       // CONTROLLED METHODS
+       // FILTER METHODS
        //
 
        @Override
@@ -135,10 +139,6 @@ public class StreamSource extends AbstractControlledComponent implements Source
                return Collections.emptyList();
        }
 
-       //
-       // SOURCE METHODS
-       //
-
        @Override
        public Metadata metadata() {
                Optional<ContentMetadata> streamMetadata = metadataStream.getContentMetadata();