blob: 2c52bb8bd2b2ca400776357c3442b9af5f3b689e [file] [log] [blame]
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xmlbeans.test.performance.parsers;
import java.io.File;
import java.math.BigDecimal;
import org.openuri.easypo.PurchaseOrderDocument;
import org.openuri.easypo.LineItem;
import org.openuri.easypo.Customer;
import org.openuri.easypo.Shipper;
import org.apache.xmlbeans.XmlCalendar;
/**
* @author Cezar Andrei (cezar.andrei at bea.com)
* Date: Aug 24, 2005
*/
public class XmlBeansTests
{
public static class LoadOnly
extends Utils.ParseFile
{
public void execute(String file)
throws Exception
{
PurchaseOrderDocument.Factory.parse(new File(file));
}
}
public static class LoadAndTraverseArray
extends Utils.ParseFile
{
public void execute(String file)
throws Exception
{
PurchaseOrderDocument poDoc = PurchaseOrderDocument.Factory.parse(new File(file));
PurchaseOrderDocument.PurchaseOrder po = poDoc.getPurchaseOrder();
//System.out.println("Cust name: " + po.getCustomer().getName());
//System.out.println(" address: " + po.getCustomer().getAddress());
//System.out.println("Date: " + po.getDate());
//System.out.println("Shipper name: " + po.getShipper().getName());
//System.out.println(" perOunceRate: " + po.getShipper().getPerOunceRate());
LineItem[] lineItems = po.getLineItemArray();
for (int i = 0; i < lineItems.length; i++)
{
LineItem lineItem = lineItems[i];
double price = lineItem.getPrice();
int quantity = lineItem.getQuantity();
BigDecimal perUnitOunces = lineItem.getPerUnitOunces();
String description = lineItem.getDescription();
// System.out.println(" Line item: " + price + " " + quantity + " " + perUnitOunces + " " + description);
}
}
}
public static class LoadAndTraverseItem
extends Utils.ParseFile
{
public void execute(String file)
throws Exception
{
PurchaseOrderDocument poDoc = PurchaseOrderDocument.Factory.parse(new File(file));
PurchaseOrderDocument.PurchaseOrder po = poDoc.getPurchaseOrder();
// System.out.println("Cust name: " + po.getCustomer().getName());
// System.out.println(" address: " + po.getCustomer().getAddress());
// System.out.println("Date: " + po.getDate());
// System.out.println("Shipper name: " + po.getShipper().getName());
// System.out.println(" perOunceRate: " + po.getShipper().getPerOunceRate());
int liSize = po.sizeOfLineItemArray();
for (int i = 0; i<liSize; i++)
{
LineItem lineItem = po.getLineItemArray(i);
double price = lineItem.getPrice();
int quantity = lineItem.getQuantity();
BigDecimal perUnitOunces = lineItem.getPerUnitOunces();
String description = lineItem.getDescription();
// System.out.println(" Line item: " + price + " " + quantity + " " + perUnitOunces + " " + description);
}
}
}
public static class CreateOnly
extends Utils.ParseFile
{
public void execute(String numberOfLineItems)
throws Exception
{
PurchaseOrderDocument poDoc = PurchaseOrderDocument.Factory.newInstance();
PurchaseOrderDocument.PurchaseOrder po = poDoc.addNewPurchaseOrder();
Shipper shipper = po.addNewShipper();
shipper.setPerOunceRate(new BigDecimal(0.744325345));
shipper.setName("ZipShip: twenty four characters");
int liNo = Integer.parseInt(numberOfLineItems);
for(int i = 0; i<liNo; i++)
{
LineItem lineItem = po.addNewLineItem();
lineItem.setQuantity(2);
lineItem.setPrice(21.7945342);
lineItem.setPerUnitOunces(new BigDecimal(5));
lineItem.setDescription("Fischer Black and the Revolutionary Idea of Finance");
}
Customer cust = po.addNewCustomer();
cust.setAddress("12314 Murkyloshevichy, Anytown, PA");
cust.setName("Gladys Kravitz Steve Kilisky, Senior Product Manager, AdobeEffects");
po.setDate(new XmlCalendar("2003-01-07T14:16:00-05:00"));
// System.out.println("CreateOnly: " + poDoc);
}
}
public static class CreateAndSave
extends Utils.ParseFile
{
public void execute(String numberOfLineItems)
throws Exception
{
PurchaseOrderDocument poDoc = PurchaseOrderDocument.Factory.newInstance();
PurchaseOrderDocument.PurchaseOrder po = poDoc.addNewPurchaseOrder();
Shipper shipper = po.addNewShipper();
shipper.setPerOunceRate(new BigDecimal(0.744325345));
shipper.setName("ZipShip: twenty four characters");
int liNo = Integer.parseInt(numberOfLineItems);
for(int i = 0; i<liNo; i++)
{
LineItem lineItem = po.addNewLineItem();
lineItem.setQuantity(2);
lineItem.setPrice(21.7945342);
lineItem.setPerUnitOunces(new BigDecimal(5));
lineItem.setDescription("Fischer Black and the Revolutionary Idea of Finance");
}
Customer cust = po.addNewCustomer();
cust.setAddress("12314 Murkyloshevichy, Anytown, PA");
cust.setName("Gladys Kravitz Steve Kilisky, Senior Product Manager, AdobeEffects");
po.setDate(new XmlCalendar("2003-01-07T14:16:00-05:00"));
// System.out.println("CreateOnly: " + poDoc);
poDoc.save(new Utils.NullOutputStream());
}
}
}