blob: 52567aa07b911c25f0f3371a057b2f6d3ce78304 [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.models.readonly;
import org.eclipse.persistence.sessions.*;
import org.eclipse.persistence.tools.schemaframework.PopulationManager;
import org.eclipse.persistence.tools.schemaframework.SchemaManager;
import org.eclipse.persistence.testing.framework.TestSystem;
public class ReadOnlySystem extends TestSystem {
public ReadOnlySystem() {
//For testing purposes only
// TestExecutor.usesReadProjectFile=true;
project = new ReadOnlyProject();
}
@Override
public void addDescriptors(DatabaseSession session) {
if (project == null) {
project = new ReadOnlyProject();
}
session.addDescriptors(project);
}
@Override
public void createTables(DatabaseSession session) {
SchemaManager schemaManager = new SchemaManager(session);
schemaManager.replaceObject(Promoter.tableDefinition());
schemaManager.replaceObject(Actor.tableDefinition());
schemaManager.replaceObject(Actor.actorMovieJoinTableDefinition());
schemaManager.replaceObject(Actor.actorCharityJoinTableDefinition());
schemaManager.replaceObject(Address.tableDefinition());
schemaManager.replaceObject(Charity.tableDefinition());
schemaManager.replaceObject(HollywoodAgent.tableDefinition());
schemaManager.replaceObject(Movie.tableDefinition());
schemaManager.replaceObject(Country.tableDefinition());
// schemaManager.replaceObject(PhoneNumber.tableDefinition());
schemaManager.replaceObject(DefaultReadOnlyTestClass.tableDefinition());
schemaManager.createSequences();
}
@Override
public void populate(DatabaseSession session) {
PopulationManager manager = PopulationManager.getDefaultManager();
UnitOfWork unitOfWork = session.acquireUnitOfWork();
Movie movie1 = Movie.example1();
Movie movie2 = Movie.example2();
Movie movie3 = Movie.example3();
Movie movie4 = Movie.example4();
Movie movie5 = Movie.example5();
unitOfWork.registerObject(movie1);
unitOfWork.registerObject(movie2);
unitOfWork.registerObject(movie3);
unitOfWork.registerObject(movie4);
unitOfWork.registerObject(movie5);
manager.registerObject(movie1, "movie1");
manager.registerObject(movie2, "movie2");
manager.registerObject(movie3, "movie3");
manager.registerObject(movie4, "movie4");
manager.registerObject(movie4, "movie5");
unitOfWork.registerAllObjects(Country.countries());
unitOfWork.registerAllObjects(HollywoodAgent.hollywoodAgents());
unitOfWork.registerAllObjects(Charity.charities());
unitOfWork.commit();
}
}