/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.testing.tests.proxyindirection; import java.util.Vector; import org.eclipse.persistence.sessions.DatabaseSession; import org.eclipse.persistence.sessions.UnitOfWork; import org.eclipse.persistence.testing.framework.TestSystem; public class ProxyIndirectionSystem extends TestSystem { public ProxyIndirectionSystem() { project = new ProxyIndirectionProject(); } public void addDescriptors(DatabaseSession session) { Vector descriptors = new Vector(); if (project == null) { project = new ProxyIndirectionProject(); } (session).addDescriptors(project); } public void createTables(DatabaseSession session) { ProxyIndirectionTableCreator creator = new ProxyIndirectionTableCreator(); creator.replaceTables(session); } public void populate(DatabaseSession session) { // =================================== // Create model objects // =================================== Employee emp1 = new EmployeeImpl(); emp1.setFirstName("Rick"); emp1.setLastName("Barkhouse"); emp1.setGender("Male"); emp1.setAge(24); Employee emp2 = new EmployeeImpl(); emp2.setFirstName("Angie"); emp2.setLastName("MacIvor"); emp2.setGender("Female"); emp2.setAge(24); Employee emp3 = new EmployeeImpl(); emp3.setFirstName("James"); emp3.setLastName("Sutherland"); emp3.setGender("Male"); emp3.setAge(28); Address add1 = new AddressImpl(); add1.setStreet("509-171 Lees Ave."); add1.setCity("Ottawa"); add1.setState("ON"); add1.setCountry("Canada"); add1.setPostalCode("K1S 5P3"); Address add2 = new AddressImpl(); add2.setStreet("14421 Baseline Rd."); add2.setCity("Ottawa"); add2.setState("ON"); add2.setCountry("Canada"); add2.setPostalCode("K1T 5A1"); Cubicle cube1 = new CubicleImpl(); cube1.setLength(5.7f); cube1.setWidth(5.7f); cube1.setHeight(5.0f); Cubicle cube2 = new CubicleImpl(); cube2.setLength(6.4f); cube2.setWidth(5.7f); cube2.setHeight(5.0f); Cubicle cube3 = new CubicleImpl(); cube3.setLength(8.4f); cube3.setWidth(8.7f); cube3.setHeight(5.0f); Project project1 = new ProjectImpl(); project1.setName("Support Tracker 3"); project1.setDescription("Customer support software to keep track of support e-mail"); LargeProject project2 = new LargeProjectImpl(); project2.setName("Virtual Coffee Machine"); project2.setDescription("Espresso machine simulator written in Java"); project2.setBudget(125000); project2.setInvestor("Second Cup Coffee Co."); EmailImpl email1 = new EmailImpl(); email1.setIsPublic(true); email1.setWantsHTMLMail(true); email1.setUsername("rick_barkhouse"); email1.setDomain("yahoo.ca"); EmailImpl email2 = new EmailImpl(); email2.setIsPublic(true); email2.setWantsHTMLMail(false); email2.setUsername("amacivor"); email2.setDomain("sympatico.ca"); PhoneImpl phone1 = new PhoneImpl(); phone1.setIsPublic(false); phone1.setNumber("613-123-4567"); phone1.setType(PhoneImpl.CELL); DesktopComputer comp1 = new DesktopComputerImpl(); comp1.setDescription("Compaq Pentium 200"); comp1.setSerialNumber("CP18176-187262"); comp1.setMoniterSize(21); DesktopComputer comp2 = new DesktopComputerImpl(); comp2.setDescription("Acer PentiumII 300"); comp2.setSerialNumber("2876-298769232736"); comp2.setMoniterSize(19); DesktopComputer comp3 = new DesktopComputerImpl(); comp3.setDescription("Micron PentiumII 450"); comp3.setSerialNumber("OU812-URABUTLN"); comp3.setMoniterSize(17); // =================================== // Register and make relationships // =================================== UnitOfWork uow = session.acquireUnitOfWork(); uow.registerNewObject(cube1); uow.registerNewObject(cube2); uow.registerNewObject(cube3); uow.assignSequenceNumbers(); cube1.setEmployee(emp1); cube2.setEmployee(emp2); cube3.setEmployee(emp3); cube1.setComputer(comp1); cube2.setComputer(comp2); cube3.setComputer(comp3); emp1.setAddress(add1); emp1.setProject(project1); emp1.setLargeProject(project2); emp1.setCubicleID(cube1.getID()); emp1.setContact(email1); emp2.setAddress(add1); emp2.setProject(project2); emp2.setCubicleID(cube2.getID()); emp2.setContact(email2); emp3.setAddress(add2); emp3.setCubicleID(cube3.getID()); emp3.addManagedEmployee(emp1); emp3.addManagedEmployee(emp2); emp3.setContact(phone1); uow.commit(); } }