Logo 
Search:

Java Articles

Submit Article
Home » Articles » Java » CorbaRSS Feeds

Program to display following things on the client machine a)date and time of the server machine b)date and time of the client machine and difference

Posted By: Adelheide Fischer     Category: Java     Views: 4228

Write a CORBA program for displaying following things on the client machine.
a. the date and time of the server machine
b. the date and time of the client machine
c. the difference between these two date and time.

Code for Program to display following things on the client machine a)date and time of the server machine b)date and time of the client machine and difference in Java

----------------------------------------------------------------------------------
                    IDL
----------------------------------------------------------------------------------
module DateTimeApp
{
    interface DateTime
    {
        string ServerDT();
        string DateDiff(inlong dd,inlong mm,inlong yy);
        string TimeDiff(inlong hh,inlong min,inlong 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;

    publicvoid 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;
    }
    publicvoid shutdown()
    {
        orb.shutdown(false);
    }
}

publicclass DateTimeServer
{

    publicstaticvoid 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.*;

publicclass DateTimeClient
{
    publicvoid showClientDateTime()
    {
        Date d = new Date();
        String s = d.toString();
        System.out.println("Client Date nad Time is : "+s);
    }
    
    publicstaticvoid 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
  
Share: 



Adelheide Fischer
Adelheide Fischer author of Program to display following things on the client machine a)date and time of the server machine b)date and time of the client machine and difference is from Frankfurt, Germany.
 
View All Articles

 
Please enter your Comment

  • Comment should be atleast 30 Characters.
  • Please put code inside [Code] your code [/Code].

 
No Comment Found, Be the First to post comment!