package org.lucci.madhoc.gui.aircraft.description;

import java.util.Iterator;

import org.lucci.madhoc.gui.aircraft.StationDescriptionPane;
import org.lucci.madhoc.network.ComputerType;
import org.lucci.madhoc.network.Station;
import org.lucci.madhoc.network.net.NetworkInterface;

public class DefaultStationDescriptionPane extends StationDescriptionPane
{

    @Override
    public String getDescriptionForStation(Station station)
    {
        String html = "<html>";

        String stationType = null;

        if (station.getType() == ComputerType.LAPTOP)
        {
            stationType = "laptop";
        }
        else if (station.getType() == ComputerType.MOBILE_PHONE)
        {
            stationType = "mobile phone";
        } 
        else if (station.getType() == ComputerType.PAGER)
        {
            stationType = "PDA";
        }

        html += "Station " + station.hashCode() + " is a " + stationType;

            html += "<p>Network interfaces:<ul>";
            Iterator ni = station.getNetworkingUnit().getNetworkInterfaces().iterator();

            while (ni.hasNext())
            {
                NetworkInterface na = (NetworkInterface) ni.next();
                html += "<li>" + na.getNetworkingTechnology().getName() + " interface<ul>";
                html += "<li>Coverage radius: " + na.getCoverageRadius() + "m";
                html += "</ul>";
            }

            html += "</ul>";
            return html;
    }

    @Override
    public String getPublicName()
    {
        return "Description";
    }

}