blob: 01abec8444fdc93c0835bb8ea26794fabf7847d8 [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 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 v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.tests.queries;
import java.util.*;
import org.eclipse.persistence.sessions.*;
import org.eclipse.persistence.testing.framework.*;
import org.eclipse.persistence.tools.schemaframework.*;
public class IdentitySystem extends TestSystem {
public IdentitySystem() {
//For Testing purposes
project = new NoIdentityMapProject();
}
@Override
public void addDescriptors(DatabaseSession session) {
if (project == null) {
project = new NoIdentityMapProject();
}
(session).addDescriptors(project);
//project = new Project_case2();
//((DatabaseSession)session).addDescriptors(project);
}
public TestClass1 basicIdentityExample1() {
TestClass1 example = new TestClass1();
example.setTest1("Lauretta");
example.setTest2("Cole");
return example;
}
public TestClass1 basicIdentityExample2() {
TestClass1 example = new TestClass1();
example.setTest1("William");
example.setTest2("George");
return example;
}
public TestClass1 basicIdentityExample3() {
TestClass1 example = new TestClass1();
example.setTest1("Victoria");
example.setTest2("Sawyerr");
return example;
}
public void buildExamples() {
testIdentityExample1();
testIdentityExample2();
testIdentityExample3();
}
private boolean containsObject(Class<?> domainClass, String identifier) {
PopulationManager populationManager = PopulationManager.getDefaultManager();
return populationManager.containsObject(domainClass, identifier);
}
@Override
public void createTables(DatabaseSession session)
{
SchemaManager schemaManager = new SchemaManager(session);
//create added tables for no identity map testing
schemaManager.replaceObject(TestClass1.tableDefinition());
schemaManager.createSequences();
}
private Object getObject(Class<?> domainClass, String identifier) {
PopulationManager populationManager = PopulationManager.getDefaultManager();
return populationManager.getObject(domainClass, identifier);
}
/**
* Return a connected session using the default login.
*/
@Override
public DatabaseSession login() {
DatabaseSession session;
session = project.createDatabaseSession();
session.login();
return session;
}
@Override
public void populate(DatabaseSession session)
{
IdentitySystem system = new IdentitySystem();
org.eclipse.persistence.sessions.UnitOfWork unitOfWork = session.acquireUnitOfWork();
system.buildExamples();
Vector allObjects = new Vector();
PopulationManager.getDefaultManager().addAllObjectsForClass(TestClass1.class, allObjects);
unitOfWork.registerAllObjects(allObjects);
unitOfWork.commit();
}
private void registerObject(Object domainObject, String identifier) {
PopulationManager populationManager = PopulationManager.getDefaultManager();
populationManager.registerObject(domainObject, identifier);
}
public TestClass1 testIdentityExample1() {
TestClass1 example = basicIdentityExample1();
registerObject(example, "100");
return example;
}
public TestClass1 testIdentityExample2() {
TestClass1 example = basicIdentityExample2();
registerObject(example, "200");
return example;
}
public TestClass1 testIdentityExample3() {
TestClass1 example = basicIdentityExample3();
registerObject(example, "300");
return example;
}
}