Java Blog

 
 
 
----------------------------------------------------------------------------------
                    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 to show the use of Increment and Decrement Operators

  2. Program to read command line arguments

  3. Corba program of UDP client server application which sends the news to the client. Server takes the news from the NewsDataFile located at the server

  4. Simple Applet which will show life cycle of an Applet

  5. Program to generate SQUARE ROOT table

  6. RMI based application, which reads a file with list of marks of student from a client, send it to server and find how many students having distinct

  7. Program to evaluate following investment equation V=P(1+R)^N

  8. Program to show the use of Conditional (Ternary) Operator

  9. Program to show an example of Concatination of Strings

  10. Program to determine the sum of the following harmonic series for a given value of n

  11. CORBA program for displaying the date and time of the server machine, client machine and the difference between these two date and time

  12. An applet program to add two numbers where data is entered in TextField

  13. Program which will read a string and rewrite it in the alphabetical order

  14. Program for Thread Priority

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

  16. An applet program of showing new document using showDocument(URL) method

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

  18. Program to show the use of Break Statement

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

  20. Program to show the use of some Character Methods