/*
 * Copyright (c) 1999-2000 Andreas Eberhart. All Rights Reserved.
 */

import Beispiel.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;

public class ServerImpl extends _ServerImplBase {

    public static void main(String[] args) {
        try {
            ORB orb = ORB.init(args, null);

            ServerImpl server = new ServerImpl();
            orb.connect(server);

            org.omg.CORBA.Object nameservice =
            	orb.resolve_initial_references("NameService");
            NamingContext namingcontext = NamingContextHelper.narrow(nameservice);

            NameComponent name = new NameComponent("Datum", "");
            NameComponent path[] = {name};

            namingcontext.rebind(path, server);

            java.lang.Object sync = new java.lang.Object();
            System.out.println("Server bereit");
            synchronized (sync) {
                sync.wait();
            }
		}
		catch (Exception e) {
			System.out.println(e);
		}
    }

    public String getTime() {
        System.out.println("getTime aufgerufen. Thread: " + Thread.currentThread());
        return (new java.util.Date()).toString();
    }
}

