blob: 9792369f93f7f8374b851742f5cba94cc614ccbe [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 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.eclipselink.core.tests.internal.context.orm;
import org.eclipse.jpt.jpa.core.context.AccessType;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessType;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkEntityMappings;
import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkPersistenceUnitDefaults;
import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory;
import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLink2_1ContextModelTestCase;
@SuppressWarnings("nls")
public class EclipseLink2_1EntityMappingsTests
extends EclipseLink2_1ContextModelTestCase
{
public EclipseLink2_1EntityMappingsTests(String name) {
super(name);
}
public void testUpdateSpecifiedAccess() throws Exception {
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
//set access in the resource model, verify context model updated
getXmlEntityMappings().setAccess(org.eclipse.jpt.jpa.core.resource.orm.AccessType.PROPERTY);
assertEquals(AccessType.PROPERTY, getEntityMappings().getSpecifiedAccess());
assertEquals(org.eclipse.jpt.jpa.core.resource.orm.AccessType.PROPERTY, getXmlEntityMappings().getAccess());
//set access to VIRTUAL in the resource model, verify context model updated
getXmlEntityMappings().setAccess(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkAccessType.VIRTUAL);
assertEquals(EclipseLinkAccessType.VIRTUAL, getEntityMappings().getSpecifiedAccess());
assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkAccessType.VIRTUAL, getXmlEntityMappings().getAccess());
//set access to null in the resource model
getXmlEntityMappings().setAccess(null);
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
}
public void testModifySpecifiedAccess() throws Exception {
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
//set access in the context model, verify resource model modified
getEntityMappings().setSpecifiedAccess(AccessType.PROPERTY);
assertEquals(AccessType.PROPERTY, getEntityMappings().getSpecifiedAccess());
assertEquals(org.eclipse.jpt.jpa.core.resource.orm.AccessType.PROPERTY, getXmlEntityMappings().getAccess());
//set access in the context model, verify resource model modified
getEntityMappings().setSpecifiedAccess(EclipseLinkAccessType.VIRTUAL);
assertEquals(EclipseLinkAccessType.VIRTUAL, getEntityMappings().getSpecifiedAccess());
assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkAccessType.VIRTUAL, getXmlEntityMappings().getAccess());
//set access to null in the context model
getEntityMappings().setSpecifiedAccess(null);
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
}
public void testUpdateDefaultAccess() throws Exception {
assertNull(getEntityMappings().getDefaultAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata());
org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlPersistenceUnitDefaults persistenceUnitDefaults = EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitDefaults();
getXmlEntityMappings().getPersistenceUnitMetadata().setPersistenceUnitDefaults(persistenceUnitDefaults);
persistenceUnitDefaults.setAccess(org.eclipse.jpt.jpa.core.resource.orm.AccessType.PROPERTY);
assertEquals(AccessType.PROPERTY, getEntityMappings().getDefaultAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
persistenceUnitDefaults.setAccess(org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD);
assertEquals(AccessType.FIELD, getEntityMappings().getDefaultAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
persistenceUnitDefaults.setAccess(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkAccessType.VIRTUAL);
assertEquals(EclipseLinkAccessType.VIRTUAL, getEntityMappings().getDefaultAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
persistenceUnitDefaults.setAccess(null);
assertNull(getEntityMappings().getDefaultAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
}
public void testUpdateAccess() throws Exception {
assertNull(getEntityMappings().getAccess());
assertNull(getEntityMappings().getDefaultAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
getXmlEntityMappings().setAccess(org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD);
assertNull(getEntityMappings().getDefaultAccess());
assertEquals(AccessType.FIELD, getEntityMappings().getAccess());
assertEquals(AccessType.FIELD, getEntityMappings().getSpecifiedAccess());
assertEquals(org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD, getXmlEntityMappings().getAccess());
getXmlEntityMappings().setAccess(null);
assertNull(getEntityMappings().getAccess());
assertNull(getEntityMappings().getDefaultAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
getEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setSpecifiedAccess(AccessType.FIELD);
assertEquals(AccessType.FIELD, getEntityMappings().getDefaultAccess());
assertEquals(AccessType.FIELD, getEntityMappings().getAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
getEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setSpecifiedAccess(EclipseLinkAccessType.VIRTUAL);
assertEquals(EclipseLinkAccessType.VIRTUAL, getEntityMappings().getDefaultAccess());
assertEquals(EclipseLinkAccessType.VIRTUAL, getEntityMappings().getAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
getEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setSpecifiedAccess(null);
assertNull(getEntityMappings().getDefaultAccess());
assertNull(getEntityMappings().getAccess());
assertNull(getEntityMappings().getSpecifiedAccess());
assertNull(getXmlEntityMappings().getAccess());
}
public void testUpdateSpecifiedGetMethod() throws Exception {
EclipseLinkEntityMappings entityMappings = getEntityMappings();
assertNull(entityMappings.getSpecifiedGetMethod());
assertNull(getXmlEntityMappings().getAccessMethods());
//set getMethod in the resource model, verify context model updated
getXmlEntityMappings().setAccessMethods(EclipseLinkOrmFactory.eINSTANCE.createXmlAccessMethods());
getXmlEntityMappings().getAccessMethods().setGetMethod("getFoo");
assertEquals("getFoo", entityMappings.getSpecifiedGetMethod());
assertEquals("getFoo", getXmlEntityMappings().getAccessMethods().getGetMethod());
//set getMethod to null in the resource model
getXmlEntityMappings().getAccessMethods().setGetMethod(null);
assertNull(entityMappings.getSpecifiedGetMethod());
assertNull(getXmlEntityMappings().getAccessMethods().getGetMethod());
}
public void testModifySpecifiedGetMethod() throws Exception {
EclipseLinkEntityMappings entityMappings = getEntityMappings();
assertNull(entityMappings.getSpecifiedGetMethod());
assertNull(getXmlEntityMappings().getAccessMethods());
//set getMethod in the context model, verify resource model modified
entityMappings.setSpecifiedGetMethod("getMe");
assertEquals("getMe", entityMappings.getSpecifiedGetMethod());
assertEquals("getMe", getXmlEntityMappings().getAccessMethods().getGetMethod());
//set getMethod to null in the context model
entityMappings.setSpecifiedGetMethod(null);
assertNull(entityMappings.getSpecifiedGetMethod());
assertNull(getXmlEntityMappings().getAccessMethods());
}
public void testModifySpecifiedGetMethod2() throws Exception {
EclipseLinkEntityMappings entityMappings = getEntityMappings();
assertNull(entityMappings.getSpecifiedGetMethod());
assertNull(getXmlEntityMappings().getAccessMethods());
//set getMethod in the context model, verify resource model modified
entityMappings.setSpecifiedGetMethod("getMe");
assertEquals("getMe", entityMappings.getGetMethod());
assertEquals("getMe", getXmlEntityMappings().getAccessMethods().getGetMethod());
//set another element on the access-methods element so it doesn't get removed
getXmlEntityMappings().getAccessMethods().setSetMethod("setMe");
//set getMethod to null in the context model
entityMappings.setSpecifiedGetMethod(null);
assertNull(entityMappings.getGetMethod());
assertNull(getXmlEntityMappings().getAccessMethods().getGetMethod());
}
public void testGetDefaultGetMethod() throws Exception {
EclipseLinkEntityMappings entityMappings = getEntityMappings();
assertNull(entityMappings.getDefaultGetMethod());
assertNull(entityMappings.getGetMethod());
getPersistenceUnitDefaults().setSpecifiedGetMethod("getFoo");
assertEquals("getFoo", entityMappings.getDefaultGetMethod());
assertEquals("getFoo", entityMappings.getGetMethod());
entityMappings.setSpecifiedGetMethod("getBar");
assertEquals("getFoo", entityMappings.getDefaultGetMethod());
assertEquals("getBar", entityMappings.getGetMethod());
getPersistenceUnitDefaults().setSpecifiedGetMethod(null);
assertNull(entityMappings.getDefaultGetMethod());
assertEquals("getBar", entityMappings.getGetMethod());
}
public void testGetDefaultSetMethod() throws Exception {
EclipseLinkEntityMappings entityMappings = getEntityMappings();
assertNull(entityMappings.getDefaultSetMethod());
assertNull(entityMappings.getSetMethod());
getPersistenceUnitDefaults().setSpecifiedSetMethod("setFoo");
assertEquals("setFoo", entityMappings.getDefaultSetMethod());
assertEquals("setFoo", entityMappings.getSetMethod());
entityMappings.setSpecifiedSetMethod("setBar");
assertEquals("setFoo", entityMappings.getDefaultSetMethod());
assertEquals("setBar", entityMappings.getSetMethod());
getPersistenceUnitDefaults().setSpecifiedSetMethod(null);
assertNull(entityMappings.getDefaultSetMethod());
assertEquals("setBar", entityMappings.getSetMethod());
}
public void testUpdateSpecifiedSetMethod() throws Exception {
EclipseLinkEntityMappings entityMappings = getEntityMappings();
assertNull(entityMappings.getSpecifiedSetMethod());
assertNull(getXmlEntityMappings().getAccessMethods());
//set setMethod in the resource model, verify context model updated
getXmlEntityMappings().setAccessMethods(EclipseLinkOrmFactory.eINSTANCE.createXmlAccessMethods());
getXmlEntityMappings().getAccessMethods().setSetMethod("setFoo");
assertEquals("setFoo", entityMappings.getSetMethod());
assertEquals("setFoo", getXmlEntityMappings().getAccessMethods().getSetMethod());
//set setMethod to null in the resource model
getXmlEntityMappings().getAccessMethods().setSetMethod(null);
assertNull(entityMappings.getSetMethod());
assertNull(getXmlEntityMappings().getAccessMethods().getSetMethod());
}
public void testModifySpecifiedSetMethod() throws Exception {
EclipseLinkEntityMappings entityMappings = getEntityMappings();
assertNull(entityMappings.getSpecifiedSetMethod());
assertNull(getXmlEntityMappings().getAccessMethods());
//set setMethod in the context model, verify resource model modified
entityMappings.setSpecifiedSetMethod("setMe");
assertEquals("setMe", entityMappings.getSetMethod());
assertEquals("setMe", getXmlEntityMappings().getAccessMethods().getSetMethod());
//set setMethod to null in the context model
entityMappings.setSpecifiedSetMethod(null);
assertNull(entityMappings.getSetMethod());
assertNull(getXmlEntityMappings().getPersistenceUnitMetadata());
}
public void testModifySpecifiedSetMethod2() throws Exception {
EclipseLinkEntityMappings entityMappings = getEntityMappings();
assertNull(entityMappings.getSpecifiedSetMethod());
assertNull(getXmlEntityMappings().getAccessMethods());
//set setMethod in the context model, verify resource model modified
entityMappings.setSpecifiedSetMethod("setMe");
assertEquals("setMe", entityMappings.getSetMethod());
assertEquals("setMe", getXmlEntityMappings().getAccessMethods().getSetMethod());
//set another element on the access-methods element so it doesn't get removed
getXmlEntityMappings().getAccessMethods().setGetMethod("getMe");
//set getMethod to null in the context model
entityMappings.setSpecifiedSetMethod(null);
assertNull(entityMappings.getSetMethod());
assertNull(getXmlEntityMappings().getAccessMethods().getSetMethod());
}
protected EclipseLinkPersistenceUnitDefaults getPersistenceUnitDefaults() {
return (EclipseLinkPersistenceUnitDefaults) getEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults();
}
}