package org.curiosity.publish; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import org.curiosity.concept.Camera; import org.curiosity.concept.Image; import org.curiosity.concept.RoverLocation; import java.util.List; /** * A {@link Publisher} that publishes images to system out. * * @author jherwitz */ public class SysOutPublisher implements Publisher { public static final SysOutPublisher Instance = new SysOutPublisher(); private SysOutPublisher() { } @Override public void publishImages(List<Image> images) { Multimap<Camera, Image> imagesByCamera = HashMultimap.create(); images.forEach(image -> imagesByCamera.put(image.origin(), image)); imagesByCamera.keySet().forEach(cameraType -> { System.out.println("Images for camera " + cameraType.name() + ":"); System.out.println(imagesByCamera.get(cameraType)); }); } @Override // TODO: implement public void publishLocations(List<RoverLocation> locations) { throw new UnsupportedOperationException(); } }