import java.io.*;
import java.net.*;
import java.util.*;


/**
 * An example of sending a serialized object over the Internet
 * using TCP.
 *
 * @author  Prof. David Bernstein, James Madison University
 * @version 1.0
 */
public class CourseDatabaseServer 
{

    public static void main(String[] args)
    {
        Course               cross;
        
        CourseDatabase       db;
        ObjectOutputStream   out;
        ServerSocket         ss;
        Socket               s;

        cross = new Course("CS/MATH",227,"Discrete Mathematics");
       
        db = new CourseDatabase();
        db.add("CS139",  new Course("CS",139,"Algorithm Development"));
        db.add("CS227",  cross);
        db.add("CS240",  new Course("CS",240,"Data Structures and Algorithms"));
        db.add("MATH227", cross);

        try 
        {
            ss = new ServerSocket(9100);
            s = ss.accept();

            out = new ObjectOutputStream(s.getOutputStream());
            out.writeObject(db);
            out.flush();
            out.close();
        } 
        catch (Exception ex) 
        {
            ex.printStackTrace();
        }
    }
}
