Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Main.java
/* |
* File: Main.java |
* |
* Description: Java file associated with Main.wo |
* |
* Author: Apple Computer |
* |
* Copyright: © Copyright 2001 Apple Computer, Inc. All rights reserved. |
* |
* Disclaimer: |
* IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. |
* ("Apple") in consideration of your agreement to the following terms, and your |
* use, installation, modification or redistribution of this Apple software |
* constitutes acceptance of these terms. If you do not agree with these terms, |
* please do not use, install, modify or redistribute this Apple software. |
* |
* In consideration of your agreement to abide by the following terms, and subject |
* to these terms, Apple grants you a personal, non-exclusive license, under AppleUs |
* copyrights in this original Apple software (the "Apple Software"), to use, |
* reproduce, modify and redistribute the Apple Software, with or without |
* modifications, in source and/or binary forms; provided that if you redistribute |
* the Apple Software in its entirety and without modifications, you must retain |
* this notice and the following text and disclaimers in all such redistributions of |
* the Apple Software. Neither the name, trademarks, service marks or logos of |
* Apple Computer, Inc. may be used to endorse or promote products derived from the |
* Apple Software without specific prior written permission from Apple. Except as |
* expressly stated in this notice, no other rights or licenses, express or implied, |
* are granted by Apple herein, including but not limited to any patent rights that |
* may be infringed by your derivative works or by other works in which the Apple |
* Software may be incorporated. |
* |
* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO |
* WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED |
* WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
* PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN |
* COMBINATION WITH YOUR PRODUCTS. |
* |
* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR |
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE |
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION |
* OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT |
* (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN |
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
* |
* Change History (most recent first): |
* |
*/ |
import com.webobjects.foundation.*; |
import com.webobjects.appserver.*; |
import com.webobjects.eocontrol.*; |
import com.webobjects.eoaccess.*; |
import org.w3c.dom.*; |
import java.util.Random; |
import java.lang.Math; |
public class Main extends SOAPComponent { |
private final int FIRST_NODE = 0; |
private final int ORDER_ITEM = 0; |
private final int QUANTITY = 1; |
protected String confirmationNumber = null; |
protected String channel = "WebService fullfilment"; |
protected String faultCode = null; |
protected String faultString = null; |
protected Customer customer = null; |
protected Order order = null; |
public Main(WOContext context) { |
super(context); |
/* Create a unique confirmation number. */ |
Random rand = new Random(); |
confirmationNumber = "E" + String.valueOf(Math.abs(rand.nextInt())); |
} |
public void awake() { |
super.awake(); |
Customer customer = null; |
Order newOrder = null; |
/* Pull out arguments from the DOM Document */ |
NodeList orderList = doc.getElementsByTagName("OrderItems"); |
String customerID = doc.getElementsByTagName("CustomerID").item(FIRST_NODE).getFirstChild().getNodeValue(); |
String billMethod = doc.getElementsByTagName("BillMethod").item(FIRST_NODE).getFirstChild().getNodeValue(); |
try { |
/* Check if that customer exists. */ |
NSDictionary dict = new NSDictionary(customerID, "customerID"); |
customer = (Customer)EOUtilities.objectMatchingValues(getEC(), "Customer", dict); |
} |
catch (EOObjectNotAvailableException e) { |
/* Customer does not exist. */ |
faultCode = "1000"; |
faultString = "Unknown Customer"; |
return; |
} |
/* Create a new order */ |
order = (Order)EOUtilities.createAndInsertInstance(getEC(), "Order"); |
order.setToCustomer(customer); |
order.setOrderNumber(confirmationNumber); |
order.setMarketChannel(channel); |
for (int i = 0; i < orderList.getLength(); i++) { |
OrderItems orderItems = (OrderItems)EOUtilities.createAndInsertInstance(getEC(), "OrderItems"); |
NodeList itemList = orderList.item(i).getChildNodes(); |
orderItems.setItemNumber(itemList.item(ORDER_ITEM).getFirstChild().getNodeValue()); |
orderItems.setQuantity(new Integer(itemList.item(QUANTITY).getFirstChild().getNodeValue())); |
orderItems.setToOrder(order); |
} |
getEC().saveChanges(); |
} |
public String getFaultCode() { return faultCode; } |
public String getFaultString() { return faultString; } |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14