aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/jdbc/example/corba/StockClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/jdbc/example/corba/StockClient.java')
-rw-r--r--src/interfaces/jdbc/example/corba/StockClient.java348
1 files changed, 0 insertions, 348 deletions
diff --git a/src/interfaces/jdbc/example/corba/StockClient.java b/src/interfaces/jdbc/example/corba/StockClient.java
deleted file mode 100644
index 217552f0810..00000000000
--- a/src/interfaces/jdbc/example/corba/StockClient.java
+++ /dev/null
@@ -1,348 +0,0 @@
-package example.corba;
-
-import java.io.*;
-import java.sql.*;
-import org.omg.CosNaming.*;
-
-/*
- * This class is the frontend to our mini CORBA application.
- *
- * It has no GUI, just a text frontend to keep it simple.
- *
- * $PostgreSQL: pgsql/src/interfaces/jdbc/example/corba/StockClient.java,v 1.7 2003/11/29 22:41:21 pgsql Exp $
- */
-public class StockClient
-{
- org.omg.CosNaming.NamingContext nameService;
-
- stock.StockDispenser dispenser;
- stock.StockItem item;
-
- BufferedReader in;
-
- public StockClient(String[] args)
- {
- try
- {
- // We need this for our IO
- in = new BufferedReader(new InputStreamReader(System.in));
-
- // Initialize the orb
- org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
-
- // Get a reference to the Naming Service
- org.omg.CORBA.Object nameServiceObj = orb.resolve_initial_references("NameService");
- if (nameServiceObj == null)
- {
- System.err.println("nameServiceObj == null");
- return ;
- }
-
- nameService = org.omg.CosNaming.NamingContextHelper.narrow(nameServiceObj);
- if (nameService == null)
- {
- System.err.println("nameService == null");
- return ;
- }
-
- // Resolve the dispenser
- NameComponent[] dispName = {
- new NameComponent("StockDispenser", "Stock")
- };
- dispenser = stock.StockDispenserHelper.narrow(nameService.resolve(dispName));
- if (dispenser == null)
- {
- System.err.println("dispenser == null");
- return ;
- }
-
- // Now run the front end.
- run();
- }
- catch (Exception e)
- {
- System.out.println(e.toString());
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static void main(String[] args)
- {
- new StockClient(args);
- }
-
- public void run()
- {
- // First reserve a StockItem
- try
- {
- item = dispenser.reserveItem();
- }
- catch (Exception e)
- {
- System.out.println(e.toString());
- e.printStackTrace();
- System.exit(1);
- }
-
- mainMenu();
-
- // finally free the StockItem
- try
- {
- dispenser.releaseItem(item);
- }
- catch (Exception e)
- {
- System.out.println(e.toString());
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- private void mainMenu()
- {
- boolean run = true;
- while (run)
- {
- System.out.println("\nCORBA Stock System\n");
- System.out.println(" 1 Display stock item");
- System.out.println(" 2 Remove item from stock");
- System.out.println(" 3 Put item into stock");
- System.out.println(" 4 Order item");
- System.out.println(" 5 Display all items");
- System.out.println(" 0 Exit");
- int i = getMenu("Main", 5);
- switch (i)
- {
- case 0:
- run = false;
- break;
-
- case 1:
- displayItem();
- break;
-
- case 2:
- bookOut();
- break;
-
- case 3:
- bookIn();
- break;
-
- case 4:
- order(0);
- break;
-
- case 5:
- displayAll();
- break;
- }
- }
- }
-
- private void displayItem()
- {
- try
- {
- int id = getMenu("\nStockID to display", item.getLastID());
- if (id > 0)
- {
- item.fetchItem(id);
- System.out.println("========================================");
-
- String status = "";
- if (!item.isItemValid())
- status = " ** Superceded **";
-
- int av = item.getAvailable();
-
- System.out.println(" Stock ID: " + id + status +
- "\nItems Available: " + av +
- "\nItems on order: " + item.getOrdered() +
- "\n Description: " + item.getDescription());
- System.out.println("========================================");
-
- if (av > 0)
- if (yn("Take this item out of stock?"))
- {
- int rem = 1;
- if (av > 1)
- rem = getMenu("How many?", av);
- if (rem > 0)
- item.removeStock(rem);
- }
-
- }
- }
- catch (Exception e)
- {
- System.out.println(e.toString());
- e.printStackTrace();
- }
- }
-
- private void bookOut()
- {
- try
- {
- int id = getMenu("\nStockID to take out", item.getLastID());
- if (id > 0)
- {
- item.fetchItem(id);
- int av = item.getAvailable();
- if (av > 0)
- if (yn("Take this item out of stock?"))
- {
- int rem = 1;
- if (av > 1)
- rem = getMenu("How many?", av);
- if (rem > 0)
- item.removeStock(rem);
- }
- else
- {
- System.out.println("This item is not in stock.");
- int order = item.getOrdered();
- if (order > 0)
- System.out.println("There are " + item.getOrdered() + " items on order.");
- else
- {
- if (item.isItemValid())
- {
- System.out.println("You will need to order some more " + item.getDescription());
- order(id);
- }
- else
- System.out.println("This item is now obsolete");
- }
- }
- }
- else
- System.out.println(item.getDescription() + "\nThis item is out of stock");
- }
- catch (Exception e)
- {
- System.out.println(e.toString());
- e.printStackTrace();
- }
- }
-
- // book an item into stock
- private void bookIn()
- {
- try
- {
- int id = getMenu("\nStockID to book in", item.getLastID());
- item.fetchItem(id);
- System.out.println(item.getDescription());
-
- if (item.getOrdered() > 0)
- {
- int am = getMenu("How many do you want to book in", item.getOrdered());
- if (am > 0)
- item.addNewStock(am);
- }
- else
- System.out.println("You don't have any of this item on ordered");
-
- }
- catch (Exception e)
- {
- System.out.println(e.toString());
- e.printStackTrace();
- }
- }
-
- // Order an item
- private void order(int id)
- {
- try
- {
- if (id == 0)
- id = getMenu("\nStockID to order", item.getLastID());
- item.fetchItem(id);
- System.out.println(item.getDescription());
- int am = getMenu("How many do you want to order", 999);
- if (am > 0)
- item.orderStock(am);
- }
- catch (Exception e)
- {
- System.out.println(e.toString());
- e.printStackTrace();
- }
- }
-
- private void displayAll()
- {
- try
- {
- boolean cont = true;
- int nr = item.getLastID();
- String header = "\nId\tAvail\tOrdered\tDescription";
- System.out.println(header);
- for (int i = 1;i <= nr && cont;i++)
- {
- item.fetchItem(i);
- System.out.println("" + i + "\t" + item.getAvailable() + "\t" + item.getOrdered() + "\t" + item.getDescription());
- if ((i % 20) == 0)
- {
- if ((cont = yn("Continue?")))
- System.out.println(header);
- }
- }
- }
- catch (Exception e)
- {
- System.out.println(e.toString());
- e.printStackTrace();
- }
- }
-
- private int getMenu(String title, int max)
- {
- int v = -1;
- while (v < 0 || v > max)
- {
- System.out.print(title);
- System.out.print(" [0-" + max + "]: ");
- System.out.flush();
- try
- {
- v = Integer.parseInt(in.readLine());
- }
- catch (Exception nfe)
- {
- v = -1;
- }
- }
- return v;
- }
-
- private boolean yn(String title)
- {
- try
- {
- while (true)
- {
- System.out.print(title);
- System.out.flush();
- String s = in.readLine();
- if (s.startsWith("y") || s.startsWith("Y"))
- return true;
- if (s.startsWith("n") || s.startsWith("N"))
- return false;
- }
- }
- catch (Exception nfe)
- {
- System.out.println(nfe.toString());
- nfe.printStackTrace();
- System.exit(1);
- }
- return false;
- }
-}