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

   <extension
         point="org.eclipse.jpt.ui.jpaPlatform">
      <jpaPlatform
            class="org.eclipse.jpt.eclipselink.ui.internal.platform.EclipseLinkJpaPlatformUI"
            id="org.eclipse.eclipselink.platform">
      </jpaPlatform>
   </extension>
   
   
   <extension
		point="org.eclipse.ui.newWizards">
		
		<category
			id="org.eclipse.jpt.eclipselink"
			name="%eclipseLinkWizardCategoryName"
			parentCategory="org.eclipse.jpt"/>
		
		<wizard
            id="org.eclipse.jpt.eclipselink.ui.wizard.newEclipseLinkMappingFile"
			name="%newEclipseLinkMappingFileWizardName"
			icon="platform:/plugin/org.eclipse.jpt.ui/icons/full/etool16/new_jpa_file_wiz.gif"
			category="org.eclipse.jpt/org.eclipse.jpt.eclipselink">
			<description>%newEclipseLinkJpaMappingFileWizardDesc</description>
			<class class="org.eclipse.jpt.eclipselink.ui.internal.wizards.EclipseLinkMappingFileWizard"> 
				<parameter name="javaeeartifact" value="true"/> 
				<parameter name="menuIndex" value="40" /> 
				<parameter name="jptartifact" value="true"/> 
			</class> 
		</wizard>
      
	</extension>


	<extension
		point="org.eclipse.ui.navigator.navigatorContent">
        <commonWizard
              menuGroupId="org.eclipse.jpt.ui"
              type="new"
              wizardId="org.eclipse.jpt.eclipselink.ui.wizard.newEclipseLinkMappingFile">
           <enablement>
              <and>
                 <or>
                    <instanceof
                          value="org.eclipse.core.resources.IProject">
                    </instanceof>
                    <instanceof
                          value="org.eclipse.jdt.core.IPackageFragmentRoot">
                    </instanceof>
                    <instanceof
                          value="org.eclipse.jdt.core.IPackageFragment">
                    </instanceof>
                    <instanceof
                          value="org.eclipse.core.resources.IFolder">
                    </instanceof>
                 </or>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jpt.jpa">
                 </test>
                 <test
                       property="org.eclipse.jpt.core.jptPlatform"
                       value="org.eclipse.eclipselink.platform">
                 </test>
              </and>
           </enablement>
        </commonWizard>
			
			<!--
			
			<commonSorter
				id="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter"
				class="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter" />
			
			-->
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.perspectiveExtensions">
		
		<perspectiveExtension
			targetID="org.eclipse.jpt.ui.jpaPerspective">
			<newWizardShortcut
				id="org.eclipse.jpt.eclipselink.ui.wizard.newEclipseLinkMappingFile">
			</newWizardShortcut>
		</perspectiveExtension>
		
	</extension>
	
</plugin>
