Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java')
-rwxr-xr-xtests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java190
1 files changed, 190 insertions, 0 deletions
diff --git a/tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java b/tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java
new file mode 100755
index 000000000..c05979366
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java
@@ -0,0 +1,190 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: ExtendedPO2Action.java,v 1.6 2008/02/28 07:08:14 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.test.emf.sample;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.List;
+
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.Customer;
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.EPO2Factory;
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.EPO2Package;
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.GlobalAddress;
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.Item;
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.OrderStatus;
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.PurchaseOrder;
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.Supplier;
+import org.eclipse.emf.teneo.samples.emf.sample.epo2.USAddress;
+import org.eclipse.emf.teneo.test.AbstractTestAction;
+import org.eclipse.emf.teneo.test.stores.TestStore;
+
+/**
+ * Tests the extended po 2 example
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.6 $ $Date: 2008/02/28 07:08:14 $
+ */
+public abstract class ExtendedPO2Action extends AbstractTestAction {
+ public ExtendedPO2Action() {
+ super(EPO2Package.eINSTANCE);
+ }
+
+ /** Stores a TopModel Object */
+ @Override
+ public void doAction(TestStore store) {
+ final EPO2Factory factory = EPO2Factory.eINSTANCE;
+ {
+ Supplier supplier = factory.createSupplier(); // This is the root. Keep it ....
+ supplier.setName("Computer City");
+
+ PurchaseOrder po = factory.createPurchaseOrder();
+ supplier.getOrders().add(po);
+ PurchaseOrder prevpo = factory.createPurchaseOrder();
+ supplier.getOrders().add(prevpo);
+
+ po.setComment("a new purchase order");
+ prevpo.setComment("the previous purchase order");
+
+ USAddress adr = factory.createUSAddress();
+ adr.setCity("Doorn");
+ adr.setCountry("Netherlands");
+ adr.setName("M. Taal");
+ adr.setState("Utrecht");
+ adr.setStreet("Nassaulaan 7");
+ adr.setZip(3941);
+
+ USAddress adr1 = factory.createUSAddress();
+ adr1.setCity("Doorn");
+ adr1.setCountry("Netherlands");
+ adr1.setName("M. Taal");
+ adr1.setState("Utrecht");
+ adr1.setStreet("Nassaulaan 7");
+ adr1.setZip(3941);
+
+ // both have same billto
+ po.setBillTo(adr);
+ prevpo.setBillTo(adr1);
+
+ po.setOrderDate(new Date());
+ Calendar cal = new GregorianCalendar();
+ cal.add(Calendar.DAY_OF_MONTH, -5);
+ prevpo.setOrderDate(cal.getTime());
+
+ Customer cust = factory.createCustomer();
+ supplier.getCustomers().add(cust);
+ cust.setCustomerID(5000);
+ cust.getOrders().add(po); // Added by DSC for JCR validation. Remove later....
+ cust.getOrders().add(prevpo); // Added by DSC for JCR validation. Remove later....
+ po.setCustomer(cust);
+ prevpo.setCustomer(cust);
+
+ GlobalAddress globadr = factory.createGlobalAddress();
+ globadr.setCountry("Belgium");
+ globadr.setCountryCode(36);
+ globadr.setName("Belgium Office");
+ globadr.getLocation().add("MY GLOBAL LOCATION");
+
+ GlobalAddress globadr1 = factory.createGlobalAddress();
+ globadr1.setCountry("Belgium");
+ globadr1.setCountryCode(36);
+ globadr1.setName("Belgium Office");
+ globadr1.getLocation().add("MY GLOBAL LOCATION");
+
+ // both have same shipto
+ po.setShipTo(globadr);
+ prevpo.setShipTo(globadr1);
+
+ po.setStatus(OrderStatus.COMPLETE_LITERAL);
+ prevpo.setStatus(OrderStatus.BACK_ORDER_LITERAL);
+
+ Item item = factory.createItem();
+ item.setComment("I like this product");
+ item.setPartNum("500.11.22");
+ item.setProductName("Dell Latitude");
+ item.setQuantity(50);
+ item.setShipDate(new Date());
+ item.setOrder(po); // Added by DSC for JCR validation. Remove later....
+
+ Item item2 = factory.createItem();
+ item2.setComment("A few of these for me.");
+ item2.setPartNum("500.11.2000");
+ item2.setProductName("Sun Opteron Workstation");
+ item2.setQuantity(200);
+ item2.setShipDate(new Date());
+ item2.setOrder(prevpo); // Added by DSC for JCR validation. Remove later....
+
+ po.getItems().add(item);
+ prevpo.getItems().add(item2);
+ po.setPreviousOrder(prevpo);
+ store.beginTransaction();
+ store.store(supplier);
+ store.commitTransaction();
+ /*
+ * final Resource res = store.getResource(); res.getContents().add(supplier); try {
+ * res.save(Collections.EMPTY_MAP); } catch (IOException e) { throw new
+ * StoreTestException("IOException", e); }
+ */
+ }
+
+ {
+ store.beginTransaction();
+ // final Resource res2 = store.getResource();
+ // Supplier supplierTest = (Supplier)res2.getContents().get(0);
+ Supplier supplierTest = (Supplier) store.getObject(Supplier.class);
+ List<?> customers = supplierTest.getCustomers();
+ assertNotNull(customers);
+ assertTrue(customers.size() == 1);
+ assertNotNull(customers.get(0));
+ assertTrue(((Customer) customers.get(0)).getCustomerID() > 0);
+ assertNotNull(((Customer) customers.get(0)).getOrders());
+ assertTrue(((Customer) customers.get(0)).getOrders().size() == 2);
+ for (Object name : supplierTest.getOrders()) {
+ PurchaseOrder potest = (PurchaseOrder) name;
+ assertNotNull(potest.getStatus().getLiteral());
+ assertTrue(potest.getItems().size() > 0);
+ Item itemtest = potest.getItems().get(0);
+ assertNotNull(itemtest.eContainer());
+ assertNotNull(itemtest.getOrder());
+ assertNotNull(itemtest.getShipDate());
+ assertNotNull(itemtest.getPartNum());
+ assertNotNull(potest.getCustomer());
+ USAddress billTo = (USAddress) potest.getBillTo();
+ assertNotNull(billTo);
+ assertNotNull(billTo.getStreet());
+ GlobalAddress shipTo = (GlobalAddress) potest.getShipTo();
+ assertNotNull(shipTo);
+ assertTrue(shipTo.getCountryCode() > 0);
+ }
+ store.commitTransaction();
+ }
+
+ checkContainerForSeparatelyReadItem(store);
+ }
+
+ protected abstract void checkContainerForSeparatelyReadItem(TestStore store);
+ // TODO jpox was
+ // // if a contained item is read separately from the db then the
+ // // container is not set!
+ // if (store instanceof JPOXTestStore)
+ // {
+ // store.beginTransaction();
+ // Item itemtest2 = (Item)store.getObject(Item.class);
+ // assertTrue(itemtest2.eContainer() == null);
+ // store.commitTransaction();
+ // }
+}

Back to the top