Java Tutorial

 
 
 
 
// CountClient.java  

import Counter.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;

class CountClient { 

  static Count countImpl;

  public static void main(String args[])
  { try
    { // Initialize the ORB
      System.out.println(\"Initializing the ORB\");
      org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);

        // get the root naming context
        org.omg.CORBA.Object objRef = 
        orb.resolve_initial_references(\"NameService\");
        // Use NamingContextExt instead of NamingContext. This is 
        // part of the Interoperable naming Service.  
        NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

        // resolve the Object Reference in Naming
        String name = \"Count\";
        countImpl = CountHelper.narrow(ncRef.resolve_str(name));

        System.out.println(\"Obtained a handle on server object: \" + countImpl);

      // Set sum to initial value of 0
      System.out.println(\"Setting sum to 0\");
      countImpl.sum((int)0);

      // Calculate Start time
      long startTime = System.currentTimeMillis();

      // Increment 1000 times
      System.out.println(\"Incrementing\");
      for (int i = 0 ; i < 1000 ; i++ )
      { countImpl.increment();
      }

      // Calculate stop time; print out statistics
      long stopTime = System.currentTimeMillis();
      System.out.println(\"Avg Ping = \"
                       + ((stopTime - startTime)/1000f) + \" msecs\");
      System.out.println(\"Sum = \" + countImpl.sum());
    } catch(Exception e)
    { System.err.println(\"System Exception\");
      System.err.println(e);
    }
  }
}


// CountServer.java: The Count Server main program

import Counter.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;

class CountServer
{ static public void main(String[] args)
  { try
    { // Initialize the ORB
      org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);

      // Initialize the BOA
      POA rootpoa = POAHelper.narrow(orb.resolve_initial_references(\"RootPOA\"));
      rootpoa.the_POAManager().activate();

      // Create the Count object
      CountImpl count = new CountImpl(\"My Count\");

      // get object reference from the servant
      org.omg.CORBA.Object ref = rootpoa.servant_to_reference(count);
      Count href = Counter.CountHelper.narrow(ref);

      // get the root naming context
      // NameService invokes the name service
      org.omg.CORBA.Object objRef =
          orb.resolve_initial_references(\"NameService\");
      // Use NamingContextExt which is part of the Interoperable
      // Naming Service (INS) specification.
      NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

      // bind the Object Reference in Naming
      String name = \"Count\";
      NameComponent path[] = ncRef.to_name( name );
      ncRef.rebind(path, href);

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

      // wait for invocations from clients
      orb.run();

      }
      catch(Exception e)
      { System.err.println(e);
      }
   }
}


// CountClientApplet.java  Applet Client, VisiBroker for Java

import Counter.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import java.awt.*;

public class CountClientApplet extends java.applet.Applet
{ private TextField countField, pingTimeField;
  private Button runCount;
  private Counter.Count counter;
  public void init()
  { // Create a 2 by 2 grid of widgets.
    setLayout(new GridLayout(2, 2, 10, 10));

    // Add the four widgets, initialize where necessary
    add(new Label(\"Count\"));
    add(countField = new TextField());
    countField.setText(\"1000\");
    add(runCount = new Button(\"Run\"));
    add(pingTimeField = new TextField());
    pingTimeField.setEditable(false);

    try
    { // Initialize the ORB.
      showStatus(\"Initializing the ORB\");
      org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(this, null);

      // Bind to the Count Object
        // get the root naming context
        org.omg.CORBA.Object objRef = 
        orb.resolve_initial_references(\"NameService\");
        // Use NamingContextExt instead of NamingContext. This is 
        // part of the Interoperable naming Service.  
        NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

        // resolve the Object Reference in Naming
        String name = \"Count\";
        counter = CountHelper.narrow(ncRef.resolve_str(name));

      showStatus(\"Binding to Count Object\");

    } catch(Exception e)
    {
      showStatus(\"Applet Exception\" + e);
      e.printStackTrace(System.out);
    }
  }

  public boolean action(Event ev, java.lang.Object arg)
  { if(ev.target == runCount)
    { try
      { // Set Sum to initial value of 0
        showStatus(\"Setting Sum to 0\");
        counter.sum((int)0);

        // get data from and set value of applet fields
        showStatus(\"Incrementing\");
        int stopCount = Integer.parseInt(countField.getText());
        pingTimeField.setText(\" \");

        // Calculate Start time
        long startTime = System.currentTimeMillis();

        // Increment stopCount times
        for (int i = 0 ; i < stopCount ; i++ )
        { counter.increment();
        }

        // Calculate stop time; show statistics
        long stopTime = System.currentTimeMillis();
        pingTimeField.setText(\"Avg Ping = \"
                  + Float.toString((float)(stopTime- startTime)/stopCount)
                  + \" msecs\");
        showStatus(\"Sum = \" + counter.sum());
      } catch(Exception e)
      { showStatus(\"System Exception\" + e);
      e.printStackTrace();
      }
      return true;
    }
    return false;
  }
}


// CountImpl.java: The Count Implementation

class CountImpl extends Counter.CountPOA
{
  private int sum;

  // Constructors
  CountImpl(String name)
  { super();
    System.out.println(\"Count Object Created\");
    sum = 0;
  }

  // get sum
  public  int sum()
  { return sum;
  }

  // set sum
  public  void sum(int val)
  { sum = val;
  }

  // increment method
  public int increment()
  { sum++;
    return sum;
  }
}


// Count Client Applet

<h1>Count Client Applet</h1>
<hr>
<center>
<APPLET CODE=CountClientApplet.class WIDTH=300 HEIGHT=60
        CODEBASE=.>
        <PARAM name=\"org.omg.CORBA.ORBInitialHost\" value=MCA329>
        <PARAM name=\"org.omg.CORBA.ORBInitialPort\" value=1050>
</APPLET>
</center>
<hr>

    Related Post:
  1. Program to read bytes from a file

  2. Program to reverse the number eg given no : - 12345, output want :- 54321

  3. Program to show an example of creating a class and using its object

  4. Program to calculate the frequency for different values of C starting from 0.01 to 0.1 in steps of 0.01

  5. An applet program of linear sort

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

  7. Program that accepts a shopping list of items from the command line and stores them in a vector. Also provide facility to perform operation

  8. Program to show the use of Conditional OR Operator (||) in If Statements

  9. Given a list of marks ranging form 0 to 100, write a program to compute and print the number of students marks

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

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

  12. Corba program to Write a Echo server and client with UDP server and client

  13. Program to display triangle of numbers

  14. Program to display Floyds Triangle of a numbers

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

  16. Develop a game application in CORBA for which the player will guess a number between 1 to 100, which will be compared to the random number generated b

  17. An applet program to take user input and display

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

  19. Program to show an example of using constructors in a class to initialize its data members

  20. Program to generate Fibonacci Series of a given number

 
 
Didn't find what you were looking for? Find more on Corba program of Count Client Applet, IDL,Server, Client