blob: d32ce41f6bf07caa6593116ad60c35cd421e4db1 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008, 2009 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.core.tests.extension.resource;
import org.eclipse.jpt.core.JpaPlatformProvider;
import org.eclipse.jpt.core.JpaResourceModelProvider;
import org.eclipse.jpt.core.context.MappingFileDefinition;
import org.eclipse.jpt.core.context.java.JavaAttributeMappingProvider;
import org.eclipse.jpt.core.context.java.JavaTypeMappingProvider;
import org.eclipse.jpt.core.internal.JarResourceModelProvider;
import org.eclipse.jpt.core.internal.JavaResourceModelProvider;
import org.eclipse.jpt.core.internal.OrmResourceModelProvider;
import org.eclipse.jpt.core.internal.PersistenceResourceModelProvider;
import org.eclipse.jpt.core.internal.context.java.JavaBasicMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaEmbeddableProvider;
import org.eclipse.jpt.core.internal.context.java.JavaEmbeddedIdMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaEmbeddedMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaEntityProvider;
import org.eclipse.jpt.core.internal.context.java.JavaIdMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaManyToManyMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaManyToOneMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaMappedSuperclassProvider;
import org.eclipse.jpt.core.internal.context.java.JavaOneToManyMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaOneToOneMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaTransientMappingProvider;
import org.eclipse.jpt.core.internal.context.java.JavaVersionMappingProvider;
import org.eclipse.jpt.core.internal.context.orm.GenericOrmMappingFileDefinition;
import org.eclipse.jpt.core.internal.platform.AbstractJpaPlatformProvider;
public class TestJpaPlatformProvider extends AbstractJpaPlatformProvider
{
public static final String ID = "core.testJpaPlatform"; //$NON-NLS-1$
// singleton
private static final JpaPlatformProvider INSTANCE =
new TestJpaPlatformProvider();
/**
* Return the singleton.
*/
public static JpaPlatformProvider instance() {
return INSTANCE;
}
/**
* Enforce singleton usage
*/
private TestJpaPlatformProvider() {
super();
}
// ********** resource models **********
@Override
protected JpaResourceModelProvider[] buildResourceModelProviders() {
// order should not be important here
return new JpaResourceModelProvider[] {
JavaResourceModelProvider.instance(),
JarResourceModelProvider.instance(),
PersistenceResourceModelProvider.instance(),
OrmResourceModelProvider.instance()};
}
// ********** Java type mappings **********
@Override
protected JavaTypeMappingProvider[] buildNonNullJavaTypeMappingProviders() {
// order determined by analyzing order that reference implementation (toplink) uses
return new JavaTypeMappingProvider[] {
JavaEntityProvider.instance(),
JavaEmbeddableProvider.instance(),
JavaMappedSuperclassProvider.instance(),
JavaTestTypeMappingProvider.instance()}; // added
}
// ********** Java attribute mappings **********
@Override
protected JavaAttributeMappingProvider[] buildNonNullDefaultJavaAttributeMappingProviders() {
// order determined by analyzing order that reference implementation (toplink) uses
return new JavaAttributeMappingProvider[] {
JavaEmbeddedMappingProvider.instance(),
JavaBasicMappingProvider.instance()};
}
@Override
protected JavaAttributeMappingProvider[] buildNonNullSpecifiedJavaAttributeMappingProviders() {
// order determined by analyzing order that reference implementation (toplink) uses
return new JavaAttributeMappingProvider[] {
JavaTransientMappingProvider.instance(),
JavaIdMappingProvider.instance(),
JavaVersionMappingProvider.instance(),
JavaBasicMappingProvider.instance(),
JavaEmbeddedMappingProvider.instance(),
JavaEmbeddedIdMappingProvider.instance(),
JavaManyToManyMappingProvider.instance(),
JavaManyToOneMappingProvider.instance(),
JavaOneToManyMappingProvider.instance(),
JavaOneToOneMappingProvider.instance(),
JavaTestAttributeMappingProvider.instance()}; // added
}
// ********** Mapping Files **********
@Override
protected MappingFileDefinition[] buildMappingFileDefinitions() {
return new MappingFileDefinition[] {
GenericOrmMappingFileDefinition.instance()};
}
}