/******************************************************************************* * 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.tools.workbench.test.scplugin.model.adapter; import org.eclipse.persistence.tools.workbench.test.scplugin.AllSCTests; import junit.framework.Test; import junit.framework.TestSuite; import org.eclipse.persistence.tools.workbench.scplugin.SCPlugin; import org.eclipse.persistence.tools.workbench.scplugin.SCProblemsConstants; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.DataSource; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.DatabaseLoginAdapter; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.DatabaseSessionAdapter; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.LoginAdapter; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.ProjectAdapter; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.ServerPlatform; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.ServerPlatformAdapter; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.SessionBrokerAdapter; import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.TopLinkSessionsAdapter; /** * ECP stands for External Connection Pooling. * * @version 10.1.3 * @author Pascal Filion */ public class DatabaseLoginAdapterTest extends AbstractAdapterTest { public DatabaseLoginAdapterTest(String name) { super(name); } public static Test suite() { return new TestSuite(DatabaseLoginAdapterTest.class, "DatabaseLoginAdapter Test"); } private void _test_ECP_Broker_Session_Imp(SessionBrokerAdapter sessionBroker, DatabaseSessionAdapter session) throws Exception { ServerPlatformAdapter serverPlatform = session.getServerPlatform(); LoginAdapter login = session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); if (session.platformIsRdbms()) assertTrue(login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Now manage the session sessionBroker.manage("MyDatabaseSession"); assertFalse(serverPlatform.getEnableJTA()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Make sure the session's values reflect the broker's values serverPlatform = sessionBroker.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue(session.hasJTA()); } private void _test_ECP_ServerPlatform_Broker_Imp(SessionBrokerAdapter sessionBroker, DatabaseSessionAdapter session) throws Exception { ServerPlatformAdapter serverPlatform = session.getServerPlatform(); LoginAdapter login = session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); if (session.platformIsRdbms()) assertTrue(login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); sessionBroker.manage("MyDatabaseSession"); // Select a Server Platform serverPlatform = sessionBroker.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue(session.hasJTA()); // Remove Server Platform, make sure it's back to false serverPlatform = sessionBroker.setServerPlatform(noServerPlatform()); assertFalse(serverPlatform.getEnableJTA()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Unmanage the session sessionBroker.unManage("MyDatabaseSession"); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } private void _test_ECP_ServerPlatform_Imp(DatabaseSessionAdapter session) throws Exception { ServerPlatformAdapter serverPlatform = session.getServerPlatform(); LoginAdapter login = session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); if (session.platformIsRdbms()) assertTrue(login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Select a Server Platform serverPlatform = session.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue (session.hasJTA()); // Remove Server Platform, make sure it's back to false serverPlatform = session.setServerPlatform(noServerPlatform()); assertFalse(serverPlatform.getEnableJTA()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } private void _test_ECP_ServerPlatform2_Imp(DatabaseSessionAdapter session) throws Exception { ServerPlatformAdapter serverPlatform = session.getServerPlatform(); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); if (session.platformIsRdbms()) assertTrue(login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Select a Server Platform serverPlatform = session.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue (session.hasJTA()); // Change Server Platform values serverPlatform.setEnableJTA(false); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } public void test_ECP_Broker_Session_DatabaseDriver() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); ServerPlatformAdapter serverPlatform = session.getServerPlatform(); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Now manage the session sessionBroker.manage("MyDatabaseSession"); assertFalse(serverPlatform.getEnableJTA()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Make sure the session's values reflect the broker's values serverPlatform = sessionBroker.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue(session.hasJTA()); // Change to J2EE Data Source login.setDatabaseDriverAsDataSource(); session.updateExternalConnectionPooling(); // Has to be done manually assertFalse(login.databaseDriverIsDriverManager()); assertTrue (login.databaseDriverIsDataSource()); assertTrue (session.usesExternalConnectionPooling()); assertTrue (login.usesExternalTransactionController()); assertTrue (session.hasJTA()); } public void test_ECP_Broker_Session_EIS() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildAQDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); _test_ECP_Broker_Session_Imp(sessionBroker, session); } public void test_ECP_Broker_Session_RDBMS() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); _test_ECP_Broker_Session_Imp(sessionBroker, session); } public void test_ECP_Broker_Session_XML() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), DataSource.buildXmlDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); _test_ECP_Broker_Session_Imp(sessionBroker, session); } public void test_ECP_DatabaseDriver() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(login.usesExternalTransactionController()); // Change to J2EE Data Source login.setDatabaseDriverAsDataSource(); session.updateExternalConnectionPooling(); // Has to be done manually assertFalse(login.databaseDriverIsDriverManager()); assertTrue (login.databaseDriverIsDataSource()); assertTrue (session.usesExternalConnectionPooling()); assertFalse(login.usesExternalTransactionController()); // Change back to Driver Manager login.setDatabaseDriverAsDriverManager(); session.updateExternalConnectionPooling(); // Has to be done manually assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(login.usesExternalTransactionController()); assertFalse(session.hasJTA()); } public void test_ECP_ServerPlatform_Broker_DatabaseDriver1() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); ServerPlatformAdapter serverPlatform = session.getServerPlatform(); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Now manage the session sessionBroker.manage("MyDatabaseSession"); // Change to J2EE Data Source login.setDatabaseDriverAsDataSource(); session.updateExternalConnectionPooling(); // Has to be done manually // Select a Server Platform serverPlatform = sessionBroker.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue(session.hasJTA()); // Remove Server Platform, make sure it's back to false serverPlatform = sessionBroker.setServerPlatform(noServerPlatform()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Unmanage the session sessionBroker.unManage("MyDatabaseSession"); assertTrue (session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } public void test_ECP_ServerPlatform_Broker_DatabaseDriver2() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); ServerPlatformAdapter serverPlatform = session.getServerPlatform(); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Now manage the session sessionBroker.manage("MyDatabaseSession"); // Change to J2EE Data Source login.setDatabaseDriverAsDataSource(); session.updateExternalConnectionPooling(); // Has to be done manually // Select a Server Platform serverPlatform = sessionBroker.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue(session.hasJTA()); // Remove Server Platform serverPlatform = sessionBroker.setServerPlatform(noServerPlatform()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Change back to Driver Manager login.setDatabaseDriverAsDriverManager(); assertTrue (session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Unmanage the session sessionBroker.unManage("MyDatabaseSession"); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } public void test_ECP_ServerPlatform_Broker_EIS() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildAQDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); _test_ECP_ServerPlatform_Broker_Imp(sessionBroker, session); } public void test_ECP_ServerPlatform_Broker_RDBMS() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); _test_ECP_ServerPlatform_Broker_Imp(sessionBroker, session); } public void test_ECP_ServerPlatform_Broker_XML() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), DataSource.buildXmlDataSource()); SessionBrokerAdapter sessionBroker = sessions.addSessionBrokerNamed("MySessionBroker", noServerPlatform()); _test_ECP_ServerPlatform_Broker_Imp(sessionBroker, session); } public void test_ECP_ServerPlatform_DatabaseDriver1() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); ServerPlatformAdapter serverPlatform = session.getServerPlatform(); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Change to J2EE Data Source login.setDatabaseDriverAsDataSource(); session.updateExternalConnectionPooling(); // Has to be done manually // Select a Server Platform serverPlatform = session.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue(session.hasJTA()); // Remove Server Platform, make sure it's back to false serverPlatform = session.setServerPlatform(noServerPlatform()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } public void test_ECP_ServerPlatform_DatabaseDriver2() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); ServerPlatformAdapter serverPlatform = session.getServerPlatform(); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Select a Server Platform serverPlatform = session.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue(session.hasJTA()); // Change to J2EE Data Source login.setDatabaseDriverAsDataSource(); session.updateExternalConnectionPooling(); // Has to be done manually // Remove Server Platform, make sure it's back to false serverPlatform = session.setServerPlatform(noServerPlatform()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } public void test_ECP_ServerPlatform1_EIS() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildAQDataSource()); _test_ECP_ServerPlatform_Imp(session); } public void test_ECP_ServerPlatform1_RDBMS() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); _test_ECP_ServerPlatform_Imp(session); } public void test_ECP_ServerPlatform1_XML() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), DataSource.buildXmlDataSource()); _test_ECP_ServerPlatform_Imp(session); } public void test_ECP_ServerPlatform2_EIS() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); _test_ECP_ServerPlatform2_Imp(session); } public void test_ECP_ServerPlatform2_RDBMS() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); _test_ECP_ServerPlatform2_Imp(session); } public void test_ECP_ServerPlatform2_XML() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); _test_ECP_ServerPlatform2_Imp(session); } public void test_ECP_ServerPlatform3() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); ServerPlatformAdapter serverPlatform = session.getServerPlatform(); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Select a Server Platform serverPlatform = session.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue (session.hasJTA()); // Change Server Platform values serverPlatform.setEnableJTA(false); // Change to J2EE Data Source login.setDatabaseDriverAsDataSource(); session.updateExternalConnectionPooling(); // Has to be done manually assertTrue (session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } public void test_ECP_ServerPlatform4() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); ServerPlatformAdapter serverPlatform = session.getServerPlatform(); DatabaseLoginAdapter login = (DatabaseLoginAdapter) session.getLogin(); // Default values assertTrue (serverPlatform.isNull()); assertFalse(serverPlatform.getEnableJTA()); assertTrue (login.databaseDriverIsDriverManager()); assertFalse(login.databaseDriverIsDataSource()); assertFalse(session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); // Select a Server Platform serverPlatform = session.setServerPlatform(new ServerPlatform(SCPlugin.SERVER_PLATFORM_PREFERENCE_DEFAULT)); assertTrue(serverPlatform.getEnableJTA()); assertTrue(session.usesExternalConnectionPooling()); assertTrue (session.hasJTA()); // Change to J2EE Data Source login.setDatabaseDriverAsDataSource(); session.updateExternalConnectionPooling(); // Has to be done manually assertTrue(session.usesExternalConnectionPooling()); assertTrue(session.hasJTA()); // Change Server Platform values serverPlatform.setEnableJTA(false); assertTrue (session.usesExternalConnectionPooling()); assertFalse(session.hasJTA()); } public void testVerifyProblemMappingProject() throws Exception { TopLinkSessionsAdapter sessions = AllSCTests.createNewSessions(); DatabaseSessionAdapter session = sessions.addDatabaseSessionNamed("MyDatabaseSession", noServerPlatform(), buildOracleDataSource()); // Mapping Project should fail assertTrue("Mapping Project - Should have problem", hasProblem(SCProblemsConstants.SESSION_DATABASE_MAPPING_PROJECT, session)); // Add Primary Mapping Project - XML session.addPrimaryProjectXmlNamed("/toplink-dd.xml"); assertFalse("Contain XML - Should not have problem", hasProblem(SCProblemsConstants.SESSION_DATABASE_MAPPING_PROJECT, session)); // Add additional Mapping Project - XML ProjectAdapter project = session.addProjectClassNamed("org.eclipse.persistence.demos.employee.relational.EmployeeProject"); assertFalse("Contain XML - Should not have problem", hasProblem(SCProblemsConstants.SESSION_DATABASE_MAPPING_PROJECT, session)); // Remove additional Mapping Project - Class session.removeProject( project); session.addProjectClassNamed("org.eclipse.persistence.tools.workbench.MyClass"); assertFalse("Contain Class - Should not have problem", hasProblem(SCProblemsConstants.SESSION_DATABASE_MAPPING_PROJECT, session)); } }