| /* |
| * 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(); |
| } |
| } |