Java Tutorial

 
 
 
 
----------------------------------------------------------------------------------
                    IDL
----------------------------------------------------------------------------------
module DateTimeApp
{
    interface DateTime
    {
        string ServerDT();
        string DateDiff(in long dd,in long mm,in long yy);
        string TimeDiff(in long hh,in long min,in long sec);
        oneway void shutdown();
    };

};
-------------------------------------------------------------------------------------------------
                    Server
-------------------------------------------------------------------------------------------------
import DateTimeApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
import org.omg.PortableServer.POA;
import java.util.Properties;
import java.util.*;

class DateTimeImpl extends DateTimePOA
{
    private ORB orb;

    public void setORB(ORB orb_val)
    {
        orb = orb_val; 
      }
    public String ServerDT()
    {
        Date d = new Date ();
        String s = d.toString();
        return s;
    }
    public String DateDiff(int dd,int mm,int yy)
    {
        Calendar cal = Calendar.getInstance();
        int d = cal.get(Calendar.DAY_OF_MONTH) - dd;
        int m = cal.get(Calendar.MONTH) - mm;
        int y = cal.get(Calendar.YEAR) - yy;
        String dt = d + \" / \" + m + \" / \" + y;
        return dt;
    }
    public String TimeDiff(int hh, int min, int sec)
    {
        Calendar cal = Calendar.getInstance();
        int h = cal.get(Calendar.HOUR)- hh;
        int m = cal.get(Calendar.MINUTE) - min;
        int s = cal.get(Calendar.SECOND) - sec;
        String tm = h + \"  \" + m + \"  \" + s;
        return tm;
    }
    public void shutdown()
    {
        orb.shutdown(false);
    }
}

public class DateTimeServer
{

    public static void main(String args[]) 
    {
        try
        {
            ORB orb = ORB.init(args, null);
            POA rootpoa = POAHelper.narrow(orb.resolve_initial_references(\"RootPOA\"));
            rootpoa.the_POAManager().activate();

            DateTimeImpl dateTimeImpl = new DateTimeImpl();
            dateTimeImpl.setORB(orb);

            org.omg.CORBA.Object ref = rootpoa.servant_to_reference(dateTimeImpl);
            DateTime href = DateTimeHelper.narrow(ref);

            org.omg.CORBA.Object objRef = orb.resolve_initial_references(\"NameService\");
            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

            String name = \"DateTime\";
            NameComponent path[] = ncRef.to_name( name );
            ncRef.rebind(path, href);

            System.out.println(\"DateTimeServer ready and waiting ...\");

            orb.run();
        } 

        catch (Exception e) 
        {
            System.err.println(\"ERROR: \" + e);
            e.printStackTrace(System.out);
        }

        System.out.println(\"DateTimeServer Exiting ...\");

    }
}
-------------------------------------------------------------------------------------------------
                    Client
-------------------------------------------------------------------------------------------------

import DateTimeApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import java.io.*;
import java.util.*;

public class DateTimeClient
{
    public void showClientDateTime()
    {
        Date d = new Date();
        String s = d.toString();
        System.out.println(\"Client Date nad Time is : \"+s);
    }

    public static void main(String args[])
    {

        DateTime dateTimeImpl = null;
        DateTimeClient dt = new DateTimeClient();

        try
        {
            ORB orb = ORB.init(args, null);
            org.omg.CORBA.Object objRef = orb.resolve_initial_references(\"NameService\");
            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

            String name = \"DateTime\";
            dateTimeImpl = DateTimeHelper.narrow(ncRef.resolve_str(name));

            int dd = 0, mm = 0, yy = 0, hh = 0, min = 0, sec = 0;

              dt.showClientDateTime();

            String s = dateTimeImpl.ServerDT();
            System.out.println(\"Server Date nad Time is : \"+s);


            Calendar cal = Calendar.getInstance();

            dd = cal.get(Calendar.DAY_OF_MONTH);
            mm = cal.get(Calendar.MONTH);
            yy = cal.get(Calendar.YEAR);

            hh = cal.get(Calendar.HOUR);
            min = cal.get(Calendar.MINUTE);
            sec = cal.get(Calendar.SECOND);

            String dateD = dateTimeImpl.DateDiff(dd, mm, yy);

            String timeD = dateTimeImpl.TimeDiff(hh, min, sec);

            System.out.println(\"The date difference of Server Client is \" + dateD);
            System.out.println(\"The time difference of Server Client is \" + timeD);

            dateTimeImpl.shutdown();

        } 
        catch (Exception e) 
        {
            System.out.println(\"ERROR : \" + e) ;
            e.printStackTrace(System.out);
        }
    }

}

----------------------------------------------------------------------------------
                    Output
----------------------------------------------------------------------------------

Client Date nad Time is : Fri Dec 03 13:46:08 GMT+05:30 2004
Server Date nad Time is : Fri Dec 03 13:46:08 GMT+05:30 2004
The date difference of Server Client is 0 / 0 / 0
The time difference of Server Client is 0  0  0