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. Write a program for restaurant

  2. An applet program to display Vertical Color Bar

  3. Program to show an example of Multiple Levels of Inheritance

  4. Program to show the use of Labeled Break Statement

  5. Program to show an example of searching Strings for subStrings

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

  7. Program to print triangle of numbers

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

  9. RMI based application for login validation based on data saved in text file stored on the server and will display appropriate message to the client..

  10. Program to show the use of Do-While Loop

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

  12. Program, which creates a three thread. One thread display the numbers from 1 to 5, second thread display the square root of that number etc

  13. Program of insertion sort

  14. Program to show an example of creating a String object from a StringBuffer Object

  15. Program to show the use of Labeled Continue Statement

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

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

  18. Program of UDP datagram

  19. Program of storing and retrieving integers using data streams on a single file

  20. Program to show an example of Polymorphism