diff options
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTestCase.java')
-rw-r--r-- | jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTestCase.java | 361 |
1 files changed, 0 insertions, 361 deletions
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTestCase.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTestCase.java deleted file mode 100644 index 507ae06904..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTestCase.java +++ /dev/null @@ -1,361 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2009, 2010 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ -package org.eclipse.jpt.jpa.core.tests.internal.context.persistence; - -import java.util.Iterator; - -import org.eclipse.jpt.common.utility.internal.model.AbstractModel; -import org.eclipse.jpt.common.utility.model.event.ListEvent; -import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.ListValueModel; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.core.internal.context.persistence.AbstractPersistenceUnitProperties; -import org.eclipse.jpt.jpa.core.tests.internal.context.ContextModelTestCase; - -/** - * PersistenceUnitTestCase - */ -@SuppressWarnings("nls") -public abstract class PersistenceUnitTestCase extends ContextModelTestCase -{ - protected PropertyChangeEvent propertyChangedEvent; - - protected int propertyChangedEventCount; - - protected int propertiesTotal; - - protected int modelPropertiesSizeOriginal; - - protected int modelPropertiesSize; - - // ********** constructors ********** - protected PersistenceUnitTestCase(String name) { - super(name); - } - - // ****** abstract methods ******* - protected abstract PersistenceUnitProperties getModel(); - - /** - * Initializes directly the PU properties before testing. Cannot use - * Property Holder to initialize because it is not created yet - */ - protected abstract void populatePu(); - - /** - * Gets the model's property identified by the given propertyName. - * - * @param propertyName - * name of property to get - * @throws Exception - */ - protected abstract Object getProperty(String propertyName) throws Exception; - - - /** - * Sets the model's property identified by the given propertyName. - * Used in verifySetProperty() - * - * @param propertyName - * name of property to be set - * @param newValue - * value of property - * @throws Exception - */ - protected abstract void setProperty(String propertyName, Object newValue) throws Exception; - - - // ****** convenience test methods ******* - - protected String getPropertyStringValueOf(Object value) { - return AbstractPersistenceUnitProperties.getPropertyStringValueOf(value); - } - - protected <E> E getFirstElement(Iterator<E> iterator) { - if(iterator.hasNext()) { - return iterator.next(); - } - return null; - } - - /** - * Put into persistenceUnit properties. Do not allows to put duplicate entry. - * - * @param key - - * PersistenceUnit property key - * @param value - - * property value - */ - protected void persistenceUnitSetProperty(String key, Object value) { - - this.persistenceUnitSetProperty( key, value, false); - } - - protected void persistenceUnitSetProperty(String key, Object value, boolean allowDuplicates) { - if (key == null) { - throw new IllegalArgumentException("PersistenceUnit property key cannot be null"); - } - if (value == null) - this.setNullProperty(key); - else - this.putProperty_(key, value, allowDuplicates); - } - - private void putProperty_(String puKey, Object value, boolean allowDuplicates) { - this.clearEvent(); - this.getPersistenceUnit().setProperty(puKey, this.getPropertyStringValueOf(value), allowDuplicates); - } - - protected void setNullProperty(String puKey) { - this.clearEvent(); - this.getPersistenceUnit().setProperty(puKey, null, false); - } - - protected void clearEvent() { - this.propertyChangedEvent = null; - this.propertyChangedEventCount = 0; - } - - protected void throwMissingDefinition(String methodName, String propertyName) throws NoSuchFieldException { - throw new NoSuchFieldException("Missing Definition for: " + methodName + "( " + propertyName + ")"); - } - - public void throwUnsupportedOperationException(ListEvent e) { - throw new UnsupportedOperationException(e.getListName()); - } - - protected PropertyChangeListener buildPropertyChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent event) { - PersistenceUnitTestCase.this.propertyChangedEvent = event; - PersistenceUnitTestCase.this.propertyChangedEventCount++; - } - - @Override - public String toString() { - return "PersistenceUnit listener"; - } - }; - } - - /** - * Verify if the property exists in the pesistence.xml - */ - protected boolean propertyExists(String puPropertyName) { - return this.getPersistenceUnit().getProperty(puPropertyName) != null; - } - - protected boolean propertyValueEquals(String puPropertyName, String propertyValue) { - return this.getPersistenceUnit().getProperty(puPropertyName).getValue().equals(propertyValue); - } - - // ****** verify PersistenceUnit properties ******* - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyAAValue(Boolean expectedValue, Boolean subjectValue, PropertyValueModel<Boolean> aa, String persistenceXmlKey) { - assertEquals(expectedValue, subjectValue); - assertEquals(expectedValue, aa.getValue()); - if (expectedValue != null) { - assertTrue("PersistenceUnit property value not equals", this.propertyValueEquals(persistenceXmlKey, expectedValue.toString())); - } - } - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected <T extends Enum<T>> void verifyAAValue(T expectedValue, T subjectValue, PropertyValueModel<? extends Enum<T>> aa, String puKey) { - assertEquals(expectedValue, subjectValue); - assertEquals(expectedValue, aa.getValue()); - if (expectedValue != null) { - assertTrue("PersistenceUnit property value not equals", this.propertyValueEquals(puKey, this.getPropertyStringValueOf(expectedValue))); - } - } - - /** - * Performs the following tests:<br> - * 1. verify total number of PersistenceUnit properties<br> - * 2. verify PU has the given propertyName<br> - * 3. verify listening to propertyListAdapter<br> - * 4. verify that the model can identify propertyName<br> - */ - protected void verifyInitialState(String propertyName, String puKey, ListValueModel<PersistenceUnit.Property> propertyListAdapter) throws Exception { - assertEquals("Total not updated in populatePu(): ", propertyListAdapter.size(), this.propertiesTotal); - this.verifyPuHasProperty(puKey, "Property not added to populatePu()"); - this.verifyHasListeners(propertyListAdapter); - this.verifyHasListeners(this.getModel(), propertyName); - - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(puKey); - assertTrue("model.itemIsProperty() is false: ", this.getModel().itemIsProperty(property)); - assertEquals("propertyIdFor() not updated: ", propertyName, this.getModel().propertyIdOf(property)); - } - - /** - * Verifies that the persistence unit is populated, and that the model for - * the tested Property is initialized with the value from the persistence - * unit. - * @throws Exception - */ - protected void verifyModelInitialized(String puKey, Object expectedValue) throws Exception { - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(puKey); - assertTrue("model.itemIsProperty() is false: ", this.getModel().itemIsProperty(property)); - - assertTrue("PersistenceUnit not populated - populatedPu()", this.propertyValueEquals(puKey, this.getPropertyStringValueOf(expectedValue))); - String propertyName = this.getModel().propertyIdOf(property); - Object modelValue = this.getProperty(propertyName); - assertEquals( - "Model not initialized - model.initializeProperties() - modelValue = " + modelValue, - expectedValue, - modelValue); - } - - /** - * Performs the following operations with the property:<br> - * 1. verifies the initial state<br> - * 2. persistenceUnit putProperty<br> - * 3. adapter setProperty<br> - */ - protected void verifySetProperty(String puKey, Object testValue1, Object testValue2) throws Exception { - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(puKey); - String propertyName = this.getModel().propertyIdOf(property); - - // Replace - this.persistenceUnitSetProperty(puKey, testValue2); - this.verifyPutProperty(propertyName, testValue2); - - // Replace by setting model object - this.clearEvent(); - this.setProperty(propertyName, testValue1); - this.verifyPutProperty(propertyName, testValue1); - } - - /** - * Performs the following operations with the property:<br> - * 1. performs a remove on the PU<br> - * 2. performs a add with putProperty<br> - * 3. performs a replace with putProperty<br> - */ - protected void verifyAddRemoveProperty(String puKey, Object testValue1, Object testValue2) throws Exception { - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(puKey); - String propertyName = this.getModel().propertyIdOf(property); - - // Remove - this.clearEvent(); - --this.propertiesTotal; - --this.modelPropertiesSize; - this.verifyPuHasProperty(puKey, "persistenceUnit.properties doesn't contains: "); - this.getPersistenceUnit().removeProperty(puKey); - assertNull(this.getPersistenceUnit().getProperty(puKey)); - assertEquals(this.modelPropertiesSize, this.modelPropertiesSizeOriginal - 1); - this.verifyPutProperty(propertyName, null); - - // Add original CacheTypeDefault - ++this.propertiesTotal; - ++this.modelPropertiesSize; - this.persistenceUnitSetProperty(puKey, testValue1); - this.verifyPutProperty(propertyName, testValue1); - - // Replace - this.persistenceUnitSetProperty(puKey, testValue2); - this.verifyPutProperty(propertyName, testValue2); - } - - /** - * Verifies the model's property identified by the given propertyName - * Used in verifySetProperty() and verifyAddRemoveProperty - * - * @param propertyName - * name of property to be verified - * @param expectedValue - * @throws Exception - */ - protected void verifyPutProperty(String propertyName, Object expectedValue) throws Exception { - - this.verifyPutEvent(propertyName, this.getProperty(propertyName), expectedValue); - } - - /** - * Verifies the event of the put() action. - * - * @param propertyName - * name of property to be verified - * @param propertyValue - * value of property - * @param expectedValue - * @throws Exception - */ - protected void verifyPutEvent(String propertyName, Object propertyValue, Object expectedValue) { - - this.verifyEvent(propertyName); - this.verifyEventValue(propertyValue, expectedValue); - } - - /** - * Performs the following tests:<br> - * 1. verifies the new value of this.propertyChangedEvent<br> - * 2. verifies the given value<br> - */ - protected void verifyEventValue(Object value, Object expectedValue) { - // verify event value - assertEquals(expectedValue, this.propertyChangedEvent.getNewValue()); - assertEquals(expectedValue, value); - } - - /** - * Performs the following tests:<br> - * 1. verifies that an event is fired<br> - * 2. verifies that it is the correct event<br> - * 3. verifies that a single event is fired<br> - */ - protected void verifyEvent(String propertyName) { - // verify event received - assertNotNull("No Event Fired.", this.propertyChangedEvent); - // verify event for the expected property - assertEquals("Wrong Event.", this.propertyChangedEvent.getPropertyName(), propertyName); - // verify event occurrence - assertTrue("No Event Received.", this.propertyChangedEventCount > 0); - assertTrue("Multiple Event Received (" + this.propertyChangedEventCount + ")", - this.propertyChangedEventCount < 2); - } - - protected void verifyHasNoListeners(ListValueModel<?> listValueModel) throws Exception { - assertTrue(((AbstractModel) listValueModel).hasNoListChangeListeners(ListValueModel.LIST_VALUES)); - } - - protected void verifyHasListeners(ListValueModel<?> listValueModel) throws Exception { - assertTrue(((AbstractModel) listValueModel).hasAnyListChangeListeners(ListValueModel.LIST_VALUES)); - } - - protected void verifyHasListeners(PersistenceUnitProperties model, String propertyName) throws Exception { - assertTrue("Listener not added in setUp() - " + propertyName, ((AbstractModel) model).hasAnyPropertyChangeListeners(propertyName)); - } - - protected void verifyHasListeners(PropertyValueModel<?> pvm, String propertyName) throws Exception { - assertTrue(((AbstractModel) pvm).hasAnyPropertyChangeListeners(propertyName)); - } - - protected void verifyPuHasProperty(String puPropertyName, String msg) { - assertTrue(msg + " - " + puPropertyName, this.propertyExists(puPropertyName)); - } - - protected void verifyPuHasNotProperty(String puPropertyName, String msg) { - assertFalse(msg + " - " + puPropertyName, this.propertyExists(puPropertyName)); - } - -} |