/*
* Copyright � 2003 Sun Microsystems, Inc. All rights reserved. U.S.
* Government Rights - Commercial software. Government users are subject
* to the Sun Microsystems, Inc. standard license agreement and
* applicable provisions of the FAR and its supplements. Use is subject
* to license terms.
*
* This distribution may include materials developed by third parties.
* Sun, Sun Microsystems, the Sun logo, Java and J2EE are trademarks
* or registered trademarks of Sun Microsystems, Inc. in the U.S. and
* other countries.
*
* Copyright � 2003 Sun Microsystems, Inc. Tous droits r�serv�s.
*
* Droits du gouvernement am�ricain, utilisateurs gouvernementaux - logiciel
* commercial. Les utilisateurs gouvernementaux sont soumis au contrat de
* licence standard de Sun Microsystems, Inc., ainsi qu'aux dispositions
* en vigueur de la FAR (Federal Acquisition Regulations) et des
* suppl�ments � celles-ci. Distribu� par des licences qui en
* restreignent l'utilisation.
*
* Cette distribution peut comprendre des composants d�velopp�s par des
* tierces parties. Sun, Sun Microsystems, le logo Sun, Java et J2EE
* sont des marques de fabrique ou des marques d�pos�es de Sun
* Microsystems, Inc. aux Etats-Unis et dans d'autres pays.
*/
package client;
import java.text.MessageFormat;
import java.util.Collection;
import java.util.Iterator;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import request.*;
import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
public class Client {
private static SimpleReporterAdapter stat =
new SimpleReporterAdapter("appserv-tests");
private static OrderRequest orderRequest;
public static void main(String[] args) {
try {
stat.addDescription("OrderApp");
Context initial = new InitialContext();
Object objref = initial.lookup("java:comp/env/ejb/Request");
RequestHome home = (RequestHome)PortableRemoteObject.narrow(objref,
RequestHome.class);
Request request = home.create();
createData(request);
printData(request);
stat.addStatus("ejbclient OrderApp", stat.PASS);
} catch (Exception ex) {
System.err.println("Caught an exception:");
ex.printStackTrace();
stat.addStatus("ejbclient OrderApp", stat.FAIL);
}
stat.printSummary("OrderApp");
}
private static void createData(Request request) {
try {
request.createPart(new PartRequest("1234-5678-01", 1, "ABC PART",
new java.util.Date(), "PARTQWERTYUIOPASXDCFVGBHNJMKL", null));
request.createPart(new PartRequest("9876-4321-02", 2, "DEF PART",
new java.util.Date(), "PARTQWERTYUIOPASXDCFVGBHNJMKL", null));
request.createPart(new PartRequest("5456-6789-03", 3, "GHI PART",
new java.util.Date(), "PARTQWERTYUIOPASXDCFVGBHNJMKL", null));
request.createPart(new PartRequest("ABCD-XYZW-FF", 5, "XYZ PART",
new java.util.Date(), "PARTQWERTYUIOPASXDCFVGBHNJMKL", null));
request.createPart(new PartRequest("SDFG-ERTY-BN", 7, "BOM PART",
new java.util.Date(), "PARTQWERTYUIOPASXDCFVGBHNJMKL", null));
request.addPartToBillOfMaterial(new BomRequest("SDFG-ERTY-BN", 7,
"1234-5678-01", 1));
request.addPartToBillOfMaterial(new BomRequest("SDFG-ERTY-BN", 7,
"9876-4321-02", 2));
request.addPartToBillOfMaterial(new BomRequest("SDFG-ERTY-BN", 7,
"5456-6789-03", 3));
request.addPartToBillOfMaterial(new BomRequest("SDFG-ERTY-BN", 7,
"ABCD-XYZW-FF", 5));
request.createVendor(new VendorRequest(100, "WidgetCorp",
"111 Main St., Anytown, KY 99999", "Mr. Jones",
"888-777-9999"));
request.createVendor(new VendorRequest(200, "Gadget, Inc.",
"123 State St., Sometown, MI 88888", "Mrs. Smith",
"866-345-6789"));
request.createVendorPart(new VendorPartRequest("1234-5678-01", 1,
"PART1", 100.00, 100));
request.createVendorPart(new VendorPartRequest("9876-4321-02", 2,
"PART2", 10.44, 200));
request.createVendorPart(new VendorPartRequest("5456-6789-03", 3,
"PART3", 76.23, 200));
request.createVendorPart(new VendorPartRequest("ABCD-XYZW-FF", 5,
"PART4", 55.19, 100));
request.createVendorPart(new VendorPartRequest("SDFG-ERTY-BN", 7,
"PART5", 345.87, 100));
Integer orderId = new Integer(1111);
request.createOrder(new OrderRequest(orderId, 'N', 10,
"333 New Court, NewCity, CA 90000"));
request.addLineItem(new LineItemRequest(orderId, "1234-5678-01", 1, 3));
request.addLineItem(new LineItemRequest(orderId, "9876-4321-02", 2, 5));
request.addLineItem(new LineItemRequest(orderId, "ABCD-XYZW-FF", 5, 7));
orderId = new Integer(4312);
request.createOrder(new OrderRequest(orderId, 'N', 0,
"333 New Court, NewCity, CA 90000"));
request.addLineItem(new LineItemRequest(orderId, "SDFG-ERTY-BN", 7, 1));
request.addLineItem(new LineItemRequest(orderId, "ABCD-XYZW-FF", 5, 3));
request.addLineItem(new LineItemRequest(orderId, "1234-5678-01", 1, 15));
} catch (Exception ex) {
System.err.println("Caught an exception:");
ex.printStackTrace();
stat.addStatus("ejbclient OrderApp", stat.FAIL);
}
}
private static MessageFormat mf = new MessageFormat(": {0, number, $#,##0.##}");
private static void printData(Request request) {
try {
BomRequest bomRequest = new BomRequest("SDFG-ERTY-BN", 7, null, 0);
double price = request.getBillOfMaterialPrice(bomRequest);
System.out.println("Cost of Bill of Material for PN "
+ bomRequest.bomPartNumber + " Rev: "
+ bomRequest.bomRevision
+ mf.format(new Object[] {new Double(price)}));
printCostOfOrders(request);
System.out.println("\nAdding 5% discount");
request.adjustOrderDiscount(5);
printCostOfOrders(request);
System.out.println("\nRemoving 7% discount");
request.adjustOrderDiscount(-7);
printCostOfOrders(request);
java.lang.Double price0 = request.getAvgPrice();
if (price0 == null) {
System.out.println("\nNo parts found");
} else {
System.out.println("\nAverage price of all parts"
+ mf.format(new Object[] {price0}));
}
VendorRequest vendorRequest = new VendorRequest(100, null, null, null, null);
price0 = request.getTotalPricePerVendor(vendorRequest);
if (price0 == null) {
System.out.println("\nNo parts found for Vendor "
+ vendorRequest.vendorId);
} else {
System.out.println("\nTotal price of parts for Vendor "
+ vendorRequest.vendorId + ""
+ mf.format(new Object[] {price0}));
}
System.out.println("\nOrdered list of vendors for order 1111");
System.out.println(request.reportVendorsByOrder(new Integer(1111)));
System.out.println("Counting all line items");
int count = request.countAllItems();
System.out.println("Found " + count + " line items");
System.out.println("\nRemoving Order");
request.removeOrder(new Integer(4312));
count = request.countAllItems();
System.out.println("Found " + count + " line items");
Collection names = request.locateVendorsByPartialName("I");
System.out.println("\nFound " + names.size()
+ " out of 2 vendors with 'I' in the name:");
for (Iterator it = names.iterator(); it.hasNext();) {
System.out.println(it.next());
}
} catch (Exception ex) {
System.err.println("Caught an exception:");
ex.printStackTrace();
stat.addStatus("ejbclient OrderApp", stat.FAIL);
}
}
private static void printCostOfOrders(Request request)
throws java.rmi.RemoteException {
Integer orderId = new Integer(1111);
double price = request.getOrderPrice(orderId);
System.out.println("Cost of Order " + orderId
+ mf.format(new Object[] {new Double(price)}));
orderId = new Integer(4312);
price = request.getOrderPrice(orderId);
System.out.println("Cost of Order " + orderId
+ mf.format(new Object[] {new Double(price)}));
}
}