Skip to main content
summaryrefslogblamecommitdiffstats
blob: 26ccdd0e8398ce1bc0b2bd7bf2cb09ef0694bca8 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                      

                         






                                                                               
    

        



                                             
                                 
                                    
                                                 
          

        
                                                    
        
                  
                                                                  





                                                                                                 
                                                                                                                      

                               
                                                     


                                                                     
                                                                               
                                                     
                                  
                                                                                                         

                                                       
                                                                                                     


                                    






                                                                                
                                             


                                                             
                                                                             
                                  
                                                                                                         

                                                       
                                                                                                             


                                    













                                                                                                  






                                                                                    
                                                        
                                                                                                         





                                                                                 
                                                                                 





                                                                            















                                                                                                         


                    
                  


                                                          
                                                                                   
                                                                            
                                                                         


                          
                                                                                   
                                                                          
                                                                         

                          
                        
                                                                                    



                                                                             





                                                                                                       



                    





                                                                                              

        


                                                                 
                                                          


                                    
                                                           
                                                                                              
                                             




                                        
                                                   
                                                                                              
                                     

                                



                    








                                                                                   












                                                                                                                              

                                                                                       






                                                                                                                                                              
                          
                                                                  
                                                            
                                                                                                                   





                                                                                                                                                                      
                                                                     


















                                                                                                                                                                      



                                               
                

                    
        







                                                                                                      
        

                                                                                      
                                                                                                                         






                                                                                                             





                                                                                                                                                              
                
                                                                                                                         

                                                                                         



















                                                                                                                                                              





                                                                                                                                                              














                                                                                                                                                              















                                                                                                                                                              
                    

        

                                           
                  


                                                                            
                                                                                                       
                                         





                                                                                         
                                                                                       
                                         







                                                                                 















                                                                                                        
                  










                                                                                   
                                                                       



                                        



                                                                                   
                                                                       



                                        

                                                          
                                                

                                                    
                                                         

                           
                                                                            
                                                                                                                      


                                                                                                       



                                                                                            



                                                                                                         
                     
                                            
                   



                                                                                                                            
                

                    

                  









                                                                                          
                                                                          
                

                                                            

                                                               






                                                               
                                                           
                                












                                                                           

                  
                                                              
                                 

                                      









                                                                                           
                                                                                            


                                                                                                                          



                            
         
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
  Copyright (c) 2007, 2010 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
 -->

