/*******************************************************************************
* 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.ui.pool.basic;
import javax.swing.JComponent;
import org.eclipse.persistence.tools.workbench.test.scplugin.ui.login.EisLoginPaneTest;
import org.eclipse.persistence.tools.workbench.test.scplugin.ui.pool.*;
import org.eclipse.persistence.tools.workbench.framework.app.ApplicationNode;
import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.EISLoginAdapter;
import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.ReadConnectionPoolAdapter;
import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.SCAdapter;
import org.eclipse.persistence.tools.workbench.scplugin.model.adapter.ServerSessionAdapter;
import org.eclipse.persistence.tools.workbench.scplugin.ui.pool.PoolNode;
import org.eclipse.persistence.tools.workbench.scplugin.ui.pool.basic.EisReadPoolLoginPropertiesPage;
import org.eclipse.persistence.tools.workbench.scplugin.ui.session.SessionNode;
import org.eclipse.persistence.tools.workbench.uitools.app.PropertyValueModel;
import org.eclipse.persistence.tools.workbench.uitools.app.SimplePropertyValueModel;
public class EisReadPoolLoginPropertiesPageTest extends AbstractReadPoolPanelTest
{
public EisReadPoolLoginPropertiesPageTest(String name)
{
super(name);
}
public static void main(String[] args) throws Exception
{
new EisReadPoolLoginPropertiesPageTest(null).execute(args);
}
public void _testComponentEnablerUseNonTransactionalReadLogin() throws Exception
{
ReadConnectionPoolAdapter pool = getConnectionPool();
boolean enabled = pool.usesNonTransactionalReadLogin();
JComponent pane = retrieveChildComponent("CONNECTION_READ_LOGIN_PANE", getPane());
assertNotNull(pane);
assertTrue(checkChildrenEnableState(pane, enabled));
simulateMnemonic("CONNECTION_READ_USE_NON_TRANSACTIONAL_READ_LOGIN_CHECK_BOX");
boolean newEnabled = pool.usesNonTransactionalReadLogin();
assertTrue(newEnabled != enabled);
assertTrue(checkChildrenEnableState(pane, newEnabled));
}
protected void _testComponentEntryUseNonTransactionalReadLogin() throws Exception
{
ReadConnectionPoolAdapter pool = getConnectionPool();
boolean enabled = pool.usesNonTransactionalReadLogin();
simulateMnemonic("CONNECTION_READ_USE_NON_TRANSACTIONAL_READ_LOGIN_CHECK_BOX");
assertTrue(enabled != pool.usesNonTransactionalReadLogin());
}
protected void _testFocusTransferUseNonTransactionalReadLogin() throws Exception
{
testFocusTransferByMnemonic("CONNECTION_READ_USE_NON_TRANSACTIONAL_READ_LOGIN_CHECK_BOX",
COMPONENT_CHECK_BOX);
}
protected void _testSubPaneEisLoginPane() throws Throwable
{
ReadConnectionPoolAdapter pool = (ReadConnectionPoolAdapter) getSelection();
pool.setUseNonTransactionalReadLogin(true);
runTestCase(new EisLoginPaneTest(this, getNodeHolder(), (EISLoginAdapter) pool.getLogin()));
}
protected PropertyValueModel buildNodeHolder(ApplicationNode projectNode)
{
ServerSessionAdapter session = (ServerSessionAdapter) getTopLinkSessions().sessionNamed("SC-EisServerSessionTest");
SessionNode sessionNode = (SessionNode) retrieveNode(projectNode, session);
PoolNode poolNode = (PoolNode) retrieveNode(sessionNode, session.getReadConnectionPool());
return new SimplePropertyValueModel(poolNode);
}
protected JComponent buildPane() throws Exception
{
return buildPage(EisReadPoolLoginPropertiesPage.class, getNodeHolder());
}
protected SCAdapter buildSelection()
{
ServerSessionAdapter session = (ServerSessionAdapter) getTopLinkSessions().sessionNamed("SC-EisServerSessionTest");
return session.getReadConnectionPool();
}
protected String windowTitle()
{
return "Eis Read Connection Pool - Login Tab Test";
}
}