diff options
author | Paul Fullbright | 2013-07-08 17:05:43 +0000 |
---|---|---|
committer | Paul Fullbright | 2013-07-08 17:06:42 +0000 |
commit | 959e886d890c18fa5682e2dac86c302230f61fa8 (patch) | |
tree | 8c3f8a0652c79313200237c5cd88b7b3dea1eaab /jpa/tests | |
parent | 46cc00bceda89ffe238d1ce7b169485259daf198 (diff) | |
download | webtools.dali-959e886d890c18fa5682e2dac86c302230f61fa8.tar.gz webtools.dali-959e886d890c18fa5682e2dac86c302230f61fa8.tar.xz webtools.dali-959e886d890c18fa5682e2dac86c302230f61fa8.zip |
Refactored ID type mapping hierarchy and primary key API (bug 313204)
Diffstat (limited to 'jpa/tests')
2 files changed, 31 insertions, 17 deletions
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMapping.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMapping.java index 378c131b2a..0c42592fc1 100644 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMapping.java +++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMapping.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2013 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. @@ -11,38 +11,50 @@ package org.eclipse.jpt.jpa.core.tests.extension.resource; import org.eclipse.jpt.common.core.resource.java.Annotation; import org.eclipse.jpt.common.utility.internal.iterable.EmptyIterable; +import org.eclipse.jpt.common.utility.internal.iterable.SingleElementIterable; +import org.eclipse.jpt.jpa.core.context.IdTypeMapping; import org.eclipse.jpt.jpa.core.context.Query; +import org.eclipse.jpt.jpa.core.context.TypeMapping; import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType; import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaTypeMapping; public class JavaTestTypeMapping - extends AbstractJavaTypeMapping<Annotation> -{ + extends AbstractJavaTypeMapping<Annotation> { + public static final String TEST_TYPE_MAPPING_KEY = "test"; //$NON-NLS-1$ public static final String TEST_TYPE_ANNOTATION_NAME = "test.Test"; //$NON-NLS-1$ - - + + public JavaTestTypeMapping(JavaPersistentType parent) { super(parent, null); } - + + public String getKey() { return TEST_TYPE_MAPPING_KEY; } - - public JavaPersistentType getIdClass() { - return null; - } - + public boolean isMapped() { return true; } - + public boolean tableNameIsInvalid(String tableName) { return false; } - + public Iterable<Query> getQueries() { return EmptyIterable.instance(); } + + public IdTypeMapping getSuperTypeMapping() { + return null; + } + + public Iterable<IdTypeMapping> getAncestors() { + return EmptyIterable.instance(); + } + + public Iterable<? extends TypeMapping> getInheritanceHierarchy() { + return new SingleElementIterable(this); + } } diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_3OrmMultitenancyTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_3OrmMultitenancyTests.java index 31d4e7ce85..dc029c667c 100644 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_3OrmMultitenancyTests.java +++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_3OrmMultitenancyTests.java @@ -16,6 +16,7 @@ import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.Sourc import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools; import org.eclipse.jpt.jpa.core.MappingKeys; import org.eclipse.jpt.jpa.core.context.InheritanceType; +import org.eclipse.jpt.jpa.core.context.orm.OrmEntity; import org.eclipse.jpt.jpa.core.context.orm.OrmPersistenceUnitMetadata; import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; import org.eclipse.jpt.jpa.core.resource.java.JPA; @@ -423,20 +424,21 @@ public class EclipseLink2_3OrmMultitenancyTests getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".AnnotationTestTypeChild"); - + OrmEntity ormEntity = (OrmEntity) ormPersistentType.getMapping(); + EclipseLinkOrmMultitenancy2_3 multitenancy = ((EclipseLinkOrmEntity) ormPersistentType.getMapping()).getMultitenancy(); assertTrue(multitenancy.isMultitenant()); //multitenant by default from root entity assertFalse(multitenancy.isSpecifiedMultitenant()); assertEquals(1, multitenancy.getTenantDiscriminatorColumnsSize()); assertEquals("ROOT_ENTITY_TENANT_ID", multitenancy.getTenantDiscriminatorColumns().iterator().next().getName()); - ormPersistentType.getMapping().getRootEntity().setSpecifiedInheritanceStrategy(InheritanceType.JOINED); + ormEntity.getRootEntity().setSpecifiedInheritanceStrategy(InheritanceType.JOINED); assertTrue(multitenancy.isMultitenant()); //multitenant by default from root entity assertFalse(multitenancy.isSpecifiedMultitenant()); assertEquals(1, multitenancy.getTenantDiscriminatorColumnsSize()); assertEquals("ROOT_ENTITY_TENANT_ID", multitenancy.getTenantDiscriminatorColumns().iterator().next().getName()); - ormPersistentType.getMapping().getRootEntity().setSpecifiedInheritanceStrategy(InheritanceType.TABLE_PER_CLASS); + ormEntity.getRootEntity().setSpecifiedInheritanceStrategy(InheritanceType.TABLE_PER_CLASS); assertFalse(multitenancy.isMultitenant()); //not multitenant since inheritance strategy is table per class assertFalse(multitenancy.isSpecifiedMultitenant()); assertEquals(0, multitenancy.getTenantDiscriminatorColumnsSize()); @@ -457,7 +459,7 @@ public class EclipseLink2_3OrmMultitenancyTests assertEquals(1, multitenancy.getTenantDiscriminatorColumnsSize()); assertEquals("CHILD_TENANT_ID", multitenancy.getTenantDiscriminatorColumns().iterator().next().getName()); - ormPersistentType.getMapping().getRootEntity().setSpecifiedInheritanceStrategy(InheritanceType.JOINED); + ormEntity.getRootEntity().setSpecifiedInheritanceStrategy(InheritanceType.JOINED); assertEquals(1, multitenancy.getTenantDiscriminatorColumnsSize()); assertEquals("CHILD_TENANT_ID", multitenancy.getTenantDiscriminatorColumns().iterator().next().getName()); } |