<plugin>

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

	<extension-point
		id="jpaPlatforms"
		name="%JPA_PLATFORM"
		schema="schema/jpaPlatforms.exsd"
	/>
	
	
	<!-- ***** Eclipse core extensions ***** -->
	
	<extension
		point="org.eclipse.core.contenttype.contentTypes">
		
		<!-- "abstract" content type to be extended by all JPA XML file content types -->
		<content-type
			id="org.eclipse.jpt.core.content.baseJpaContent"
			name="%BASE_JPA_CONTENT"
			base-type="org.eclipse.core.runtime.xml"
			describer="org.eclipse.jpt.core.internal.resource.contenttypes.IndeterminateContentDescriber">
		</content-type>
		
		<!-- persistence.xml content type -->
  		<content-type
			id="org.eclipse.jpt.core.content.persistence"
			name="%PERSISTENCE_XML_CONTENT"
			base-type="org.eclipse.jpt.core.content.baseJpaContent"
			file-names="persistence.xml">
			<describer
				class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2">
				<parameter 
					name="element" 
					value="{http://java.sun.com/xml/ns/persistence}persistence"/>
			</describer>
		</content-type>
		
		<!-- "abstract" mapping file content type -->
		<content-type
			id="org.eclipse.jpt.core.content.mappingFile"
			name="%MAPPING_FILE_CONTENT"
			base-type="org.eclipse.jpt.core.content.baseJpaContent">
		</content-type>
		
		<!-- orm.xml content type -->
		<content-type
			id="org.eclipse.jpt.core.content.orm"
			name="%ORM_XML_CONTENT"
			base-type="org.eclipse.jpt.core.content.mappingFile">
			<describer
				class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2">
				<parameter 
					name="element" 
					value="{http://java.sun.com/xml/ns/persistence/orm}entity-mappings"/>
			</describer>
		</content-type>
		
		<!-- JAR content type -->
		<content-type
			id="org.eclipse.jpt.core.content.jar"
			name="%JAR_CONTENT"
			file-extensions="jar, zip">
			<describer
				class="org.eclipse.core.runtime.content.BinarySignatureDescriber">
				<parameter name="signature" value="50 4B 03 04"/>
			</describer>
		</content-type>
		
	</extension>
	
	
	<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
			id="org.eclipse.jpt.core.propertyTester.platformResource"
			type="org.eclipse.core.resources.IResource"
			namespace="org.eclipse.jpt.core"
			properties="jpaPlatform"
			class="org.eclipse.jpt.core.internal.JpaPlatformTester"/>
		
		<propertyTester
			id="org.eclipse.jpt.core.propertyTester.javaElement"
			type="org.eclipse.jdt.core.IJavaElement"
			namespace="org.eclipse.jpt.core"
			properties="jpaPlatform"
			class="org.eclipse.jpt.core.internal.JpaPlatformTester"/>
		
		<propertyTester
			id="org.eclipse.jpt.core.propertyTester.xmlResource"
			type="org.eclipse.jpt.core.resource.xml.JpaXmlResource"
			namespace="org.eclipse.jpt.core"
			properties="isLatestSupportedVersion"
			class="org.eclipse.jpt.core.internal.resource.xml.JpaXmlResourcePropertyTester"/>
		
		<propertyTester
			id="org.eclipse.jpt.core.propertyTester.xmlFile"
			type="org.eclipse.jpt.core.context.XmlFile"
			namespace="org.eclipse.jpt.core"
			properties="isLatestSupportedVersion"
			class="org.eclipse.jpt.core.internal.resource.xml.JpaXmlResourcePropertyTester"/>
		
	</extension>
	
	
	<extension
		point="org.eclipse.core.runtime.adapters">
		
		<factory
			class="org.eclipse.jpt.core.internal.ProjectAdapterFactory"
			adaptableType="org.eclipse.core.resources.IProject">
			<adapter type="org.eclipse.jpt.core.JpaProject"/>
		</factory>
		
		<factory
			class="org.eclipse.jpt.core.internal.ProjectAdapterFactory"
			adaptableType="org.eclipse.jdt.core.IJavaProject">
			<adapter type="org.eclipse.jpt.core.JpaProject"/>
		</factory>
		
		<factory
			class="org.eclipse.jpt.core.internal.ResourceAdapterFactory"
			adaptableType="org.eclipse.core.resources.IResource">
			<adapter type="org.eclipse.jpt.core.IResourcePart"/>
		</factory>
		
		<factory
			class="org.eclipse.jpt.core.internal.resource.xml.JpaXmlResourceAdapterFactory"
			adaptableType="org.eclipse.core.resources.IFile">
			<adapter type="org.eclipse.jpt.core.resource.xml.JpaXmlResource"/>
		</factory>
		
	</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.jpaPlatforms">
		
		<jpaPlatform
			id="generic"
			label="%GENERIC_1_0_PLATFORM_LABEL"
			factoryClass="org.eclipse.jpt.core.internal.GenericJpaPlatformFactory"
			jpaFacetVersion="1.0"
			default="false">
		</jpaPlatform>
			
	  <jpaPlatform
	        id="generic2_0"
	        label="%GENERIC_2_0_PLATFORM_LABEL"
	        factoryClass="org.eclipse.jpt.core.internal.jpa2.Generic2_0JpaPlatformFactory"
	        jpaFacetVersion="2.0"
	        default="false">
	  </jpaPlatform>
		
	</extension>
	
	
	<!--
	******************************************
	* Library Provider Framework Integration *
	******************************************
	-->
	
	<extension 
		point="org.eclipse.jst.common.project.facet.core.libraryProviders">
		
		<provider 
			id="jpa-legacy-library-provider" 
			extends="legacy-library-provider"
			hidden="true">
			<action type="UNINSTALL">
				<operation
					class="org.eclipse.jpt.core.internal.facet.LegacyJpaLibraryProviderInstallOperation"/>
			</action>
		</provider>		
		
		<provider 
			id="jpa-no-op-library-provider" 
			extends="no-op-library-provider">
			<param name="message" value="%NO_OP_LIBRARY_PROVIDER_MESSAGE"/>
			<param name="warning" value="%NO_OP_LIBRARY_PROVIDER_WARNING"/>
			<enablement>
				<with variable="requestingProjectFacet">
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
				</with>
			</enablement>
		</provider>
		
		<provider 
			id="jpa-generic1_0-user-library-provider" 
			extends="wtp-user-library-provider">
			<param name="validator" value="org.eclipse.jpt.core.internal.utility.KeyClassesValidator"/>
			<param name="validator.param.0" value="javax.persistence.Entity"/>
			<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="generic"/>
					</with>
				</and>
			</enablement>
		</provider>
		
		<provider 
			id="jpa-generic2_0-user-library-provider" 
			extends="wtp-user-library-provider">
			<param name="validator" value="org.eclipse.jpt.core.internal.utility.KeyClassesValidator"/>
			<param name="validator.param.0" value="javax.persistence.Entity"/>
			<param name="validator.param.1" value="javax.persistence.ElementCollection"/>
			<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="generic2_0"/>
					</with>
				</and>
			</enablement>
		</provider>
		
	</extension>
	
	
	<extension
		point="org.eclipse.jst.common.project.facet.core.legacyLibraryProviderDetectors">
		
		<detector
			class="org.eclipse.jpt.core.internal.facet.LegacyJpaLibraryProviderDetector"/>
		
	</extension>
	
	
	<extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
		
		<provider id="eclipselink-102-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
			<label>EclipseLink 1.0.x</label>
				<param name="container.label" value="EclipseLink 1.0.x"/>
				<param name="bundle.0" value="javax.persistence:[1.0.0, 2.0.0)"/>
				<param name="bundle.1" value="org.eclipse.persistence.core:[1.0.0, 1.1.0)"/>
				<param name="bundle.2" value="org.eclipse.persistence.jpa:[1.0.0, 1.1.0)"/>
				<param name="bundle.3" value="org.eclipse.persistence.asm:[1.0.0, 1.1.0)"/>
				<param name="bundle.4" value="org.eclipse.persistence.antlr:[1.0.0, 1.1.0)"/>
			<enablement>
				<with variable="requestingProjectFacet">
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
				</with>
			</enablement>
		</provider>
		
		<provider id="eclipselink-110-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
			<label>EclipseLink 1.1.x</label>
				<param name="container.label" value="EclipseLink 1.1.x"/>
				<param name="bundle.0" value="javax.persistence:[1.99.0, 2.1.0)"/>
				<param name="bundle.1" value="org.eclipse.persistence.core:[1.1.0, 1.2.0)"/>
				<param name="bundle.2" value="org.eclipse.persistence.jpa:[1.1.0, 1.2.0)"/>
				<param name="bundle.3" value="org.eclipse.persistence.asm:[1.1.0, 1.2.0)"/>
				<param name="bundle.4" value="org.eclipse.persistence.antlr:[1.1.0, 1.2.0)"/>
			<enablement>
				<with variable="requestingProjectFacet">
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
				</with>
			</enablement>
		</provider>
		
		<provider id="eclipselink-120-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
			<label>EclipseLink 1.2.x</label>
				<param name="container.label" value="EclipseLink 1.2.x"/>
				<param name="bundle.0" value="javax.persistence:[1.99.0, 2.1.0)"/>
				<param name="bundle.1" value="org.eclipse.persistence.core:[1.2.0, 1.3.0)"/>
				<param name="bundle.2" value="org.eclipse.persistence.jpa:[1.2.0, 1.3.0)"/>
				<param name="bundle.3" value="org.eclipse.persistence.asm:[1.2.0, 1.3.0)"/>
				<param name="bundle.4" value="org.eclipse.persistence.antlr:[1.2.0, 1.3.0)"/>
			<enablement>
				<with variable="requestingProjectFacet">
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
				</with>
			</enablement>
		</provider>
		
		<provider id="eclipselink-200-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
			<label>EclipseLink 2.0.x</label>
				<param name="container.label" value="EclipseLink 2.0.x"/>
				<param name="bundle.0" value="javax.persistence:[2.0.0, 2.1.0)"/>
				<param name="bundle.1" value="org.eclipse.persistence.core:[2.0.0, 2.1.0)"/>
				<param name="bundle.2" value="org.eclipse.persistence.jpa:[2.0.0, 2.1.0)"/>
				<param name="bundle.3" value="org.eclipse.persistence.asm:[2.0.0, 2.1.0)"/>
				<param name="bundle.4" value="org.eclipse.persistence.antlr:[2.0.0, 2.1.0)"/>
			<enablement>
				<with variable="requestingProjectFacet">
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
				</with>
			</enablement>
		</provider>
		
		<provider id="eclipselink-210-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
			<label>EclipseLink 2.1.x</label>
				<param name="container.label" value="EclipseLink 2.1.x"/>
				<param name="bundle.0" value="javax.persistence:[2.0.0, 2.1.0)"/>
				<param name="bundle.1" value="org.eclipse.persistence.core:[2.1.0, 2.2.0)"/>
				<param name="bundle.2" value="org.eclipse.persistence.jpa:[2.1.0, 2.2.0)"/>
				<param name="bundle.3" value="org.eclipse.persistence.asm:[2.1.0, 2.2.0)"/>
				<param name="bundle.4" value="org.eclipse.persistence.antlr:[2.1.0, 2.2.0)"/>
			<enablement>
				<with variable="requestingProjectFacet">
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
				</with>
			</enablement>
		</provider>
		
	</extension>
	
	
	<!-- ***** WTP extensions ***** -->

	<extension
		point="org.eclipse.wst.common.modulecore.resourceFactories">
		
		<resourceFactory
			class="org.eclipse.jpt.core.resource.persistence.PersistenceXmlResourceFactory"
			isDefault="true">
			<contentTypeBinding
				contentTypeId="org.eclipse.jpt.core.content.persistence">
			</contentTypeBinding>
		</resourceFactory>
		
		<resourceFactory
			class="org.eclipse.jpt.core.resource.orm.OrmXmlResourceFactory"
			isDefault="true">
			<contentTypeBinding
				contentTypeId="org.eclipse.jpt.core.content.orm">
			</contentTypeBinding>
		</resourceFactory>
		
	</extension>
	
	
	<extension 
		point="org.eclipse.wst.common.project.facet.core.groups">
		
		<group id="jpa-prereqs">
			<label>%JPA_PREREQ_GROUP_LABEL</label>
			<description>The set of facets that each fulfill JPA prerequisites</description>
			<include facet="jst.utility" versions="[1.0"/>
			<include facet="jst.appclient" versions="[1.2"/>
			<include facet="jst.ejb" versions="[1.1"/>
			<include facet="jst.connector" versions="[1.0"/>
			<include facet="jst.web" versions="[2.2"/>
		</group>
		
	</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"/>
					<requires group="jpa-prereqs"/>
				</and>
			</constraint>
		</project-facet-version>
		
		<project-facet-version facet="jpt.jpa" version="2.0">
			<constraint>
				<and>
					<requires facet="jst.java" version="[5.0"/>
					<requires group="jpa-prereqs"/>
				</and>
			</constraint>
		</project-facet-version>
		
		<template id="jpt.jpa.template">
			<label>%JPA_TEMPLATE_LABEL</label>
			<fixed facet="jpt.jpa"/>
			<fixed facet="jst.java"/>
			<fixed facet="jst.utility"/>
			<preset id="jpt.jpa.2_0.preset"/>
		</template>
		
		<action facet="jpt.jpa" type="install" id="jpt.jpa.install">
			<config-factory class="org.eclipse.jpt.core.internal.facet.JpaFacetInstallDataModelProvider"/>
			<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>
		
		<!-- 
			The version change  
		-->
		<action facet="jpt.jpa" type="version-change" id="jpt.jpa.version-change">
			<config-factory class="org.eclipse.jpt.core.internal.facet.JpaFacetVersionChangeDataModelProvider"/>
			<delegate class="org.eclipse.jpt.core.internal.facet.JpaFacetVersionChangeDelegate"/>
		</action>
		
	</extension>
	
	
	<extension
		point="org.eclipse.wst.common.project.facet.core.listeners">
		
		<listener
			class="org.eclipse.jpt.core.internal.facet.RuntimeChangedListener"
			eventTypes="TARGETED_RUNTIMES_CHANGED"/>
		
	</extension>
	
	
	<extension
		point="org.eclipse.wst.common.project.facet.core.presets">
		
		<static-preset id="jpt.jpa.1_0.preset">
			<label>%JPA_1.0_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>
		
		<static-preset id="jpt.jpa.2_0.preset">
			<label>%JPA_2.0_PRESET_LABEL</label>
			<facet id="jst.java" version="6.0"/>
			<facet id="jst.utility" version="1.0"/>
			<facet id="jpt.jpa" version="2.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.validatorV2"
		id="jpaValidator"
		name="%JPA_VALIDATOR">
		
		<validator
			class="org.eclipse.jpt.core.internal.validation.JpaValidator">
			<include>
				<rules>
					<facet id="jpt.jpa"/>
				</rules>
			</include>
			<include>
				<rules>
					<contentType id="org.eclipse.jdt.core.javaSource"/>
					<contentType id="org.eclipse.jpt.core.content.jar"/>
					<contentType id="org.eclipse.jpt.core.content.baseJpaContent" exactMatch="false"/>
				</rules>
			</include>
		</validator>
		
	</extension>
	
</plugin>

Back to the top