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. 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

  2. Program to perform Merge Sort

  3. Program to show an example of Driving and using a Class

  4. GUI application in java, which enter the details of a student and on the submit display the details of the student

  5. Program to generate Fibonacci Series of a given number

  6. Program to show an example of modifying String objects

  7. Program to show the use of operator (>>>) Shift Right, filling with zeros from the left

  8. Application which takes your marks of six subjects from the client side and displays the percentage that you have obtained

  9. Program to sort the contents of an array using Bubble Sort

  10. Program to compute the sum of the digits of a given integer number. eg: I/o=4 then O/p=4+3+2+1=10

  11. Corba program of reverse string

  12. 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

  13. File handling program to copy characters from one file to another

  14. Program in CORBA which takes a long sentence from the client (at least 7 words), passes to the server, server separates out each word

  15. Corba program of date operations

  16. Program to delete mth element from an input string

  17. corba program of client and a DNS server where given a URL the server sends back an IP address

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

  19. An applet program to display alternate filled and empty circle that to in row and column format

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