Сведения о примерах создания SDO на основе схемы XML

В этом примере показано, как создать Объекты данных службы на основе схемы XML и как использовать созданные SDO. В пример включен файл схемы XML с именем PurchaseOrder.xsd.

Создание объектов данных службы на основе файла PurchaseOrder.xsd

Об этой задаче

Для того чтобы создать объекты SDO на основе PurchaseOrder.xsd, выполните следующие действия:

Процедура

  1. Откройте Окно > Открыть проекцию > Java.
  2. В структуре пакетов щелкните правой кнопкой мыши на файле PurchaseOrder.xsd и выберите Создать > Java, чтобы вызвать мастер создания Java™.
    Значок мастера Создать Java
  3. В списке Генератор выберите Генератор SDO и нажмите кнопку Далее.
  4. В поле Контейнер нажмите кнопку Выбрать, чтобы найти проект SDOFromXSDExample в своей рабочей области.
  5. Нажмите кнопку Готово, чтобы создать классы Java. Созданные классы Java будут показаны в структуре пакетов.

Использование созданных SDO приложении на Java

Об этой задаче

В следующих примерах кода Java показано, как использовать созданный код для выполнения следующих действий:
  • Создать экземпляр PurchaseOrder
  • Сериализовать PurchaseOrder в файл XML
  • Загрузить PurchaseOrder из файла XML

Пример

import java.math.BigDecimal;
import java.math.BigInteger;
import com.ibm.DocumentRoot;
import com.ibm.IbmFactory;
import com.ibm.ItemType;
import com.ibm.Items;
import com.ibm.PurchaseOrderType;
import com.ibm.USAddress;
import com.ibm.USState;
import com.ibm.util.IbmResourceUtil;
import javax.xml.datatype.DatatypeConstants;
import javax.xml.datatype.DatatypeFactory;

public class PurchaseOrderSample {

	public static void main(String[] args) throws Exception {

	/******************************************************************************/
	/******************** Создать экземпляр заказа на покупку *********************/
	/******************************************************************************/
	
	    // Создать заказ на покупку
	    PurchaseOrderType purchaseOrder = IbmFactory.eINSTANCE.createPurchaseOrderType(); 

	    // Создать позицию товара для заказа на покупку
	    ItemType item = IbmFactory.eINSTANCE.createItemType();
	    item.setProductName("Проигрыватель DVD");
	    item.setQuantity(BigInteger.valueOf(1));
	    item.setUSPrice(BigDecimal.valueOf(14895,2));
		
	    // Добавить позицию товара в набор товаров
	    Items items = IbmFactory.eINSTANCE.createItems();
	    items.getItem().add(item);
	    
	    // Вставить набор товаров в заказ на покупку
	    purchaseOrder.setItems(items);
	    
	    // Указать адрес доставки заказа на покупку
	    USAddress shippingAddress = IbmFactory.eINSTANCE.createUSAddress();
	    shippingAddress.setName("Alice Smith");
	    shippingAddress.setStreet("3465 Maple Street");
	    shippingAddress.setCity("Mill Valley");   
	    shippingAddress.setState(USState.get("CA"));
	    shippingAddress.setZip(BigDecimal.valueOf(90952));   
	    shippingAddress.setCountry("US");
	    purchaseOrder.setShipTo(shippingAddress);	
	    
	    //Указать дату заказа на покупку и ввести комментарии
	    purchaseOrder.setOrderDate(DatatypeFactory.newInstance().newXMLGregorianCalendarDate(2007, 3, 10, DatatypeConstants.FIELD_UNDEFINED));
	    purchaseOrder.setComment("Срочная доставка");
	    

	/******************************************************************************/   
	/******************* Сохранить заказ на покупку в файле XML *******************/
	/******************************************************************************/
	
		// Создать корневой элемент документа XML и задать ему значение Заказ на покупку
		DocumentRoot documentRoot = IbmFactory.eINSTANCE.createDocumentRoot();
		documentRoot.setPurchaseOrder(purchaseOrder);

		// Сохранить документ XML в файл
		IbmResourceUtil.getInstance().save(documentRoot,"sample.xml");
		

	/******************************************************************************/	
	/****************** Загрузить заказ на покупку из файла XML *******************/
	/******************************************************************************/
	
		// Загрузить файл документа XML
		documentRoot = IbmResourceUtil.getInstance().load("sample.xml");
		
		// Напечатать сводную информацию по заказу на покупку, полученную из загруженного документа XML
		System.out.println("Сводка по заказу на покупку");
		System.out.println("  Дата: " + documentRoot.getPurchaseOrder().getOrderDate());
		System.out.println("  Заказчик: "	+ documentRoot.getPurchaseOrder().getShipTo().getName());
		System.out.println("  Товар: "
				+ ((ItemType)documentRoot.getPurchaseOrder().getItems().getItem().get(0)).getProductName());
		System.out.println("  Уплаченная сумма: "
				+ ((ItemType)documentRoot.getPurchaseOrder().getItems().getItem().get(0)).getUSPrice());
		System.out.println("  Комментарии: " + documentRoot.getPurchaseOrder().getComment());		
	}
}

Выполнение приложения на Java

Об этой задаче

Для того чтобы запустить приложение на Java, выполните следующие действия:

Процедура

  1. Создайте класс с именем PurchaseOrderSample.java в пакете по умолчанию проекта SDOFromXSDExample и вставьте в этот класс показанный выше пример кода Java.
  2. В структуре пакетов щелкните правой кнопкой мыши на PurchaseOrderSample.java и выберите Выполнить как > Приложение на Java. Будет создан сериализованный файл sample.xml. Перестроенные экземпляры Java будут показаны на панели Консоль.
  3. Для просмотра файла sample.xml щелкните правой кнопкой мыши на проекте и выберите Обновить.
    Значок файла sample.xml

Комментарии