<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
	
	<extension
		point="org.eclipse.core.runtime.contentTypes">
		
		<content-type
			id="org.eclipse.jpt.eclipselink.core.content.orm"
			name="%ECLIPSELINK_ORM_XML_CONTENT"
			base-type="org.eclipse.jpt.core.content.baseJpaContent">
			<describer
				class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2">
				<parameter 
					name="element" 
					value="{http://www.eclipse.org/eclipselink/xsds/persistence/orm}entity-mappings"/>
			</describer>
		</content-type>
		
	</extension>
	
	
	<extension
		point="org.eclipse.jpt.core.jpaPlatforms">
		
		<jpaPlatform
			id="org.eclipse.eclipselink.platform"
            factoryClass="org.eclipse.jpt.eclipselink.core.internal.EclipseLinkJpaPlatformFactory"
			label="%ECLIPSELINK_PLATFORM">
		</jpaPlatform>
	    <jpaPlatform
	        id="eclipselink1_1"
	        factoryClass="org.eclipse.jpt.eclipselink.core.internal.EclipseLink1_1JpaPlatformFactory"
	        label="%ECLIPSELINK1_1_PLATFORM">
	    </jpaPlatform>
		
	</extension>
	
	
	<extension
		point="org.eclipse.jpt.core.resourceModelProviders">
		
		<modelProvider
			fileContentType="org.eclipse.jpt.eclipselink.core.content.orm"
			factoryClass="org.eclipse.jpt.eclipselink.core.internal.resource.orm.EclipseLinkOrmXmlResourceProviderFactory"/>
		
	</extension>
	
	
	<!--
	******************************************
	* Library Provider Framework Integration *
	******************************************
	-->
	
	<extension 
		point="org.eclipse.jst.common.project.facet.core.libraryProviders">
		
		<provider id="jpa-eclipselink-user-library-provider" extends="wtp-user-library-provider">
			<param name="validator" value="org.eclipse.jst.common.project.facet.core.libprov.user.KeyClassesValidator"/>
			<param name="validator.param.0" value="javax.persistence.Entity"/>
			<param name="validator.param.1" value="org.eclipse.persistence.annotations.Cache"/>
			<enablement>
				<and>
					<with variable="requestingProjectFacet">
						<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
					</with>
					<with variable="context">
						<test property="org.eclipse.jpt.core.jpaPlatform" value="org.eclipse.eclipselink.platform"/>
					</with>
				</and>
			</enablement>
		</provider>
	
	</extension>
	
	
	<!-- ***** WTP extensions ***** -->

	<extension
		point="org.eclipse.wst.common.modulecore.resourceFactories">
		
		<resourceFactory
			class="org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmXmlResourceFactory"
			isDefault="true">
			<contentTypeBinding
				contentTypeId="org.eclipse.jpt.eclipselink.core.content.orm">
			</contentTypeBinding>
		</resourceFactory>
	
	</extension>
	
	
	<extension point="org.eclipse.wst.xml.core.catalogContributions">
		
		<catalogContribution id="default">
			
			<uri
				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_0.xsd"
				uri="schemas/eclipselink_orm_1_0.xsd" />
			
			<public
				publicId="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
				uri="schemas/eclipselink_orm_1_0.xsd"/>
			
		</catalogContribution>
		
    </extension>
	
</plugin>
