<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<plugin>

	<!-- ***** extension points ***** -->

	<extension-point
		id="jpaPlatform"
		name="%JPA_PLATFORM"
		schema="schema/jpaPlatform.exsd"
	/>
	
	
	<!-- ***** Eclipse core extensions ***** -->
	
	<extension 
		point="org.eclipse.core.expressions.propertyTesters">
		
		<propertyTester
			id="org.eclipse.jpt.core.propertyTester.persistentAttribute"
			type="org.eclipse.jpt.core.context.PersistentAttribute"
			namespace="org.eclipse.jpt.core"
			properties="isMapped, isVirtual"
			class="org.eclipse.jpt.core.internal.context.PersistentAttributePropertyTester">
		</propertyTester>
		
	</extension>
	
	
	<extension
		point="org.eclipse.core.resources.markers"
		id="jpaProblemMarker"
		name="%JPA_PROBLEM_MARKER">

		<persistent value="true"/>
		
		<!-- Can't use text marker until we have specific models for each input type (XML, java)
		<super type="org.eclipse.core.resources.textmarker"/>
		-->
		
		<super type="org.eclipse.wst.validation.problemmarker"/>

	</extension>
	
	
	<extension
		point="org.eclipse.core.runtime.adapters">
		
		<factory
			class="org.eclipse.jpt.core.internal.JpaProjectAdapterFactory"
			adaptableType="org.eclipse.core.resources.IProject">
			<adapter type="org.eclipse.jpt.core.JpaProject"/>
		</factory>
		
		<factory
			class="org.eclipse.jpt.core.internal.JpaProjectAdapterFactory"
			adaptableType="org.eclipse.jdt.core.IJavaProject">
			<adapter type="org.eclipse.jpt.core.JpaProject"/>
		</factory>
		
	</extension>
	
	
	<extension
		point="org.eclipse.core.runtime.contentTypes">
		
		<content-type
			id="org.eclipse.jpt.core.content.orm"
			name="%ORM_XML_CONTENT"
			base-type="org.eclipse.core.runtime.xml"
			file-names="orm.xml">
			<describer
				class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
				<parameter name="element" value="entity-mappings"/>
			</describer>
		</content-type>
  		
  		<content-type
			id="org.eclipse.jpt.core.content.persistence"
			name="%PERSISTENCE_XML_CONTENT"
			base-type="org.eclipse.core.runtime.xml"
			file-names="persistence.xml">
			<describer
				class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
				<parameter name="element" value="persistence"/>
			</describer>
		</content-type>
 	
	</extension>
	
	
	<extension
		point="org.eclipse.core.runtime.preferences">
		
		<initializer 
			class="org.eclipse.jpt.core.internal.prefs.JpaPreferenceInitializer"/>
		
	</extension>
	
	
	<!-- ***** JPT extensions (eat our own dogfood) ***** -->

	<extension
		point="org.eclipse.jpt.core.jpaPlatform">
		
		<jpaPlatform
			id="generic"
			label="%GENERIC_PLATFORM_LABEL"
			class="org.eclipse.jpt.core.internal.platform.GenericJpaPlatform"
			default="false"/>
		
	</extension>
	
	
	<!-- ***** WTP extensions ***** -->

	<extension
		point="org.eclipse.wst.common.modulecore.resourceFactories">
		
		<resourceFactory
			class="org.eclipse.jpt.core.resource.persistence.PersistenceResourceFactory"
			isDefault="true"
			shortSegment="persistence.xml">
			<contentTypeBinding
				contentTypeId="org.eclipse.jpt.core.content.persistence">
			</contentTypeBinding>
		</resourceFactory>
		
		<resourceFactory
			class="org.eclipse.jpt.core.resource.orm.OrmResourceFactory"
			isDefault="true"
			shortSegment="orm.xml">
			<contentTypeBinding
				contentTypeId="org.eclipse.jpt.core.content.orm">
			</contentTypeBinding>
		</resourceFactory>
		
	</extension>
	
	
	<extension
		point="org.eclipse.wst.common.project.facet.core.facets">
		
		<project-facet id="jpt.jpa">
			<label>%JPA_FACET_LABEL</label>
			<description>%JPA_FACET_DESCRIPTION</description>
		</project-facet>
		
		<project-facet-version facet="jpt.jpa" version="1.0">
			<constraint>
				<and>
					<requires facet="jst.java" version="[5.0"/>
					<or>
						<requires facet="jst.utility" version="[1.0"/>
						<requires facet="jst.appclient" version="[1.2"/>
						<requires facet="jst.ejb" version="[1.1"/>
						<requires facet="jst.connector" version="[1.0"/>
						<requires facet="jst.web" version="[2.2"/>
					</or>
				</and>
			</constraint>
		</project-facet-version>
		
		<template id="jpt.jpa.template">
			<label>%JPA_TEMPLATE_LABEL</label>
			<fixed facet="jst.java"/>
			<fixed facet="jst.utility"/>
			<fixed facet="jpt.jpa"/>
			<preset id="jpt.jpa.preset"/>
		</template>
		
		<action facet="jpt.jpa" type="install" id="jpt.jpa.install">
			<config-factory class="org.eclipse.jpt.core.internal.facet.JpaFacetDataModelProvider"/>
			<delegate class="org.eclipse.jpt.core.internal.facet.JpaFacetInstallDelegate"/>
		</action>
		
		<!-- 
			The uninstall action is only used to enable facet uninstallation
			through the facet UI.  The delegate currently has no functionality. 
		-->
		<action facet="jpt.jpa" type="uninstall" id="jpt.jpa.uninstall">
			<delegate class="org.eclipse.jpt.core.internal.facet.JpaFacetUninstallDelegate"/>
		</action>
		
		<!-- 
			There is no version change delegate, because as of now, there is 
		    only a single version of JPA 
		-->
		
	</extension>
	

	<extension
		point="org.eclipse.wst.common.project.facet.core.presets">
		
		<static-preset id="jpt.jpa.preset">
			<label>%JPA_PRESET_LABEL</label>
			<facet id="jst.java" version="5.0"/>
			<facet id="jst.utility" version="1.0"/>
			<facet id="jpt.jpa" version="1.0"/>
		</static-preset>
		
	</extension>
	
	
	<extension 
		point="org.eclipse.wst.common.project.facet.core.runtimes">
		
		<supported>
			<runtime-component any="true"/>
			<facet id="jpt.jpa"/>
		</supported>
		
	</extension>
		
	
	<extension
		point="org.eclipse.wst.validation.validator"
    	id="jpaValidator"
		name="%JPA_VALIDATOR">
		
		<validator>
			<enablement>
				<and>
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa"/>
				</and>
			</enablement>
			
			<filter
				objectClass="org.eclipse.core.resources.IFile"
				nameFilter="orm.xml"/>
			<filter
				objectClass="org.eclipse.core.resources.IFile"
				nameFilter="persistence.xml"/>
			<filter
				objectClass="org.eclipse.core.resources.IFile"
				nameFilter="*.java"/>
         	
         	<run class="org.eclipse.jpt.core.internal.validation.JpaValidator"/>
			<helper class="org.eclipse.jpt.core.internal.validation.JpaHelper"/>
			
			<markerId markerIdValue="jpaProblemMarker"/>
			
         	<!-- don't know what this does
			<dependentValidator depValValue="true"/>
			-->
			
		</validator>
		
	</extension>
	
	
</plugin>
