Java Tutorial

 
 
 
 
----------------------------------------------------------------------------------
                    IDL
----------------------------------------------------------------------------------
module CalcApp
{
    interface Calc
    {
        float add(in float value1,in float value2);
        float sub(in float value1,in float value2);
        float multi(in float value1,in float value2);
        float div(in float value1,in float value2);
        oneway void shutdown();
    };

};

----------------------------------------------------------------------------------
                    Server
----------------------------------------------------------------------------------
import CalcApp.*;
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;

class CalcImpl extends CalcPOA 
{
    private ORB orb;

    public void setORB(ORB orb_val) 
    {
        orb = orb_val; 
    }
    public float add(float val1, float val2)
    {
        float res = val1 + val2;
        return res;
    }
    public float sub(float val1, float val2)
    {
        float res = val1 - val2;
        return res;
    }
    public float multi(float val1, float val2)
    {
        float res = val1 * val2;
        return res;
    }
    public float div(float val1, float val2)
    {
        float res = val1 / val2;
        return res;
    }
    public void shutdown() 
    {
        orb.shutdown(false);
    }
}


public class CalcServer 
{

    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();
              CalcImpl calcImpl = new CalcImpl();
              calcImpl.setORB(orb); 
              org.omg.CORBA.Object ref = rootpoa.servant_to_reference(calcImpl);
              Calc href = CalcHelper.narrow(ref);
              org.omg.CORBA.Object objRef =
              orb.resolve_initial_references(\"NameService\");
              NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
              String name = \"Calc\";
              NameComponent path[] = ncRef.to_name( name );
              ncRef.rebind(path, href);

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

              orb.run();
        } 

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

        System.out.println(\"CalculatorServer Exiting ...\");
      }
}

-------------------------------------------------------------------------------------------------
                    Client
-------------------------------------------------------------------------------------------------

import CalcApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import java.io.*;

public class CalcClient
{
    public void showMenu()
    {
        System.out.println(\"----------------------------------\");
        System.out.println(\"0.Exit\");
        System.out.println(\"1.Addition\");
        System.out.println(\"2.Subtraction\");
        System.out.println(\"3.Multiplicatin\");
        System.out.println(\"4.Division\");
        System.out.println(\"----------------------------------\");
        System.out.print(\"Enter your choice : \");

    }
    public float getValue() throws IOException
    {
        float val=0;
        try
        {
            System.out.print(\"Enter the value : \");
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String s = br.readLine();
            val = Float.parseFloat(s);
        }
        catch (IOException e)
        {
            System.out.println(e);
        }
        return val;
    }
    public int getChoice() throws IOException
    {
        int val=0;
        try
        {

            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            val = Integer.parseInt(br.readLine());
            System.out.println(\"----------------------------------\");
        }
        catch (IOException e)
        {
            System.out.println(e);
        }
        return val;
    }



    public static void main(String args[])
    {

        Calc calcImpl = null;
        CalcClient cc = new CalcClient();

        try
        {

            ORB orb = ORB.init(args, null);
                org.omg.CORBA.Object objRef = orb.resolve_initial_references(\"NameService\");
            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
                 String name = \"Calc\";
            calcImpl = CalcHelper.narrow(ncRef.resolve_str(name));
            float val1 = 0;
            float val2 = 0;
            float res = 0;
            int ch = 1;

            while (ch != 0 )
            {
                cc.showMenu();
                ch = cc.getChoice();

                val1 = cc.getValue();
                val2 = cc.getValue();

                switch (ch)
                {
                    case 1:
                        res = calcImpl.add(val1, val2);
                        break;
                    case 2:
                        res = calcImpl.sub(val1, val2);
                        break;
                    case 3:
                        res = calcImpl.multi(val1, val2);
                        break;
                    case 4:
                        res = calcImpl.div(val1, val2);
                        break;
                    case 0:
                        exit(0);
                }
                System.out.println(\"----------------------------------\");
                System.out.println(\"Result : \"+res);
                System.out.println(\"----------------------------------\");
            }

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

}

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

----------------------------------
0.Exit
1.Addition
2.Subtraction
3.Multiplicatin
4.Division
----------------------------------
Enter your choice : 2
----------------------------------
Enter the value : 20.5
Enter the value : 10.2
----------------------------------
Result : 10.3
----------------------------------
----------------------------------
0.Exit
1.Addition
2.Subtraction
3.Multiplicatin
4.Division
----------------------------------
Enter your choice : 0

    Related Post:
  1. Program of binary search tree

  2. Write a program for restaurant

  3. Program to show an example of using a Static Nested Class outside the Top-Level Class

  4. Program of Floyds Triangle

  5. Develop a CORBA based application for addition of two complex numbers and displaying the result on client side

  6. Program to print a string on Standard Output Device

  7. Program to display triangle of numbers

  8. Add,delete,Update in LISTS

  9. Program to read rollno, marks of sub1,sub2 and sub3 and on basis of that display result

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

  11. Program to show the use of Bitwise Operator (&) AND

  12. Program to copy the elements of an array into another array in reverse order and print them

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

  14. Program which calls the method sort(int []a) which throws the Exception ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException

  15. Program to show an example of using user-defined package in a program

  16. Program using session tracking capability of Servlets, which displays information of current user session by HttpServletRequest object

  17. Corba program of date operations

  18. An applet program that concatenates two string entered in TextField

  19. Program of concatenating and Buffering files

  20. Program that enabled applet that takes name of the user. Server returns back the number in uppercase clubbed with “HELLO” and display it on applet