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

    Related Post:
  1. Program to find a factorial of a given number

  2. An applet program of passing parameters

  3. Define an array of ten String elements each containing an arbitrary string of the form “month/day/year”

  4. Program that will read real number from the keyboard and print the following output in one line: small Integer not less The Given Number Largest Int

  5. Program which creates an Array of character. Make one function with one argument as a character and that function throw a user defined exception

  6. RMI servlet program to display message

  7. An application that combines several classes and interface

  8. Program to show the use of Conditional AND Operator (&&) in If Statements

  9. Even no or Prime no?????

  10. Program to declare, initialize and print a 2D array of integers

  11. RMI program of count server and client

  12. Program to show the use of Switch Statement

  13. Program to show an example of using a Static Nested Class

  14. Program of UDP datagram

  15. Word list program that reads a text file and makes an alphabetical list of all the words in that file. The list of words is output to another file

  16. Program to show the use of Logical or Boolean Negation i.e. NOT (!)

  17. Do the following for the Array Insert the element in the array,delete an element from the array,search for a particular element Create multiple thread

  18. An applet program to perform merge sort

  19. Develop a CORBA application that takes a string from client and returns whether it is palindrome

  20. Program to show the use of Comparison operator (==) for comparing Strings