<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
	
	<extension
		point="org.eclipse.core.contenttype.contentTypes">
		
		<content-type
			id="org.eclipse.jpt.eclipselink.core.content.orm"
			name="%ECLIPSELINK1_0_x_ORM_XML_CONTENT"
			base-type="org.eclipse.jpt.core.content.mappingFile">
			<describer
				class="org.eclipse.jpt.core.internal.resource.xml.XMLRootElementVersionContentDescriber">
				<parameter 
					name="element" 
					value="{http://www.eclipse.org/eclipselink/xsds/persistence/orm}entity-mappings:1.0"/>
			</describer>
		</content-type>
		
		<content-type
			id="org.eclipse.jpt.eclipselink1_1.core.content.orm"
			name="%ECLIPSELINK1_1_x_ORM_XML_CONTENT"
			base-type="org.eclipse.jpt.eclipselink.core.content.orm">
			<describer
				class="org.eclipse.jpt.core.internal.resource.xml.XMLRootElementVersionContentDescriber">
				<parameter
					name="element"
					value="{http://www.eclipse.org/eclipselink/xsds/persistence/orm}entity-mappings:1.1">
				</parameter>
			</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="%ECLIPSELINK1_0_x_PLATFORM">
		</jpaPlatform>
	    
	    <jpaPlatform
	        id="eclipselink1_1"
	        factoryClass="org.eclipse.jpt.eclipselink.core.internal.v1_1.EclipseLink1_1JpaPlatformFactory"
	        label="%ECLIPSELINK1_1_x_PLATFORM">
	    </jpaPlatform>

	    <jpaPlatform
	        id="eclipselink2_0"
	        factoryClass="org.eclipse.jpt.eclipselink.core.internal.v2_0.EclipseLink2_0JpaPlatformFactory"
	        label="%ECLIPSELINK2_0_x_PLATFORM">
	    </jpaPlatform>

	</extension>


	
	<!--
	******************************************
	* Library Provider Framework Integration *
	******************************************
	-->
	
	<extension point="org.eclipse.jst.common.project.facet.core.downloadableLibraries">
		
		<import-definitions 
			url="http://www.eclipse.org/webtools/dali/dev/eclipselink/eclipselink-downloadable-libs.xml">
			<enablement>
				<with variable="requestingProjectFacet">
					<test 
						property="org.eclipse.wst.common.project.facet.core.projectFacet" 
						value="jpt.jpa" 
						forcePluginActivation="true"/>
				</with>
			</enablement>
		</import-definitions>
		
	</extension>
	
	
	<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="jpaPlatform">
						<equals value="org.eclipse.eclipselink.platform"/>
					</with>
				</and>
			</enablement>
		</provider>
		
		<!-- eclipselink 1.1 library provider is for now a simple copy of eclipselink library provider -->
		<provider id="jpa-eclipselink1_1-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="jpaPlatform">
						<equals value="eclipselink1_1"/>
					</with>
				</and>
			</enablement>
		</provider>
		
		<!-- eclipselink 2.0 library provider is for now a simple copy of eclipselink library provider -->
		<provider id="jpa-eclipselink2_0-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="jpaPlatform">
						<equals value="eclipselink2_0"/>
					</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>
	    
	    <resourceFactory
	        class="org.eclipse.jpt.eclipselink.core.v1_1.resource.orm.EclipseLink1_1OrmXmlResourceFactory"
	        isDefault="true">
	       	<contentTypeBinding
	             contentTypeId="org.eclipse.jpt.eclipselink1_1.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"/>
				
			<uri
				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_1.xsd"
				uri="schemas/eclipselink_orm_1_1.xsd" />
			
			<public
				publicId="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
				uri="schemas/eclipselink_orm_1_1.xsd"/>
			
		</catalogContribution>
		
    </extension>
	
</plugin>
