package maps;

import java.util.Iterator;

import databases.DatabaseRicerche;

public class Finder extends Thread 
{
	private String street;
	private String city;
	
	private DatabaseRicerche db = DatabaseRicerche.getInstance();
	private GISFinder finder = new GoogleMaps();
	
	public Finder(String s, String c)
	{
		street=s;
		city=c;
	}
	
	public void newPosition(String street, String city)
	{
		synchronized(db)
		{
			this.street=street.replace(' ', '+');
			this.city=city.replace(' ', '+');
			db.notify();
			db.signal();
		}
	}
	
	public void run()
	{
		synchronized(db)
		{
			while(!db.signaled())
			{
				try 
				{
					db.wait();
				}
				catch (InterruptedException e) 
				{
					e.printStackTrace();
				}
			}
			System.out.println("eseguo");
			Iterator<String> i = db.iterator();
			while(i.hasNext())
			{
				String s = i.next();
				System.out.println(street + " " +city + " " + s);
				finder.find(street, city, s);
			}
		}		
	}
}
