package Main;

import java.util.ArrayList;
import java.util.List;

import Objects.Product;
import Parsers.ElGiganten;
import Parsers.Komplett;
import Parsers.MediaMarkt;
import Parsers.NetOnNet;
import Parsers.Webhallen;

public class ParseUrls {

	List<Product> products = new ArrayList<Product>();

	public ParseUrls(List<Product> urls) {
		products = urls;
	}

	public void run() {

		List<Product> elGigantenProducts = products.stream().filter(p -> p.getStore().equals(StoreParser.EL_GIGANTEN)).toList();
		List<Product> mediaMarktProducts = products.stream().filter(p -> p.getStore().equals(StoreParser.MEDIA_MARKT)).toList();
		List<Product> komplettProducts = products.stream().filter(p -> p.getStore().equals(StoreParser.KOMPLETT)).toList();
		List<Product> webhallenProducts = products.stream().filter(p -> p.getStore().equals(StoreParser.WEBHALLEN)).toList();
		List<Product> netOnNetProducts = products.stream().filter(p -> p.getStore().equals(StoreParser.NET_ON_NET)).toList();

		System.out.println(StoreParser.MEDIA_MARKT);
		MediaMarkt mediaMarkt = new MediaMarkt();
		// new Thread(() -> {
		mediaMarktProducts.forEach(mediaMarkt::checkProduct);
		// }).start();
		System.out.println(StoreParser.KOMPLETT);
		Komplett komplett = new Komplett();
		// new Thread(() -> {
		komplettProducts.forEach(komplett::checkProduct);
		// }).start();
		System.out.println(StoreParser.WEBHALLEN);
		Webhallen webhallen = new Webhallen();
		// new Thread(() -> {
		webhallenProducts.forEach(webhallen::checkProduct);
		// }).start();
		System.out.println(StoreParser.NET_ON_NET);
		NetOnNet netOnNet = new NetOnNet();
		// new Thread(() -> {
		netOnNetProducts.forEach(netOnNet::checkProduct);
		// }).start();
		System.out.println(StoreParser.EL_GIGANTEN);
		ElGiganten elGiganten = new ElGiganten();
		// new Thread(() -> {
		elGigantenProducts.forEach(elGiganten::checkProduct);
		// }).start();
	}

}
