blob: 3c15effed93b00a2b9d24b087b8236baa04c0d18 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 1998, 2013 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.models.mapping;
import org.eclipse.persistence.sessions.*;
import org.eclipse.persistence.testing.framework.*;
import org.eclipse.persistence.tools.schemaframework.*;
/**
* This creates a system for outer joins with multiple tables
*/
public class OuterJoinSystem extends TestSystem {
public OuterJoinSystem() {
project = new OuterJoinWithMultipleTablesProject();
}
public void addDescriptors(DatabaseSession session) {
if (project == null) {
project = new OuterJoinWithMultipleTablesProject();
}
(session).addDescriptors(project);
}
public void createTables(DatabaseSession session) {
SchemaManager schemaManager = new SchemaManager(session);
//create added tables for outer join with multiple tables testing
schemaManager.replaceObject(Course.tableDefinition());
schemaManager.replaceObject(Student.tableDefinition());
schemaManager.createSequences();
}
/**
* Return a connected session using the default login.
*/
public DatabaseSession login() {
DatabaseSession session;
session = project.createDatabaseSession();
session.login();
return session;
}
public void populate(DatabaseSession session) {
Student instance;
PopulationManager manager = PopulationManager.getDefaultManager();
String appendString = session.getLogin().getPlatform().getTableQualifier();
if (appendString.length() != 0) {
appendString = appendString + ".";
}
//======insert some Student Examples=====//
instance = Student.example1();
session.writeObject(instance);
manager.registerObject(instance, "example1");
instance = Student.example2();
session.writeObject(instance);
manager.registerObject(instance, "example2");
instance = Student.example3();
session.writeObject(instance);
manager.registerObject(instance, "example3");
instance = Student.example4();
session.writeObject(instance);
manager.registerObject(instance, "example4");
instance = Student.example5();
session.writeObject(instance);
manager.registerObject(instance, "example5");
instance = Student.example6();
session.writeObject(instance);
manager.registerObject(instance, "example6");
instance = Student.example7();
session.writeObject(instance);
manager.registerObject(instance, "example7");
Student instance2 = Student.example15();
Course instance1 = Course.example15();
instance = Student.example15();
session.writeObject(instance);
manager.registerObject(instance, "example15");
session.executeNonSelectingCall(new org.eclipse.persistence.queries.SQLCall("UPDATE " + appendString + "STUDENT SET C_ID = NULL WHERE ST_ID = " + instance2.getSt_ID()));
session.executeNonSelectingCall(new org.eclipse.persistence.queries.SQLCall("DELETE FROM STUDENT2 WHERE COURSE_ID = " + instance1.getCourse_ID()));
/* instance = Student.example8();
session.writeObject(instance);
manager.registerObject(instance, "example8");
instance = Student.example9();
session.writeObject(instance);
manager.registerObject(instance, "example9");
instance = Student.example10();
session.writeObject(instance);
manager.registerObject(instance, "example10");
instance = Student.example11();
session.writeObject(instance);
manager.registerObject(instance, "example11");
instance = Student.example12();
session.writeObject(instance);
manager.registerObject(instance, "example12");
instance = Student.example13();
session.writeObject(instance);
manager.registerObject(instance, "example13");
instance = Student.example14();
session.writeObject(instance);
manager.registerObject(instance, "example14");
*/
}
}