/******************************************************************************* * 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.testing.tests.unitofwork.transactionisolation; import org.eclipse.persistence.sessions.UnitOfWork; import org.eclipse.persistence.testing.framework.AutoVerifyTestCase; /** * Tests the Session read refactoring / reading through the write connection * properly feature. * <p> * Now that we can trigger valueholders directly by executing a query on the * UnitOfWork, an obvious question is what happens when the query is automatically * a conformming query? * <p> * It seems ideal that when you delete an address and then go employee.getAddress() * you get back null. I.e. conforming is done on the indirection. However * it is not good in that the clone==backup, so merge will not update the * shared cache version. * <p> * Or maybe it is safe, but do we want to do a full conforming when triggering * a valueholder? That could slow things down significantly. And also we * will only do this when in transaction, which is not consistent at all. * @author smcritch */ public class TransactionIsolationIndirectionConformingTest extends AutoVerifyTestCase { UnitOfWork unitOfWork; protected void setup() throws Exception { getSession().getIdentityMapAccessor().initializeAllIdentityMaps(); unitOfWork = getSession().acquireUnitOfWork(); } public void reset() throws Exception { if (unitOfWork != null) { getSession().getIdentityMapAccessor().initializeAllIdentityMaps(); unitOfWork.release(); unitOfWork = null; } } public void test() { weakAssert(false, "currently broken."); } }