// Url Editor.java
// Vytautas Malisauskas KTU IFM3/1 1998

package lt.ktu.gmj.propertySheet;

import java.net.*;
import java.io.*;

//*************** URL ivedimo klase ********************************************

public class UrlEditor extends StringablePropertyEditor implements PropertyStringer
{ private PropertyProvider provider;

  public UrlEditor (PropertyProvider _provider)
  { provider=_provider;
    provider.addObserver (this);
    setStringer (this);
  }

  public String getAsString ()
  { return provider.get().toString();
  }

  public void setAsString (String text) throws InvalidPropertyException
  { try
    {
       //----- tikriname ar yra toks failas
       URL myurl = new URL (text);
       System.out.println("Will read data from: "+myurl.getHost()+myurl.getFile());
       URLConnection mycon = myurl.openConnection();
       System.out.println("Data type will be: "+mycon.getContentType()+" and size: "+mycon.getContentLength());
       if (mycon.getContentLength()>0)
       { provider.set (text);
       }
       else
      { throw new InvalidPropertyException ("!!!-Bad data file...");
      }
    }
    catch (MalformedURLException e)
    { System.out.println("!!!-Bad URL: "+e);
    }
    catch (IOException e)
    { System.out.println("!!!-Bad Connection: "+e);
    }
  }

};

